diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/hagenberg-thesis/doc/hagenberg-thesis.tex |
Initial commit
Diffstat (limited to 'macros/latex/contrib/hagenberg-thesis/doc/hagenberg-thesis.tex')
-rw-r--r-- | macros/latex/contrib/hagenberg-thesis/doc/hagenberg-thesis.tex | 375 |
1 files changed, 375 insertions, 0 deletions
diff --git a/macros/latex/contrib/hagenberg-thesis/doc/hagenberg-thesis.tex b/macros/latex/contrib/hagenberg-thesis/doc/hagenberg-thesis.tex new file mode 100644 index 0000000000..f2e744dfc0 --- /dev/null +++ b/macros/latex/contrib/hagenberg-thesis/doc/hagenberg-thesis.tex @@ -0,0 +1,375 @@ +\documentclass[english]{hgbarticle} + +\RequirePackage[utf8]{inputenc} % remove when using lualatex oder xelatex! + + +\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)} + +%\author{ +%Wilhelm Burger, Wolfgang Hochleitner\\ +%\texttt{wilhelm.burger@fh-ooe.at} +%\and +%Wolfgang Hochleitner\\ +%\texttt{wolfgang.hochleitner@fh-ooe.at}} + + +%%%---------------------------------------------------------- +\begin{document} +%%%---------------------------------------------------------- +\maketitle +%%%---------------------------------------------------------- + +\begin{abstract}\noindent +The \textsf{hagenberg-thesis} package is a collection of modern LaTeX templates for university theses (bachelor, +master or diploma programs) and related documents. +This manual describes the main features of this package. +Pre-configured document templates for English and German manuscripts and a complete +tutorial are available on the package's home repository. +\end{abstract} + + + +\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, Master and Diploma 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} +The above document classes accept the following options: +% +\begin{raggedright} +\begin{itemize} +\item \textbf{\texttt{hgbthesis}}: + \texttt{master}, \texttt{diploma}, \texttt{bachelor}, \texttt{praktikum} (deprecated), + \texttt{internship}, \texttt{english}, \texttt{german}, \texttt{smartquotes}; +\item \textbf{\texttt{hgbreport}}: \texttt{notitlepage}, \texttt{english}, \texttt{german}, \texttt{smartquotes}; +\item \textbf{\texttt{hgbarticle}}: \texttt{twocolumn}, \texttt{english}, \texttt{german}, \texttt{smartquotes}. +\end{itemize} +\end{raggedright} +% +For example, to start a Master thesis in German +one would simply simply place +% +\begin{LaTeXCode}[numbers=none] +\documentclass[master,german,smartquotes]{hgbthesis} +\end{LaTeXCode} +% +at the beginning of the document. + + + +\subsection{Thesis parameters (class \texttt{hgbthesis})} + +\texttt{hgbthesis} supports several types of thesis documents. +The following parameters must be specified for \emph{all} types: +% +\begin{itemize} +\item \verb!\title{...}!, +\item \verb!\author{...}!, +\item \verb!\programname{...}!, +\item \verb!\placeofstudy{...}!, +\item \verb!\dateofsubmission{yyyy}{mm}{dd}!. +\end{itemize} +% +\noindent A \emph{Bachelor} thesis requires the following, additional items +(not relevant for Diploma and Master theses): +% +\begin{itemize} +\item \verb!\thesisnumber{...}!, +\item \verb!\coursetitle{...}!, +\item \verb!\semester{...}!, +\item \verb!\advisor{...}!. +\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: +\texttt{hgb.sty}, +\texttt{hgbabbrev.sty}, +\texttt{hgbbib.sty}, +\texttt{hgbheadings.sty}, +\texttt{hgblistings.sty}, +\texttt{hgbmath.sty}. + + +\subsection{General user commands and environments(\texttt{hgb.sty})} + + +\begin{itemize} +\item \textbf{\texttt{{\bs}hgbDate}}: Outputs the package version date, + \eg, ``\texttt{\hgbDate}''. +\item \verb!\calibrationbox{width}{height}!: Inserts a test box for checking the final print size +(in millimeters). +\item \verb!\begin{english} ... \end{english}! +\item \verb!\begin{german} ... \end{german}! +\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}}: d.\thinspace{}h. +\item \textbf{\texttt{{\bs}Dah}}: D.\thinspace{}h. +\item \textbf{\texttt{{\bs}ds}}: d.\thinspace{}sind +\item \textbf{\texttt{{\bs}etc}}: etc. +\item \textbf{\texttt{{\bs}evtl}}: evtl. +\item \textbf{\texttt{{\bs}ia}}: i.\thinspace{}Allg. +\item \textbf{\texttt{{\bs}sa}}: s.\ auch +\item \textbf{\texttt{{\bs}so}}: s.\ oben +\item \textbf{\texttt{{\bs}su}}: s.\ unten +\item \textbf{\texttt{{\bs}ua}}: u.\thinspace{}a. +\item \textbf{\texttt{{\bs}Ua}}: U.\thinspace{}a. +\item \textbf{\texttt{{\bs}uae}}: u.\thinspace{}\"A. +\item \textbf{\texttt{{\bs}usw}}: usw. +\item \textbf{\texttt{{\bs}uva}}: u.\thinspace{}v.\thinspace{}a. +\item \textbf{\texttt{{\bs}uvm}}: u.\thinspace{}v.\thinspace{}m. +\item \textbf{\texttt{{\bs}va}}: vor allem +\item \textbf{\texttt{{\bs}vgl}}: vgl. +\item \textbf{\texttt{{\bs}zB}}: z.\thinspace{}B. +\item \textbf{\texttt{{\bs}ZB}}: Zum Beispiel +\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} + + +\subsection{Bibliography commands (\texttt{hgbbib.sty})} + + + +\begin{itemize} +\item +\textbf{\texttt{{\bs}AddBibFile}}: A wrapper to \texttt{biblatex}'s \verb!\addbibresource! macro +(for backward compatibility only). +\item +\textbf{\texttt{{\bs}MakeBibliography[\emph{options}]}}: 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}citenobr\{\emph{keys}\}}}: Analogous to the standard \texttt{{\bs}cite\{\emph{keys}\}} command, but inserts no ``backref'' page numbers in the bibliography. +\item +\textbf{\texttt{{\bs}mcite% +[\emph{text1}]\{\emph{key1}\}% +[\emph{text2}]\{\emph{key2}\}% +\ldots +[\emph{textN}]\{\emph{keyN}\}% +}}: +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{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{algpseudocode} packages.% +\footnote{\url{https://ctan.org/pkg/algorithmicx}} +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 user commands:} +\begin{itemize} +\item +\textbf{\texttt{{\bs}StateL\{<text>\}}}: Creates a \emph{numbered} statement like \texttt{algorithmicx}'s +\verb!\State! command but provides consistent indentation on multi-line statements. +Note that the statement \texttt{<text>} must be passed as a single argument in \verb!{...}! brackets. +\item +\textbf{\texttt{{\bs}StateNN[<nesting>]\{<text>\}}}: +Creates a \emph{non-numbered} statement like \texttt{algorith\-micx}'s \verb!\State! +command but provides consistent indentation inside nested constructs and over multiple lines. +The optional integer argument \verb!<nesting>! 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!). Omitting the optional argument should give correct indentation in most +cases. +\item +\textbf{\texttt{{\bs}Input\{<text>\}}}: +For describing the input parameters in a procedure's preamble. %Usage: \verb!\Input{<description>}! +\item +\textbf{\texttt{{\bs}Output\{<text>\}}}: +For describing the output values in a procedure's preamble. %Usage: \verb!\Output{<description>}! +\item +\textbf{\texttt{{\bs}Returns\{<text>\}}}: +For describing the return values in a procedure's preamble. %Usage: \verb!\Returns{<description>}! +\end{itemize} + +\paragraph{Defined algorithm colors:} +\begin{itemize} +\item[] \textbf{\texttt{AlgKeywordColor}} (for algorithm keywords), +\item[] \textbf{\texttt{AlgProcedureColor}} (for procedure and function names), +\item[] \textbf{\texttt{AlgCommentColor}} (for comments). +\end{itemize} +The above 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} + + +\section{Package dependencies} + +\begin{sloppypar} +The \texttt{hagenberg-thesis} package builds on the following \latex\ packages:\newline +\texttt{abstract}, +\texttt{algorithm}, +\texttt{algorithmicx}, +\texttt{algpseudocode}, +\texttt{amsbsy}, +\texttt{amsfonts}, +\texttt{amsmath}, +\texttt{amssymb}, +\texttt{babel}, +\texttt{biblatex}, +\texttt{breakurl}, +\texttt{caption}, +\texttt{cmap}, +\texttt{csquotes}, +\texttt{datetime}, +\texttt{enumitem}, +\texttt{epstopdf}, +\texttt{eurosym}, +\texttt{exscale}, +\texttt{fancyhdr}, +\texttt{float}, +\texttt{fontenc}, +\texttt{geometry}, +\texttt{graphicx}, +\texttt{hypcap}, +\texttt{hyperref}, +\texttt{ifpdf}, +\texttt{ifthen}, +\texttt{inputenc}, +\texttt{listingsutf8}, +\texttt{lmodern}, +\texttt{moreverb}, +\texttt{overpic}, +\texttt{pdfpages}, +\texttt{pict2e}, +\texttt{subdepth}, +\texttt{titlesec}, +\texttt{titling}, +\texttt{tocbasic}, +\texttt{url}, +\texttt{upquote}, +\texttt{verbatim}, +\texttt{xcolor}, +\texttt{xifthen}, +\texttt{xspace}. +\end{sloppypar} + + +\end{document} |