From 9cd5cf15f8c54932ff9ddd8ac469fdedd9b5f9df Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Mon, 9 Jul 2018 13:06:16 +0100 Subject: [PATCH] doc/: A bibliography! With citations! Currently this uses pieces of Nelson Beebe's computer science bibliography directly. At some point I'll extract the pieces I need. --- .gitignore | 2 ++ doc/Makefile.am | 1 + doc/concepts.tex | 2 +- doc/sod.tex | 4 ++++ doc/structures.tex | 2 +- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0a2a9ed..7460dbb 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,8 @@ *.aux *.ind *.idx +*.bbl +*.blg _region_.tex Makefile.in /COPYING diff --git a/doc/Makefile.am b/doc/Makefile.am index 4a31b70..5882527 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -75,6 +75,7 @@ EXTRA_DIST += sod.pdf doc_DATA += sod.pdf sod.pdf: $(TEX_FILES) cd $(srcdir) && pdflatex $(TEXFLAGS) sod.tex + bibtex sod.aux cd $(srcdir) && pdflatex $(TEXFLAGS) sod.tex makeindex sod.idx cd $(srcdir) && pdflatex $(TEXFLAGS) sod.tex diff --git a/doc/concepts.tex b/doc/concepts.tex index 46d8526..b074445 100644 --- a/doc/concepts.tex +++ b/doc/concepts.tex @@ -148,7 +148,7 @@ following properties are expected to hold. list, i.e., $B$ is a more specific superclass of $C$ than $A$ is. \end{itemize} The default linearization algorithm used in Sod is the \emph{C3} algorithm, -which has a number of good properties described in~\cite{FIXME:C3}. +which has a number of good properties described in~\cite{Barrett:1996:MSL}. It works as follows. \begin{itemize} \item A \emph{merge} of some number of input lists is a single list diff --git a/doc/sod.tex b/doc/sod.tex index a92d3ac..6c59c91 100644 --- a/doc/sod.tex +++ b/doc/sod.tex @@ -51,6 +51,7 @@ \makeindex \let\indexstheadcase\relax +\bibliographystyle{mdwalpha} \title{A Sensible Object Design for C} \author{Mark Wooding} @@ -164,6 +165,9 @@ %%%-------------------------------------------------------------------------- \backmatter +\bibliography{% + isostd,% + sigplan1990} \printindex %%%----- That's all, folks -------------------------------------------------- diff --git a/doc/structures.tex b/doc/structures.tex index a36ae82..1014cbd 100644 --- a/doc/structures.tex +++ b/doc/structures.tex @@ -410,7 +410,7 @@ and this is followed by corresponding members \end{prog} for each of $C$'s superclasses $A$ in the same chain in some (unimportant) order. The (somewhat obtuse) purpose of this union is to engage the `common -initial sequence' rule of \cite[6.5.2.3]{FIXME:C99}. +initial sequence' rule of \cite[6.5.2.3]{ISO:1990:IIP,ANSI:1999:AII}. \subsubsection{The ichain structure} The @|ichain| structure contains (in order), a pointer -- 2.11.0