diff --git a/.latexmkrc b/.latexmkrc index e747dff..c9793c8 100644 --- a/.latexmkrc +++ b/.latexmkrc @@ -3,4 +3,19 @@ $pdf_mode = 5; $bibtex_use = 2; -$clean_ext = "%R-blx.bib %R-blx.aux"; +$clean_ext = "run.xml %R-blx.bib %R-blx.aux ist xdy"; + +# Rule to generate glossaries +add_cus_dep('glo', 'gls', 0, 'run_makeglossaries'); +add_cus_dep('acn', 'acr', 0, 'run_makeglossaries'); + +sub run_makeglossaries { + if ( $silent ) { + system "makeglossaries -q '$_[0]'"; + } + else { + system "makeglossaries '$_[0]'"; + }; +} +push @generated_exts, 'glo', 'gls', 'glg'; +push @generated_exts, 'acn', 'acr', 'alg'; diff --git a/assets/acronyms.tex b/assets/acronyms.tex new file mode 100644 index 0000000..99ecdc5 --- /dev/null +++ b/assets/acronyms.tex @@ -0,0 +1 @@ +% \newacronym[see={[Glossary:]{gls-api}}]{api}{API}{Application Programming Interface\glsadd{gls-api}} diff --git a/assets/glossary.tex b/assets/glossary.tex new file mode 100644 index 0000000..373856e --- /dev/null +++ b/assets/glossary.tex @@ -0,0 +1,10 @@ +% Note: glossary entries for terms that are acronyms should be prefixed 'gls-' +% so the non-prefixed reference is used to refer to the acronym + +% \newglossaryentry{gls-api}{ +% name={API}, +% description={An Application Programming Interface (API) is a particular set +% of rules and specifications that a software program can follow to access and +% make use of the services and resources provided by another particular software +% program that implements that API}, +% } diff --git a/assets/packages.tex b/assets/packages.tex index 89d9983..486d5ff 100644 --- a/assets/packages.tex +++ b/assets/packages.tex @@ -4,3 +4,7 @@ % References \usepackage{biblatex} + +% Glossary / Acronyms +\usepackage[acronym]{glossaries} +\makeglossaries diff --git a/dekker_thesis.tex b/dekker_thesis.tex index 52d9428..23878af 100644 --- a/dekker_thesis.tex +++ b/dekker_thesis.tex @@ -1,13 +1,18 @@ \nonstopmode \documentclass{scrbook} +\title{A Modern Architecture for High-Level Constraint Modelling Languages} +\author{Jip J. Dekker} + \input{assets/packages.tex} +% Bibliography preamble \addbibresource{assets/bibliography/references.bib} \addbibresource[label=ownpubs]{assets/bibliography/dekker_publications.bib} -\title{A Modern Architecture for High-Level Constraint Modelling Languages} -\author{Jip J. Dekker} +% Glossary / Acronym preamble +\input{assets/glossary.tex} +\input{assets/acronyms.tex} \begin{document} @@ -25,7 +30,7 @@ Publications arising from this thesis include: \printbibliography[heading=none] \end{refsection} -\mainmatter +\mainmatter{} \include{chapters/1_introduction} \include{chapters/2_background} \include{chapters/3_paradigms} @@ -33,8 +38,11 @@ Publications arising from this thesis include: \include{chapters/5_half_reif} \include{chapters/6_incremental} -\backmatter +\backmatter{} -\printbibliography +\printbibliography{} + +\printglossary[type=\acronymtype]{} +\printglossary{} \end{document}