aboutsummaryrefslogtreecommitdiff
path: root/citations.tex
blob: addb4ecc3481f184c4aa519438d4063ca1fcfe32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
\long\edef\citations{}
\long\def\newcitation#1{%
  \long\edef\citations{
  \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%
  (\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}%
  \citations%
}