\RequirePackage[utf8]{inputenc} % remove when using lualatex oder xelatex! \RequirePackage{hgbpdfa} % Creates a PDF/A-2b compliant document \documentclass[english]{hgbarticle} %%%---------------------------------------------------------- \begin{document} %%%---------------------------------------------------------- \title{The \textsf{hagenberg-thesis} Package} \date{\hgbDate} \author{W.\ Burger and W.\ Hochleitner\\[10pt] University of Applied Sciences Upper Austria\\ Department of Digital Media, Hagenberg (Austria)} %%%---------------------------------------------------------- \maketitle %%%---------------------------------------------------------- \begin{abstract}\noindent The \textsf{hagenberg-thesis} package is a collection of modern LaTeX templates for university theses (bachelor, master, diploma or PhD programs) and related documents. This manual describes the main features of this package and how they may be customized. Pre-configured document templates for English and German manuscripts and a complete tutorial are available on the package's home repository. \end{abstract} \clearpage \tableofcontents \clearpage \section{Introduction} The complete source of this package and auxiliary materials are available on CTAN% \footnote{\url{https://ctan.org/pkg/hagenberg-thesis}} and its development repository.% \footnote{\url{https://github.com/Digital-Media/HagenbergThesis}} The package is made available under the terms of the Creative Commons Attribution 4.0 International Public License.% \footnote{\url{https://creativecommons.org/licenses/by/4.0/legalcode}} \section{Document classes} The \texttt{hgb} package provides the following document classes, which are based on the standard \latex\ classes \texttt{book}, \texttt{report}, and \texttt{article}, respectively: % \begin{itemize} \item \textbf{\texttt{hgbthesis}} (\texttt{book}): for bachelor's, master's, diploma, and PhD theses, \item \textbf{\texttt{hgbreport}} (\texttt{report}): for project and term reports, \item \textbf{\texttt{hgbarticle}} (\texttt{article}): for drafting journal articles. \end{itemize} \subsection{Class options} \subsubsection{General options} All document classes accept the following general options: % \begin{itemize} \item \texttt{english}|\texttt{german}: specifies the main document language,% \footnote{With class \texttt{hgbthesis} this is equivalent to \texttt{language=english|german}.} \item \texttt{oneside}|\texttt{twoside}: document layout (default is \texttt{oneside}), \item \texttt{smartquotes}: use smart quotes replacement (\verb!"!...\verb!"! $\rightarrow$ ``...''), \item \texttt{apa} (use \texttt{apa} bibliography style instead of \texttt{numeric-comp}), \item \texttt{noUpdateCheck} (suppress check of package release date). \end{itemize} \subsubsection{Class-specific options} In addition, the following class-specific options are accepted: \noindent\textbf{\texttt{hgbthesis}}: \begin{itemize} \item \texttt{type=}% \{\texttt{bachelor}|\texttt{master}|\texttt{diploma}|\texttt{phd}|\texttt{internship}|\texttt{custom}\}: thesis type, \item \texttt{language=}\{\texttt{english}|\texttt{german}\}: main document language,% \footnote{Note: The \texttt{german} option implicitly loads Babel's \texttt{ngerman} setup. When switching languages (see Sec.~\ref{sec:LanguageSwitchingCommands}) only \texttt{german} should be used.} \item \texttt{titlelanguage=}\{\texttt{english}|\texttt{german}\}: language on title pages, defaults to main document language if omitted, \item \texttt{proposal}: flag to indicate proposal documents. \end{itemize} \noindent\textbf{\texttt{hgbreport}}: \begin{itemize} \item \texttt{notitlepage}: no separate title page. \end{itemize} \noindent\textbf{\texttt{hgbarticle}}: \begin{itemize} \item \texttt{twocolumn}: two-column page layout, \item \texttt{review}: review mode with line numbers. \end{itemize} \noindent For example, to start a master's thesis in German, simply place % \begin{LaTeXCode}[numbers=none] \documentclass[type=master,language=german,smartquotes]{hgbthesis} \end{LaTeXCode} % at the beginning of the document. The \texttt{proposal} option is intended for a \emph{thesis proposal} (``Exposé'' or ``Proposal'' ) and is only effective in \emph{conjunction} with the main thesis types, \eg, % \begin{LaTeXCode}[numbers=none] \documentclass[type=bachelor,language=english,titlelanguage=german,proposal]{hgbthesis} \end{LaTeXCode} % The result is a short exposé that contains only one chapter. Thus, chapter numbers are not displayed. Remove the \texttt{proposal} option to migrate a proposal document straight to the final thesis (and restore the usual numbering scheme). The example also shows that the main document language (\texttt{language=english}) and the language on the title page (\texttt{titlelanguage=german}) can be set independently. \subsection{Thesis settings (class \texttt{hgbthesis})} \texttt{hgbthesis} supports several types of thesis documents. The following parameters must be specified at the beginning of the main document: % \begin{itemize} \item \verb!\title{...}!, \item \verb!\subtitle{...}! (optional), \item \verb!\author{...}!, \item \verb!\programtype{...}! (optional), \item \verb!\programname{...}!, \item \verb!\institution{...}!, \item \verb!\placeofstudy{...}!, \item \verb!\dateofsubmission{yyyy}{mm}{dd}!, \item \verb!\advisor[]{...}! (optional, multiple \verb!\advisor! statements allowed), \end{itemize} % Note that \texttt{hgbthesis} only supports a \emph{single author} inside the \verb!\author{...}! macro argument (commands \verb!\and! and \verb!\thanks{...}! are deactivated)! The command \verb!\advisor[role]{name}! accepts an optional argument to associate a \emph{role} with the advisor's \emph{name}, \eg, \verb!\advisor[Supervisor]{Prof.~Marie Curie, PhD}!. Multiple advisors can be specified, for example % \begin{LaTeXCode}[numbers=none] \advisor[1.~Betreuerin]{Professor Frida K.~Putnik, PhD} \advisor[2.~Betreuer]{Franz Grillparzer, TU Wien} \advisor[Gutachter]{Dr.~B.\,Rutal, MIT} \end{LaTeXCode} \noindent Other (optional) settings for \texttt{hgbthesis} include: \begin{itemize} \item \verb!\license{cc|strict}!: Use the \emph{Creative Commons License} (\texttt{cc} = default) or strict license terms (``all rights reserved''). \item \verb!\logofile{xxx.pdf}!: %Specifies a custom logo image for the title page, to be placed in \verb!images/xxx.pdf! %(default is \texttt{logo.pdf}). This command is \textbf{deprecated} -- the thesis logo should be specified in the associated \emph{theme} file instead (see Sec.~\ref{sec:Themes}). \end{itemize} \section{Style files and user commands} The package comes with a set of style (\texttt{*.sty}) files that can be used independently of the document classes listed above: \begin{itemize} \item \texttt{hgb.sty}: language and date setup, custom commands; \item \texttt{hgbabbrev.sty}: various abbreviation macros; \item \texttt{hgbalgo.sty}: additions to \texttt{algpseudocodex} package; \item \texttt{hgbbib.sty}: bibliography setup; \item \texttt{hgbdict.sty}: language dictionary functions; \item \texttt{hgbheadings.sty}: definition of page headers; \item \texttt{hgblistings.sty}: setup for code listings; \item \texttt{hgbmath.sty}: setup and commands for math typesetting; \item \texttt{hgbpdfa.sty}: setup for PDF/A generation. \end{itemize} \subsection{General user commands and environments (\texttt{hgb.sty})} \label{sec:GeneralUserCommands} \begin{itemize} \item \textbf{\texttt{{\bs}hgbDate}}: Outputs the package version date, \eg, ``\texttt{\hgbDate}''. \item \textbf{\texttt{{\bs}getcurrentlabel}}: Yields the most recently assigned label number. \item \textbf{\texttt{{\bs}calibrationbox}}\verb!{width}{height}!: Inserts a test box for checking the final print size (in millimeters). \item \verb!\begin{block}...\end{block}!: Dummy environment, provides a limited scope for variable/command redefinitions. \end{itemize} \subsection{Language switching commands and smart quotes (\texttt{hgb.sty})} \label{sec:LanguageSwitchingCommands} \begin{itemize} \item \verb!\SetLanguage{}!: Switches to the specified language. This and the other language switching commands listed below also refresh the \texttt{smartquotes} settings (if activated). \item \verb!\begin{SwitchLanguage}{}...\end{SwitchLanguage}!: Temporarily switches to the specified language and reverts to the current language afterwards. \item \verb!\begin{english}...\end{english}!: Temporarily switches to English language settings, short for \verb!\begin{SwitchLanguage}{english}..!. \item \verb!\begin{german}...\end{german}!: Temporarily switches to German language settings, short for \verb!\begin{SwitchLanguage}{german}..!. \item \verb!\SmartquotesActive!: For debugging only. Returns \texttt{true}/\texttt{false} if smart quotes are activated in the current context (or an appropriate message if the \texttt{csquotes} package was not loaded at all). \end{itemize} \subsection{Text commands (\texttt{hgbabbrev.sty})} \subsubsection*{Special characters:} \begin{itemize} \item \textbf{\texttt{{\bs}bs}}: Inserts a backslash character (short for \verb!\textbackslash!). \item \textbf{\texttt{{\bs}obnh}}: Inserts an optional break with no hyphen (\eg, \verb!PlugIn{\obnh}Filter!). \end{itemize} \subsubsection*{German abbreviations:} \begin{itemize} \item \textbf{\texttt{{\bs}bzgl}}: \bzgl \item \textbf{\texttt{{\bs}bzw}}: \bzw \item \textbf{\texttt{{\bs}ca}}: \ca \item \textbf{\texttt{{\bs}dah}}: \dah \item \textbf{\texttt{{\bs}Dah}}: \Dah \item \textbf{\texttt{{\bs}ds}}: \ds \item \textbf{\texttt{{\bs}etc}}: \etc \item \textbf{\texttt{{\bs}evtl}}: \evtl \item \textbf{\texttt{{\bs}ia}}: \ia \item \textbf{\texttt{{\bs}oa}}: \oa \item \textbf{\texttt{{\bs}sa}}: \sa \item \textbf{\texttt{{\bs}so}}: \so \item \textbf{\texttt{{\bs}su}}: \su \item \textbf{\texttt{{\bs}ua}}: \ua \item \textbf{\texttt{{\bs}Ua}}: \Ua \item \textbf{\texttt{{\bs}uae}}: \uae \item \textbf{\texttt{{\bs}usw}}: \usw \item \textbf{\texttt{{\bs}uva}}: \uva \item \textbf{\texttt{{\bs}uvm}}: \uvm \item \textbf{\texttt{{\bs}va}}: \va \item \textbf{\texttt{{\bs}vgl}}: \vgl \item \textbf{\texttt{{\bs}zB}}: \zB \item \textbf{\texttt{{\bs}ZB}}: \ZB \end{itemize} \subsubsection*{English abbreviations:} \begin{itemize} \item \textbf{\texttt{{\bs}ie}}: \ie \item \textbf{\texttt{{\bs}eg}}: \eg \item \textbf{\texttt{{\bs}etc}}: \etc \item \textbf{\texttt{{\bs}Eg}}: \Eg \item \textbf{\texttt{{\bs}wrt}}: \wrt \end{itemize} \noindent Note that none of the above abbreviation macros ``eats'' subsequent white space, \ie, they can be used without additional controls, as in ``\verb!\wrt what I said!'', for example. \subsection{Bibliography commands (\texttt{hgbbib.sty})} \begin{itemize} \item \textbf{\texttt{{\bs}AddBibFile}}\newline A wrapper to \texttt{biblatex}'s \verb!\addbibresource! macro (for backward compatibility only). \item \textbf{\texttt{{\bs}MakeBibliography}}[\emph{options}] \newline Inserts the reference section or chapter. By default, references are automatically split into category subsections.% \footnote{Predefined reference categories are \texttt{literature}, \texttt{avmedia}, \texttt{online} and \texttt{software}.} Use the option \texttt{nosplit} to produce a traditional (\ie, contiguous) list of references. \item \textbf{\texttt{{\bs}mcite}}% [\emph{text1}]\{\emph{key1}\}% [\emph{text2}]\{\emph{key2}\}% \ldots [\emph{textN}]\{\emph{keyN}\}% \newline Analogous to \texttt{bib\-la\-tex}'s \texttt{{\bs}cites} command% \footnote{% \url{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf} (see Sec.~3.8.3)} but inserts semicolons between reference entries for better readability. \end{itemize} % \MakeBibliography ... creates a reference section split subsections (default) % \MakeBibliography[nosplit] ... creates a one-piece reference section \subsection{Code environments (\texttt{hgblistings.sty})} The following types of code environments are defined:% % \begin{itemize} \item \textbf{\texttt{CCode}}: for C (ANSI), \item \textbf{\texttt{CppCode}}: for C++ (ISO), \item \textbf{\texttt{CsCode}}: for C\#, \item \textbf{\texttt{CssCode}}: for CSS, \item \textbf{\texttt{GenericCode}}: for generic code, \item \textbf{\texttt{HtmlCode}}: for HTML, \item \textbf{\texttt{JavaCode}}: for Java, \item \textbf{\texttt{JsCode}}: for JavaScript, \item \textbf{\texttt{LaTeXCode}}: for \latex, \item \textbf{\texttt{ObjCCode}}: for ObjectiveC, \item \textbf{\texttt{PhpCode}}: for PHP, \item \textbf{\texttt{PythonCode}}: for Python, \item \textbf{\texttt{ScalaCode}}: for Scala, \item \textbf{\texttt{Swift}}: for Swift, \item \textbf{\texttt{XmlCode}}: for XML. \end{itemize} % \texttt{hgblistings} is based on the \texttt{listingsutf8}% \footnote{\url{https://ctan.org/pkg/listingsutf8}} package, thus any valid \texttt{listings}% \footnote{\url{https://ctan.org/pkg/listings}} option may be used; for example, the option \texttt{numbers=none} to suppress line numbers: % \begin{LaTeXCode}[numbers=none] \begin{JavaCode}[numbers=none] ... // Java code comes here \end{JavaCode} \end{LaTeXCode} \subsection{Mathematical commands (\texttt{hgbmath.sty})} \texttt{hgbmath} requires (and automatically loads) the \texttt{amsmath}% \footnote{\url{https://ctan.org/pkg/amsmath}} package, thus, all commands and symbols of \texttt{amsmath} are available by default. The following \emph{additional} commands can only be used in math mode: % \begin{itemize} \item \textbf{\texttt{{\bs}Cpx}}: $\Cpx$ (complex numbers), \item \textbf{\texttt{{\bs}N}}: $\N$ (natural numbers), \item \textbf{\texttt{{\bs}R}}: $\R$ (real numbers), \item \textbf{\texttt{{\bs}Q}}: $\Q$ (rational numbers), \item \textbf{\texttt{{\bs}Z}}: $\Z$ (integer numbers). \end{itemize} \subsection{Algorithms (\texttt{hgbalgo.sty})} \texttt{hgbalgo} is a stand-alone package that is based on -- and extends -- the \texttt{algorithmicx} and \texttt{algpseudocodex} packages.% \footnote{\url{https://ctan.org/pkg/algorithmicx}, \url{https://ctan.org/pkg/algpseudocodex}} It fixes some (mostly indentation-related) problems, adds color, and provides some additional commands. It also loads the \texttt{algorithm}% \footnote{\url{https://ctan.org/pkg/algorithms}} package, which defines a compatible float container for algorithms: \verb!\begin{algorithm}! \verb!...! \verb!\end{algorithm}!. \paragraph{Additional algorithm commands:} \begin{itemize} \item \textbf{\texttt{{\bs}StateNN[]\{\}}}: Creates a \emph{non-numbered} statement like \texttt{algo\-rith\-micx}'s \verb!\Statex! command but provides controlled indentation inside nested constructs. The optional integer argument \verb!! can be used to specify the \emph{nesting depth} to compensate for a bug in \texttt{algorithmicx} (the nesting level inside a block is not set properly before the first \verb!\State! command). Omitting the optional argument should give correct indentation in most situations. \item \textbf{\texttt{{\bs}Input\{\}}}: For describing the input parameters in a procedure's preamble. \item \textbf{\texttt{{\bs}Output\{\}}}: For describing the output values in a procedure's preamble. \item \textbf{\texttt{{\bs}Returns\{\}}}: For describing the return values in a procedure's preamble. \end{itemize} \paragraph{Vertical spacing commands:} The following commands are provided for fine-tuning the vertical spacing between individual statements of an algorithm (the standard spacing commands like \verb!\smallskip! \etc\ have no effect between statements):% \footnote{Note that the standard spacing commands work \emph{between} \texttt{procedure} and \texttt{function} blocks in the usual way.} \begin{itemize} \item \textbf{{\bs}\texttt{algsmallskip}}: inserts 3pt extra space, \item \textbf{{\bs}\texttt{algmedskip}}: inserts 6pt extra space, \item \textbf{{\bs}\texttt{algbigskip}}: inserts 12pt extra space. \end{itemize} They are supposed to be used inside (\ie, at the end of) statements, for example: % \begin{LaTeXCode}[numbers=none] \State $x \gets x + 1$ \algsmallskip \end{LaTeXCode} \paragraph{Defined algorithm colors:} \begin{itemize} \item \textbf{\texttt{AlgKeywordColor}}: for algorithm keywords, \item \textbf{\texttt{AlgProcedureColor}}: for procedure and function names. \end{itemize} These colors can be redefined at any time (see the \texttt{xcolor}% \footnote{\url{https://ctan.org/pkg/xcolor}} package), \eg, by \begin{LaTeXCode}[numbers=none] \definecolor{AlgKeywordColor}{named}{black} \definecolor{AlgProcedureColor}{rgb}{0.0, 0.5, 0.0} % dark green \end{LaTeXCode} \subsection{PDF/A generation (\texttt{hgbpdfa.sty})} Package \texttt{hgbpdfa} contains definitions for generating PDF/A-compliant (PDF/A-2b) output files. It is based on the \texttt{pdfmanagement-testphase} package (requires version 0.95s or higher) and must be loaded before the \verb!\documentclass! statement in the main document, for example, by \begin{LaTeXCode}[numbers=none] \RequirePackage{hgbpdfa} \end{LaTeXCode} If omitted, a plain PDF (non-PDF/A-compliant) file is generated. \section{Custom front pages using \emph{themes}} \label{sec:Themes} The content and structure of the front pages generated for the various thesis types (\texttt{bachelor}, \texttt{master} \etc) may be easily customized to meet the specific requirements of different institutions or departments. Note that this kind of customization is typically done at the institutional level and not by the individual author (student). \subsection{Preconfigured themes} The various front page arrangements are called \emph{themes} in the following. Each theme is identified by a unique \texttt{\textit{themeID}} and associated with a particular style file (\latex\ package) named \texttt{hgbtheme-\textit{themeID}.sty}. For example, the theme with \texttt{\textit{themeID}} = \texttt{default} is defined by the associated file \begin{itemize} \item[] \texttt{hgbtheme-default.sty}. \end{itemize} % Additional resources required by a theme (such as graphics files) must be named with the complete \emph{theme name} (\texttt{hgbtheme-\textit{themeID}}) as a prefix, for example,% \footnote{This is to avoid file name conflicts since themes are part of the CTAN distribution and thus all theme-related files will eventually end up in a single, flat directory.} \begin{itemize} \item[] \texttt{hgbtheme-default-logo.pdf} \end{itemize} % which contains the logo graphics used by that theme. To \emph{use} a specific theme, option \texttt{theme=\textit{themeID}} is added to the \verb!\documentclass! command, for example, \begin{itemize} \item[] \verb!\documentclass[theme=default,...]{hgbthesis}! \end{itemize} \subsection{Customizing themes} \label{sec:CustomizingThemes} To customize the title page setup to their needs, authors (or administrators) should \emph{not} modify any of the standard theme files, since these may not be local but loaded from a package distribution. There are two recommended ways instead: \subsubsection{Option 1: Adapt \texttt{hgbtheme-custom.sty}} Copy the theme file \texttt{hgbtheme-custom.sty} (which is part of this distribution) to the \emph{main document directory} (if not there already) and open it in your LaTeX editor. It defines \texttt{hgbtheme-default.sty} as the parent theme by the initial command \begin{LaTeXCode}[numbers=none] \hgb@UseTheme{default} \end{LaTeXCode} % All commands defined in the parent theme are visible and may be redefined, typically by \verb!\renewcommand! (see Sec.\ \ref{sec:ThemeStyleCommands} for available commands). To activate the associated theme simply use \texttt{custom} as the \texttt{\textit{themeID}} in the associated document option, \ie, % \begin{LaTeXCode}[numbers=none] \documentclass[theme=custom,...]{hgbthesis} \end{LaTeXCode} % This is the simplest approach if only a \emph{single} custom theme is needed. \subsubsection{Option 2: Create multiple custom themes} Thesis administrators may find it useful to define \emph{multiple} custom themes for their institution or department(s). For this purpose, simply copy file \texttt{hgbtheme-default.sty} or \texttt{hgbtheme-custom.sty} to a new file, \eg, \texttt{hgbtheme-physics.sty},% \footnote{To be placed in the main document directory. Note the naming conventions!} and modify it accordingly. The associated theme can then be invoked by % \begin{LaTeXCode}[numbers=none] \documentclass[theme=physics,...]{hgbthesis} \end{LaTeXCode} % An error will be raised if the associated \texttt{.sty} file cannot be found. \subsection{Commands and variables available to custom theme styles} \label{sec:ThemeStyleCommands} Any theme style must at least define the command \begin{itemize} \item[] \verb!\hgb@MakeFrontPages{..}! \end{itemize} which is pre-defined (as throwing an error) in \texttt{hgbthesis.cls} and invoked by \verb!\maketitle!. If \texttt{default} is used as the parent theme, \verb!\hgb@MakeFrontPages! is already set up properly and redefinition is optional, \ie, % \begin{LaTeXCode}[numbers=none] \hgb@UseTheme{default} % parent theme \renewcommand{\hgb@MakeFrontPages}{..} % optional \end{LaTeXCode} % \noindent Moreover, the following macros and variables are assured to be available for defining custom themes (see \texttt{hgbtheme-default.sty} for their typical usage). These are defined in \texttt{hgbthesis.cls} and should \emph{not} be redefined: % \begin{itemize} \item[] \verb!\hgb@Author! \item[] \verb!\hgb@Title! \item[] \verb!\hgb@SubTitle! \item[] \verb!\hgb@Institution! \item[] \verb!\hgb@ProgramType! \item[] \verb!\hgb@ProgramName! \item[] \verb!\hgb@PlaceOfStudy! \medskip \item[] \verb!\hgb@ThesisName! \item[] \verb!\hgb@ProposalName! \medskip \item[] \verb!\hgb@AdvisorCount! \item[] \verb!\hgb@getAdvisorRole{}! \item[] \verb!\hgb@getAdvisorName{}! \medskip \item[] \verb!\hgb@MainLanguage! \item[] \verb!\hgb@TitleLanguage! \item[] \verb!\hgb@TitlePageFont! %\item[] \verb!\hgb@LogoFile! \medskip %\item[] \verb!\hgb@Advisor! \item[] \verb!\hgb@SubmissionYear! \item[] \verb!\hgb@SubmissionMonth! \item[] \verb!\hgb@SubmissionDay! \item[] \verb!\hgb@GetMonthName{}{}! \medskip \item[] \verb!\hgb@License! \medskip \item[] \verb!hgb@IsProposal! (\emph{boolean}, without \verb!\!) \end{itemize} \noindent Class \texttt{hgbthesis.cls} also defines a special \emph{hook} \begin{itemize} \item[] \verb!hgb@InitThemeHook! \end{itemize} for adding custom initialization code for the current theme in the form % \begin{LaTeXCode}[numbers=none] \AddToHook{hgb@InitThemeHook}{}, \end{LaTeXCode} % typically placed at the beginning of the theme file. The collected code for this hook is executed immediately \emph{before} \verb!\maketitle!. In addition, theme \texttt{hgbtheme-default.sty} defines the following commands for generating individual title pages: % \begin{itemize} \item[] \verb!\hgb@MakeTitlePage! \item[] \verb!\hgb@MakeAdvisorPage! \item[] \verb!\hgb@MakeCopyrightPage! \item[] \verb!\hgb@MakeDeclarationPage! \end{itemize} % Each of these may be redefined by inheriting themes. \section{Package dependencies} \begin{sloppypar} The \texttt{hagenberg-thesis} package builds on the following \latex\ packages:\newline \texttt{abstract}, \texttt{algorithm}, \texttt{algorithmicx}, \texttt{algpseudocodex}, \texttt{amsbsy}, \texttt{amsfonts}, \texttt{amsmath}, \texttt{amssymb}, \texttt{babel}, \texttt{biblatex}, \texttt{breakurl}, \texttt{caption}, \texttt{cmap}, \texttt{csquotes}, \texttt{datetime2}, \texttt{enumitem}, \texttt{epstopdf}, \texttt{exscale}, \texttt{extramarks}, \texttt{fancyhdr}, \texttt{float}, \texttt{fontenc}, \texttt{forloop}, \texttt{geometry}, \texttt{graphicx}, \texttt{hypcap}, \texttt{hyperref}, \texttt{ifpdf}, \texttt{inputenc}, \texttt{lengthconvert}, \texttt{lineno}, \texttt{listingsutf8}, \texttt{lmodern}, \texttt{marvosym}, \texttt{moreverb}, \texttt{overpic}, \texttt{pdfmanagement-testphase}, \texttt{pdfpages}, \texttt{pict2e}, \texttt{subdepth}, \texttt{titlesec}, \texttt{titling}, \texttt{tocbasic}, \texttt{url}, \texttt{upquote}, \texttt{verbatim}, \texttt{xcolor}, \texttt{xifthen}, \texttt{xstring}, \texttt{xspace}. \end{sloppypar} \end{document}