aboutsummaryrefslogtreecommitdiff
path: root/citations.tex
diff options
context:
space:
mode:
authorHolden Rohrer <hdawg7797@yahoo.com>2019-07-30 13:13:05 -0400
committerHolden Rohrer <hdawg7797@yahoo.com>2019-07-30 13:13:05 -0400
commitd55019e9356e13967cba1bf70521f3a5ef23bea9 (patch)
tree8a595fa9f152d873809aa5d1e1321bc5c90aa9c6 /citations.tex
parenta8d1c9fc12789bf8e61e8221cb07451896314835 (diff)
alphabetization trial
Diffstat (limited to 'citations.tex')
-rw-r--r--citations.tex53
1 files changed, 53 insertions, 0 deletions
diff --git a/citations.tex b/citations.tex
index e69de29..12ea915 100644
--- a/citations.tex
+++ b/citations.tex
@@ -0,0 +1,53 @@
+\long\edef\citations{}
+\long\def\newcitation#1#2{%
+ \long\edef\citations{{#2}%allows alphabetization by including sanitized relevant data
+ \hangafter=-1 \hangindent=0.5in%hanging indents must be inserted every paragraph
+ \citations\par #1}%
+}
+\def\cite#1{%the actual citation request made by users
+ \def\cltitle{}\def\clcontain{}%"clean" data intended for alphabetization in bibliography
+ \def\ifnameinline{\iffalse}\def\nameinline{\def\ifnameinline{\iftrue}}%
+ \def\ifnewcite{\iffalse}\def\newcite{\def\ifnewcite{\iftrue}}%
+ \def\ifusetitle{\iffalse}\def\usetitle{\def\ifusetitle{\iftrue}}%
+ \def\@last{}\def\@namedisp{}\def\name##1##2{\def\@last{##1}\def\@namedisp{\ifx\@title\empty ##2.\fi}}%takes a last name and how names ought display, allowing multiple authors
+ \def\@title{}\def\title##1{\def\@title{``##1.''}\def\cltitle{##1}}%individual source like chapter or webpage
+ \def\@contain{}\def\contain##1{\def\@contain{ {\twelveit ##1}\ifx\@title\empty .\else, by \@namedisp \comma \fi}\def\clcontain{##1}}%container (book contains chapter)
+ \def\@contrib{}\def\contrib##1{\def\@contrib{ ##1\comma}}%other contributors with roles
+ \def\@version{}\def\version##1{\def\@version{ ##1\comma}}%version, if notable or unique
+ \def\@relnums{}\def\relnums##1{\def\@relnums{ ##1\comma}}%relevant numbers like journal issue or volume number
+ \def\@publish{}\def\publish##1{\def\@publish{ ##1\comma}}%publisher
+ \def\@pubdate{}\def\pubdate##1{\def\@pubdate{ ##1\comma}}%publication date
+ \def\@locator{}\def\locator##1{\def\@locator{ ##1}}%page numbers or web address
+ \def\@pagenum{}\def\pagenum##1{\def\@pagenum{##1}}%page number, as relevant to inline citations
+ \countdef\commas=11\count11=0%
+ #1%
+ \ifx\@contrib\empty \else \advance \commas by 1\fi%
+ \ifx\@version\empty \else \advance \commas by 1\fi%
+ \ifx\@relnums\empty \else \advance \commas by 1\fi%
+ \ifx\@publish\empty \else \advance \commas by 1\fi%
+ \ifx\@pubdate\empty \else \advance \commas by 1\fi%
+ \ifx\@locator\empty \else \advance \commas by 1\fi%
+ \def\comma{\advance\commas by -1 \noexpand\ifnum\noexpand\commas>0 ,\noexpand\fi}%
+ \ifnewcite\newcitation{\@namedisp \@title \@contain \@contrib \@version \@relnums \@publish \@pubdate \@locator.}\fi{\@namedisp\cltitle\clcontain}\fi%
+ (\ifnameinline
+ \ifx\@last\empty
+ \@title
+ \else
+ \@last
+ \fi
+ \fi \@pagenum)%
+}
+
+\long\def\biblio{ %generates a bibliography
+ \vfil \eject %prints all previous pages and starts bibliography
+ \line{\hfil Works Cited \hfil}%
+ %%Alphabetization
+ \immediate\openout0=sort.tex%
+ \immediate\write0{\citations}%
+ \immediate\closeout0
+ \immediate\write18{python3 sort.py}%sort sort.tex alphabetically by the first group (also remove first group)
+ \immediate\openin0=sort.tex
+ \immediate\read0 to \data
+ \immediate\data
+ \immediate\closein0
+}