diff options
author | Holden Rohrer <hdawg7797@yahoo.com> | 2019-07-30 13:13:05 -0400 |
---|---|---|
committer | Holden Rohrer <hdawg7797@yahoo.com> | 2019-07-30 13:13:05 -0400 |
commit | d55019e9356e13967cba1bf70521f3a5ef23bea9 (patch) | |
tree | 8a595fa9f152d873809aa5d1e1321bc5c90aa9c6 /citations.tex | |
parent | a8d1c9fc12789bf8e61e8221cb07451896314835 (diff) |
alphabetization trial
Diffstat (limited to 'citations.tex')
-rw-r--r-- | citations.tex | 53 |
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 +} |