added thesis structure
Some checks are pending
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.10) (push) Waiting to run
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.6) (push) Waiting to run
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, pre) (push) Waiting to run
Some checks are pending
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.10) (push) Waiting to run
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.6) (push) Waiting to run
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, pre) (push) Waiting to run
This commit is contained in:
parent
8d129dbfcc
commit
9702fe2343
303
.gitignore
vendored
303
.gitignore
vendored
|
@ -525,3 +525,306 @@ fabric.properties
|
|||
*.cubin
|
||||
*.fatbin
|
||||
|
||||
# ---> LaTeX
|
||||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
*.cb
|
||||
*.cb2
|
||||
.*.lb
|
||||
|
||||
## Intermediate documents:
|
||||
*.dvi
|
||||
*.xdv
|
||||
*-converted-to.*
|
||||
# these rules might exclude image files for figures etc.
|
||||
# *.ps
|
||||
# *.eps
|
||||
# *.pdf
|
||||
|
||||
## Generated if empty string is given at "Please type another file name for output:"
|
||||
.pdf
|
||||
|
||||
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||
*.bbl
|
||||
*.bbl-SAVE-ERROR
|
||||
*.bcf
|
||||
*.blg
|
||||
*-blx.aux
|
||||
*-blx.bib
|
||||
*.run.xml
|
||||
|
||||
## Build tool auxiliary files:
|
||||
*.fdb_latexmk
|
||||
*.synctex
|
||||
*.synctex(busy)
|
||||
*.synctex.gz
|
||||
*.synctex.gz(busy)
|
||||
*.pdfsync
|
||||
*.rubbercache
|
||||
rubber.cache
|
||||
|
||||
## Build tool directories for auxiliary files
|
||||
# latexrun
|
||||
latex.out/
|
||||
|
||||
## Auxiliary and intermediate files from other packages:
|
||||
# algorithms
|
||||
*.alg
|
||||
*.loa
|
||||
|
||||
# achemso
|
||||
acs-*.bib
|
||||
|
||||
# amsthm
|
||||
*.thm
|
||||
|
||||
# beamer
|
||||
*.nav
|
||||
*.pre
|
||||
*.snm
|
||||
*.vrb
|
||||
|
||||
# changes
|
||||
*.soc
|
||||
|
||||
# comment
|
||||
*.cut
|
||||
|
||||
# cprotect
|
||||
*.cpt
|
||||
|
||||
# elsarticle (documentclass of Elsevier journals)
|
||||
*.spl
|
||||
|
||||
# endnotes
|
||||
*.ent
|
||||
|
||||
# fixme
|
||||
*.lox
|
||||
|
||||
# feynmf/feynmp
|
||||
*.mf
|
||||
*.mp
|
||||
*.t[1-9]
|
||||
*.t[1-9][0-9]
|
||||
*.tfm
|
||||
|
||||
#(r)(e)ledmac/(r)(e)ledpar
|
||||
*.end
|
||||
*.?end
|
||||
*.[1-9]
|
||||
*.[1-9][0-9]
|
||||
*.[1-9][0-9][0-9]
|
||||
*.[1-9]R
|
||||
*.[1-9][0-9]R
|
||||
*.[1-9][0-9][0-9]R
|
||||
*.eledsec[1-9]
|
||||
*.eledsec[1-9]R
|
||||
*.eledsec[1-9][0-9]
|
||||
*.eledsec[1-9][0-9]R
|
||||
*.eledsec[1-9][0-9][0-9]
|
||||
*.eledsec[1-9][0-9][0-9]R
|
||||
|
||||
# glossaries
|
||||
*.acn
|
||||
*.acr
|
||||
*.glg
|
||||
*.glo
|
||||
*.gls
|
||||
*.glsdefs
|
||||
*.lzo
|
||||
*.lzs
|
||||
*.slg
|
||||
*.slo
|
||||
*.sls
|
||||
|
||||
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
|
||||
# *.ist
|
||||
|
||||
# gnuplot
|
||||
*.gnuplot
|
||||
*.table
|
||||
|
||||
# gnuplottex
|
||||
*-gnuplottex-*
|
||||
|
||||
# gregoriotex
|
||||
*.gaux
|
||||
*.glog
|
||||
*.gtex
|
||||
|
||||
# htlatex
|
||||
*.4ct
|
||||
*.4tc
|
||||
*.idv
|
||||
*.lg
|
||||
*.trc
|
||||
*.xref
|
||||
|
||||
# hypdoc
|
||||
*.hd
|
||||
|
||||
# hyperref
|
||||
*.brf
|
||||
|
||||
# knitr
|
||||
*-concordance.tex
|
||||
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
|
||||
# *.tikz
|
||||
*-tikzDictionary
|
||||
|
||||
# listings
|
||||
*.lol
|
||||
|
||||
# luatexja-ruby
|
||||
*.ltjruby
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
|
||||
# minitoc
|
||||
*.maf
|
||||
*.mlf
|
||||
*.mlt
|
||||
*.mtc[0-9]*
|
||||
*.slf[0-9]*
|
||||
*.slt[0-9]*
|
||||
*.stc[0-9]*
|
||||
|
||||
# minted
|
||||
_minted*
|
||||
*.pyg
|
||||
|
||||
# morewrites
|
||||
*.mw
|
||||
|
||||
# newpax
|
||||
*.newpax
|
||||
|
||||
# nomencl
|
||||
*.nlg
|
||||
*.nlo
|
||||
*.nls
|
||||
|
||||
# pax
|
||||
*.pax
|
||||
|
||||
# pdfpcnotes
|
||||
*.pdfpc
|
||||
|
||||
# sagetex
|
||||
*.sagetex.sage
|
||||
*.sagetex.py
|
||||
*.sagetex.scmd
|
||||
|
||||
# scrwfile
|
||||
*.wrt
|
||||
|
||||
# svg
|
||||
svg-inkscape/
|
||||
|
||||
# sympy
|
||||
*.sout
|
||||
*.sympy
|
||||
sympy-plots-for-*.tex/
|
||||
|
||||
# pdfcomment
|
||||
*.upa
|
||||
*.upb
|
||||
|
||||
# pythontex
|
||||
*.pytxcode
|
||||
pythontex-files-*/
|
||||
|
||||
# tcolorbox
|
||||
*.listing
|
||||
|
||||
# thmtools
|
||||
*.loe
|
||||
|
||||
# TikZ & PGF
|
||||
*.dpth
|
||||
*.md5
|
||||
*.auxlock
|
||||
|
||||
# titletoc
|
||||
*.ptc
|
||||
|
||||
# todonotes
|
||||
*.tdo
|
||||
|
||||
# vhistory
|
||||
*.hst
|
||||
*.ver
|
||||
|
||||
# easy-todo
|
||||
*.lod
|
||||
|
||||
# xcolor
|
||||
*.xcp
|
||||
|
||||
# xmpincl
|
||||
*.xmpi
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices and outlines
|
||||
*.xyc
|
||||
*.xyd
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# LyX
|
||||
*.lyx~
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# gummi
|
||||
.*.swp
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
||||
|
||||
# TeXnicCenter
|
||||
*.tps
|
||||
|
||||
# auto folder when using emacs and auctex
|
||||
./auto/*
|
||||
*.el
|
||||
|
||||
# expex forward references with \gathertags
|
||||
*-tags.tex
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
||||
|
||||
# Makeindex log files
|
||||
*.lpz
|
||||
|
||||
# xwatermark package
|
||||
*.xwm
|
||||
|
|
2
thesis/.vscode/ltex.dictionary.en-GB.txt
vendored
Normal file
2
thesis/.vscode/ltex.dictionary.en-GB.txt
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
CUDA
|
||||
GPGPU
|
5
thesis/back/appendix_a.tex
Normal file
5
thesis/back/appendix_a.tex
Normal file
|
@ -0,0 +1,5 @@
|
|||
\chapter{Technical Details}
|
||||
\label{app:TechnicalDetails}
|
||||
|
||||
|
||||
|
31
thesis/back/appendix_b.tex
Normal file
31
thesis/back/appendix_b.tex
Normal file
|
@ -0,0 +1,31 @@
|
|||
\chapter{Supplementary Materials}
|
||||
\label{app:materials}
|
||||
|
||||
|
||||
List of supplementary data submitted to the degree-granting institution for archival storage
|
||||
(in ZIP format).
|
||||
|
||||
% Use this as an example only, adapt the structure to your requirements!
|
||||
|
||||
\section{PDF Files}
|
||||
\begin{FileList}{/}
|
||||
\fitem{thesis.pdf} Master/Bachelor thesis (complete document)
|
||||
\end{FileList}
|
||||
|
||||
\section{Media Files}
|
||||
\begin{FileList}{/media}
|
||||
\fitem{*.ai, *.pdf} Adobe Illustrator files
|
||||
\fitem{*.jpg, *.png} raster images
|
||||
\fitem{*.mp3} audio files
|
||||
\fitem{*.mp4} video files
|
||||
\end{FileList}
|
||||
|
||||
|
||||
\section{Online Sources (PDF Captures)}
|
||||
\begin{FileList}{/online-sources}
|
||||
\fitem{Reliquienschrein-Wikipedia.pdf} {\backtrackerfalse\parencite{WikiReliquienschrein2023}}
|
||||
\end{FileList}
|
||||
|
||||
|
||||
|
||||
|
7
thesis/back/appendix_c.tex
Normal file
7
thesis/back/appendix_c.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\chapter{Questionnaire}
|
||||
\label{app:Questionnaire}
|
||||
|
||||
|
||||
|
||||
|
||||
|
3
thesis/back/appendix_d.tex
Normal file
3
thesis/back/appendix_d.tex
Normal file
|
@ -0,0 +1,3 @@
|
|||
\chapter{\latex Source Code}
|
||||
\label{app:SourceCode}
|
||||
|
15
thesis/back/printbox.tex
Normal file
15
thesis/back/printbox.tex
Normal file
|
@ -0,0 +1,15 @@
|
|||
\chapter*{Check Final Print Size}
|
||||
|
||||
\begin{center}
|
||||
{\Large --- Check final print size! ---}
|
||||
|
||||
\bigskip
|
||||
|
||||
\calibrationbox{100}{50} % width/height of box in mm
|
||||
|
||||
\bigskip
|
||||
|
||||
{\Large --- Remove this page after printing! ---}
|
||||
|
||||
\end{center}
|
||||
|
33
thesis/chapters/conceptdesign.tex
Normal file
33
thesis/chapters/conceptdesign.tex
Normal file
|
@ -0,0 +1,33 @@
|
|||
\chapter{Concept and Design}
|
||||
\label{cha:conceptdesign}
|
||||
introduction to what needs to be done. also clarify terms "Host" and "Device" here
|
||||
|
||||
\section[Requirements]{Requirements and Data}
|
||||
short section.
|
||||
Multiple expressions; vars for all expressions; params unique to expression; operators that need to be supported
|
||||
|
||||
|
||||
\section{Interpreter}
|
||||
as introduction to this section talk about what "interpreter" means in this context. so "gpu parses expr and calculates"
|
||||
|
||||
\subsection{Architecture}
|
||||
talk about the coarse grained architecture on how the interpreter will work. (.5 to 1 page probably)
|
||||
|
||||
\subsection{Host}
|
||||
talk about the steps taken to prepare for GPU interpretation
|
||||
|
||||
\subsection{Device}
|
||||
talk about how the actual interpreter will be implemented
|
||||
|
||||
|
||||
\section{Transpiler}
|
||||
as introduction to this section talk about what "transpiler" means in this context. so "cpu takes expressions and generates ptx for gpu execution"
|
||||
|
||||
\subsection{Architecture}
|
||||
talk about the coarse grained architecture on how the transpiler will work. (.5 to 1 page probably)
|
||||
|
||||
\subsection{Host}
|
||||
talk about how the transpiler is implemented
|
||||
|
||||
\subsection{Device}
|
||||
talk about what the GPU does. short section since the gpu does not do much
|
7
thesis/chapters/conclusion.tex
Normal file
7
thesis/chapters/conclusion.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\chapter[Conclusion]{Conclusion and Future Work}
|
||||
\label{cha:conclusion}
|
||||
|
||||
Summarise the results
|
||||
|
||||
\section{Future Work}
|
||||
talk about what can be improved
|
14
thesis/chapters/evaluation.tex
Normal file
14
thesis/chapters/evaluation.tex
Normal file
|
@ -0,0 +1,14 @@
|
|||
\chapter{Evaluation}
|
||||
\label{cha:evaluation}
|
||||
|
||||
\section{Test environment}
|
||||
Explain the hardware used, as well as the actual data (how many expressions, variables etc.)
|
||||
|
||||
\section{Results}
|
||||
talk about what we will see now (results only for interpreter, then transpiler and then compared with each other and a CPU interpreter)
|
||||
\subsection{Interpreter}
|
||||
Results only for Interpreter
|
||||
\subsection{Transpiler}
|
||||
Results only for Transpiler
|
||||
\subsection{Comparison}
|
||||
Comparison of Interpreter and Transpiler as well as Comparing the two with CPU interpreter
|
13
thesis/chapters/implementation.tex
Normal file
13
thesis/chapters/implementation.tex
Normal file
|
@ -0,0 +1,13 @@
|
|||
\chapter{Implementation}
|
||||
\label{cha:implementation}
|
||||
|
||||
\section{Technologies}
|
||||
Short section; CUDA, PTX, Julia, CUDA.jl
|
||||
|
||||
Probably reference the performance evaluation papers for Julia and CUDA.jl
|
||||
|
||||
\section{Interpreter}
|
||||
Talk about how the interpreter has been developed.
|
||||
|
||||
\section{Transpiler}
|
||||
Talk about how the transpiler has been developed
|
10
thesis/chapters/introduction.tex
Normal file
10
thesis/chapters/introduction.tex
Normal file
|
@ -0,0 +1,10 @@
|
|||
\chapter{Introduction}
|
||||
\label{cha:Introduction}
|
||||
|
||||
Introduction into topic and why someone would want to evaluate expressions on the GPU. Also include "Non-Goals"
|
||||
|
||||
\section[Research Question]{Research Question and Methodology}
|
||||
What are the research questions and how they will be answered
|
||||
|
||||
\section{Overview}
|
||||
Will give an overview of the chapters and what to expect
|
19
thesis/chapters/relwork.tex
Normal file
19
thesis/chapters/relwork.tex
Normal file
|
@ -0,0 +1,19 @@
|
|||
\chapter{Fundamentals and Related Work}
|
||||
\label{cha:relwork}
|
||||
|
||||
\section{Equation learning}
|
||||
Section describing what equation learning is and why it is relevant for the thesis
|
||||
|
||||
|
||||
\section[GPGPU]{General Purpose Computation on Graphics Processing Units}
|
||||
Describe what GPGPU is and how it differs from classical programming. talk about architecture (SIMD) and some scientific papers on how they use GPUs to accelerate tasks
|
||||
|
||||
\subsection[PTX]{Parallel Thread Execution}
|
||||
Describe what PTX is to get a common ground for the implementation chapter. Probably a short section
|
||||
|
||||
|
||||
\section{GPU Interpretation}
|
||||
Different sources on how to do interpretation on the gpu (and maybe interpretation in general too?)
|
||||
|
||||
\section{Transpiler}
|
||||
talk about what transpilers are and how to implement them. If possible also gpu specific transpilation. Also talk about compilation and register management. and probably find a better title
|
5
thesis/front/abstract.tex
Normal file
5
thesis/front/abstract.tex
Normal file
|
@ -0,0 +1,5 @@
|
|||
\chapter{Abstract}
|
||||
|
||||
|
||||
This should be a 1-page (maximum) summary of your work in English.
|
||||
|
7
thesis/front/kurzfassung.tex
Normal file
7
thesis/front/kurzfassung.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\chapter{Kurzfassung}
|
||||
|
||||
\begin{german}
|
||||
An dieser Stelle steht eine Zusammenfassung der Arbeit, Umfang
|
||||
max.\ 1 Seite.
|
||||
...
|
||||
\end{german}
|
351
thesis/hgb.sty
Normal file
351
thesis/hgb.sty
Normal file
|
@ -0,0 +1,351 @@
|
|||
%% hgb.sty
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{hgb}[2023/11/06]%%AUTO
|
||||
\typeout{******************* hgb.sty (options=\@nameuse{opt@hgb.sty}) ***********************}
|
||||
|
||||
% Create a default/fallback main language so it is set no matter what
|
||||
\providecommand{\hgb@MainLanguage}{german}
|
||||
|
||||
\RequirePackage{xifthen}
|
||||
|
||||
\newboolean{hgb@SmartQuotesOn}
|
||||
\setboolean{hgb@SmartQuotesOn}{false} % smart quotes are turned off by default
|
||||
|
||||
\newboolean{hgb@noUpdateCheck}
|
||||
\setboolean{hgb@noUpdateCheck}{false} % update check is perfomed by default
|
||||
|
||||
% Handle package options passed from the class file
|
||||
\DeclareOption{english}{\renewcommand{\hgb@MainLanguage}{english}}
|
||||
\DeclareOption{german}{\renewcommand{\hgb@MainLanguage}{german}}
|
||||
\DeclareOption{ngerman}{\renewcommand{\hgb@MainLanguage}{german}}
|
||||
\DeclareOption{smartquotes}{\setboolean{hgb@SmartQuotesOn}{true}}
|
||||
\DeclareOption{noUpdateCheck}{\setboolean{hgb@noUpdateCheck}{true}}
|
||||
\DeclareOption*{\ClassWarning{hgb}{Unknown option '\CurrentOption'.}}
|
||||
\ProcessOptions*
|
||||
|
||||
%% Required Packages ----------------------------------------------------------
|
||||
|
||||
|
||||
\RequirePackage{lmodern} % use Latin Modern Fonts
|
||||
\RequirePackage{cmap} % make generated PDF files "searchable and copyable"
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[T1]{fontenc} % T1 font encoding for improved hyphenation
|
||||
|
||||
% Set main language by selectively loading babel with the 'main' parameter (babel 3.9+)
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
|
||||
{\RequirePackage[english,main=ngerman]{babel}}{}
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{english}}%
|
||||
{\RequirePackage[main=english,ngerman]{babel}}{}
|
||||
|
||||
%% Setup for smart quotes (csquotes package) -- experimental! ----------------------------------
|
||||
|
||||
\ifthenelse{\boolean{hgb@SmartQuotesOn}}{
|
||||
\languageshorthands{none}% %% turn off babel's shorthands (permanently)
|
||||
\usepackage[autostyle=true,german=quotes]{csquotes}%
|
||||
\MakeOuterQuote{"}%
|
||||
\EnableQuotes}{}
|
||||
|
||||
%% Language environments ------------------------------------------------------
|
||||
|
||||
% Switch from German to English (babel)
|
||||
\newenvironment{english}%
|
||||
{\begin{otherlanguage}{english}%
|
||||
\ifthenelse{\boolean{hgb@SmartQuotesOn}}{\EnableQuotes}{}}%
|
||||
{\end{otherlanguage}\ignorespacesafterend}%
|
||||
|
||||
% Switch from English to German (babel)
|
||||
\newenvironment{german}%
|
||||
{\begin{otherlanguage}{ngerman}%
|
||||
\ifthenelse{\boolean{hgb@SmartQuotesOn}}{\EnableQuotes}{}}%
|
||||
{\end{otherlanguage}}%
|
||||
|
||||
|
||||
%% Date-related stuff ---------------------------------------------------------
|
||||
|
||||
\edef\hgbDate{\csname ver@hgb.sty\endcsname} % get this package's build date
|
||||
|
||||
\RequirePackage{xstring} % for string operations
|
||||
\RequirePackage[english,ngerman,calc,useregional,showdow=false]{datetime2} % replaces obsolete 'datetime' package
|
||||
|
||||
% https://tex.stackexchange.com/questions/316253/latex-convert-date-string-format-from-mm-dd-yyyyy-to-dd-mm-yyyy/316257#316257
|
||||
\newcommand{\PackageToDTMdate}[2]{% converts date in 'YYYY/MM/DD' format to DTMdate and saves to #2
|
||||
\StrLeft{#1}{4}[\myYear]%
|
||||
\StrRight{#1}{2}[\myDay]%
|
||||
\StrMid{#1}{6}{7}[\myMonth]%
|
||||
\DTMsavenoparsedate{#2}{\myYear}{\myMonth}{\myDay}{-1}%
|
||||
%\DTMdate{\myYear-\myMonth-\myDay}%
|
||||
}
|
||||
|
||||
\PackageToDTMdate{\hgbDate}{hgbPackageDate} % converts package date to DTM format: \DTMusedate{hgbPackageDate}
|
||||
\DTMsavenoparsedate{hgbToday}{\the\year}{\the\month}{\the\day}{-1} % today's date in DTM format: \DTMusedate{hgbToday}
|
||||
|
||||
\newcounter{hgbAgeLimit}\setcounter{hgbAgeLimit}{365} % warn if package is older than 1 year
|
||||
\newcount\hgbAge
|
||||
\DTMsaveddatediff{hgbToday}{hgbPackageDate}{\hgbAge}
|
||||
|
||||
\newcommand{\hgbWarnOldPackage}[1]{\PackageWarning{hagenberg-thesis}{%
|
||||
^^J****************************************************************
|
||||
^^JNOTE: 'hagenberg-thesis' is #1 days old - pls. check for updates
|
||||
^^Jat https://github.com/Digital-Media/HagenbergThesis
|
||||
^^J****************************************************************
|
||||
^^J} % https://tex.stackexchange.com/questions/6529/newline-linebreak-in-message
|
||||
}
|
||||
|
||||
\ifthenelse{\hgbAge>\value{hgbAgeLimit} \AND \NOT \boolean{hgb@noUpdateCheck}}%
|
||||
{\hgbWarnOldPackage{\the\hgbAge}}{}
|
||||
|
||||
|
||||
%% ------------------------------------------------------
|
||||
|
||||
\RequirePackage{upquote} % uses "right" quotes in the verbatim environment
|
||||
\RequirePackage{marvosym}
|
||||
\providecommand{\euro}[0]{\EUR\xspace} % for compatibility with 'eurosym' macro
|
||||
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage[percent]{overpic} % to allow text/graphics overlays on pictures
|
||||
\RequirePackage{pict2e} % extends the LaTeX 'picture' environment
|
||||
|
||||
\RequirePackage{xcolor}
|
||||
\newcommand{\@MissingArg}[1]{\textcolor{red}{#1}}
|
||||
|
||||
\RequirePackage[T1,hyphens,obeyspaces,spaces,lowtilde]{url}
|
||||
\urlstyle{sf}
|
||||
|
||||
\RequirePackage{verbatim}
|
||||
\RequirePackage{moreverb}
|
||||
\def\verbatimtabsize{2\relax}
|
||||
|
||||
\RequirePackage{ifpdf}
|
||||
\ifpdf % LaTeX is in native PDF mode (pdflatex)
|
||||
\RequirePackage{epstopdf} % converting EPS to PDF for pdflatex
|
||||
% \pdfcompresslevel=0 % 0 = no compression, 9 = max. compression
|
||||
% \pdfimageresolution=300
|
||||
\else % LaTeX is in emulation mode (DVI-PS-PDF)
|
||||
\RequirePackage[hyphenbreaks]{breakurl} % allows line breaks in URLs without pdflatex (DIV, PS, PDF)
|
||||
\fi
|
||||
|
||||
|
||||
%% hyperref Setup -------------------------------------------------------------
|
||||
\RequirePackage[unicode]{hyperref} % utf8-change
|
||||
\hypersetup{
|
||||
linktocpage=true, % make page number, not text, be link on TOC, LOF and LOT
|
||||
colorlinks=false, % don't uses colored links (because this shows up in printing!)
|
||||
pdfborder={0 0 0.5}, % use a thinner (0.5pt) border around all PDF links
|
||||
allbordercolors={blue}, % this only works with a named color, any effect?
|
||||
%breaklinks = true % allow links to break over lines by making links over multiple lines (obsolete)
|
||||
}
|
||||
|
||||
% Redefine certain commands for bookmarks and meta-data
|
||||
\let\oldand\and
|
||||
\pdfstringdefDisableCommands{%
|
||||
\def\\{}%
|
||||
\def\url#1{<#1>}%
|
||||
\def\and{\texorpdfstring{\oldand}{, }}%
|
||||
}
|
||||
|
||||
\RequirePackage[figure,table,table*]{hypcap} % do not redefine figure* for use in article (without captions)
|
||||
|
||||
%% Miscellaneous Utility Commands ---------------------------------------------
|
||||
|
||||
\newcommand\trennstrich{%
|
||||
\nopagebreak[4]
|
||||
\vskip 1.5ex %
|
||||
% \nopagebreak[4]
|
||||
\noindent\makebox[\textwidth]{\rule{4cm}{0.4pt}}
|
||||
\vskip 2.5ex}
|
||||
|
||||
\newcommand{\SuperPar}[0]{%
|
||||
\PackageWarning{hgb}{Due to frequent misuse, macro \protect\SuperPar\space has been removed.}
|
||||
}
|
||||
|
||||
\newcommand{\email}[1]{%
|
||||
\texorpdfstring{\href{mailto:#1}{\nolinkurl{#1}}}{<#1>}%
|
||||
}
|
||||
|
||||
% Test box for print proofing
|
||||
\newcommand{\calibrationbox}[2]{% parameters: #1=width, #2=height
|
||||
\setlength{\unitlength}{1.0mm}%
|
||||
\begin{picture}(#1,#2)%
|
||||
\linethickness{0.05mm}%
|
||||
\put(0,0){\dashbox{0.2}(#1,#2)%
|
||||
{\parbox{#1mm}{%
|
||||
\centering\footnotesize
|
||||
width $ = #1 \textrm{mm}$\\
|
||||
height $ = #2 \textrm{mm}$
|
||||
}}}\end{picture}
|
||||
}
|
||||
|
||||
% Test box for print proofing (obsolete - use \calibrationbox)
|
||||
\newcommand{\Messbox}[2]{
|
||||
\calibrationbox{#1}{#2}
|
||||
}
|
||||
|
||||
\newcommand{\ShowParameter}[1]{\the#1\showthe#1} % to display TeX parameters
|
||||
%Beispiel: clubpenalty = \ShowParameter{\clubpenalty}
|
||||
|
||||
|
||||
%% Layout Settings ------------------------------------------------------------
|
||||
|
||||
\frenchspacing % creates normal spacing between sentences
|
||||
\setlength{\parskip}{0pt plus 0.1pt}
|
||||
\raggedbottom %\flushbottom
|
||||
|
||||
\RequirePackage{float}
|
||||
\floatstyle{plain}
|
||||
|
||||
% Captions with font size "small" and additional margin spacing
|
||||
\RequirePackage[small,bf]{caption}
|
||||
\DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=colon}
|
||||
\setlength{\captionmargin}{5mm}
|
||||
\setlength{\abovecaptionskip}{10pt}
|
||||
\setlength{\belowcaptionskip}{10pt}
|
||||
|
||||
%% Disable \footnote in captions:
|
||||
\newcommand{\@WarnFootnoteInCaption}{%
|
||||
\GenericError{}{Package hgb Error: footnotes in captions are disabled}%
|
||||
{How to fix: do not place footnotes in captions!}{}}%
|
||||
\DeclareCaptionTextFormat{nofootnotes}{%
|
||||
\renewcommand{\footnote}[1]{\@WarnFootnoteInCaption\relax}#1}
|
||||
\captionsetup{textformat=nofootnotes}
|
||||
|
||||
|
||||
% Make float placement easier
|
||||
\renewcommand{\floatpagefraction}{.9} % previously: .5
|
||||
\renewcommand{\textfraction}{.1} % previously: .2
|
||||
\renewcommand{\topfraction}{.9} % previously: .7
|
||||
\renewcommand{\bottomfraction}{.7} % previously: .3
|
||||
\setcounter{topnumber}{3} % previously: 2
|
||||
\setcounter{bottomnumber}{2} % previously: 1
|
||||
\setcounter{totalnumber}{5} % previously: 3
|
||||
|
||||
\RequirePackage{enumitem} % fix excessive vertical spacing in lists
|
||||
\setlist{%
|
||||
partopsep = .0ex plus .1ex,
|
||||
topsep = .6ex plus .3ex,
|
||||
itemsep = .0ex plus .1ex,
|
||||
parsep = .4ex plus .2ex
|
||||
}
|
||||
|
||||
\newenvironment{nowidows}%
|
||||
{\clubpenalty=10000%
|
||||
\widowpenalty=10000%
|
||||
\displaywidowpenalty=10000}%
|
||||
{}
|
||||
%Example:
|
||||
% \begin{nowidows}
|
||||
% Any text where no widows are allowed
|
||||
% \end{nowidows}
|
||||
|
||||
\RequirePackage{lengthconvert} % for showing the current textwidth in mm
|
||||
|
||||
|
||||
% Setup for Table of Contents (ToC)
|
||||
|
||||
%\RequirePackage[tocgraduated,tocbreaksstrict]{tocstyle}% %% Note: tocstyle is unsupported!
|
||||
%\usetocstyle{classic}%
|
||||
|
||||
\RequirePackage{tocbasic}% %% tocbasic is part of koma script
|
||||
\DeclareTOCStyleEntry[entryformat=\bfseries\textsf]{tocline}{chapter}%
|
||||
|
||||
%% Program environments ----------------------------------------
|
||||
|
||||
% Define the program float environment:
|
||||
\@ifundefined{chapter}%
|
||||
{\newfloat{program}{tbp}{lop}}%
|
||||
{\newfloat{program}{tbp}{lop}[chapter]}
|
||||
|
||||
\floatstyle{plain}
|
||||
\restylefloat*{program}
|
||||
|
||||
\ifthenelse{\equal{\bbl@main@language}{german} \or \equal{\bbl@main@language}{ngerman}}%
|
||||
{\floatname{program}{Programm}}{}%
|
||||
|
||||
\ifthenelse{\equal{\bbl@main@language}{english}}%
|
||||
{\floatname{program}{Program}}{}%
|
||||
|
||||
%% Experimental items ---------------------------------------------------------
|
||||
|
||||
\newenvironment{NarrowList}%
|
||||
{\begin{list}{}%
|
||||
{\setlength{\leftmargin}{2.5em}
|
||||
\setlength{\labelwidth}{1em}
|
||||
\setlength{\labelsep}{0.5em}
|
||||
\setlength{\itemsep}{0.5ex}
|
||||
\setlength{\parsep}{0ex}
|
||||
\setlength{\topsep}{0ex}
|
||||
\raggedright
|
||||
}}%
|
||||
{\end{list}}
|
||||
|
||||
\providecommand{\hgb@PathName}{Pfad}
|
||||
|
||||
\newenvironment{FileList}[1]%
|
||||
{%\paragraph{Pfad:} \url{#1}
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}
|
||||
{\renewcommand{\hgb@PathName}{Pfad}}%
|
||||
{\renewcommand{\hgb@PathName}{Path}}%
|
||||
\paragraph{\hgb@PathName: \nolinkurl{#1}}
|
||||
\begin{list}{}%
|
||||
{\setlength{\leftmargin}{5cm}
|
||||
\setlength{\labelwidth}{4cm}
|
||||
\setlength{\labelsep}{0.25cm}
|
||||
\setlength{\rightmargin}{0cm}
|
||||
\setlength{\itemindent}{0cm}
|
||||
\setlength{\itemsep}{0.5ex}
|
||||
\setlength{\parsep}{0ex}
|
||||
\setlength{\topsep}{1ex}
|
||||
\raggedright
|
||||
}}%
|
||||
{\end{list}}
|
||||
|
||||
\def\widedotfill{\leaders\hbox to 8pt{\hfil.\hfil}\hfill}
|
||||
|
||||
\newcommand{\fitem}[1]{%
|
||||
\item[\nolinkurl{#1}\widedotfill]
|
||||
}
|
||||
|
||||
% A generic environment that does nothing, e.g., for temporary variable settings:
|
||||
% \begin{block}
|
||||
% \setlength{\tabcolsep}{10pt}
|
||||
% \renewcommand{\arraystretch}{1.50}
|
||||
% ...
|
||||
% \end{block}
|
||||
\newenvironment{block}{}{}
|
||||
|
||||
% Gives access to the most recent label assigned (used in longtable example):
|
||||
\newcommand{\getcurrentlabel}{\@currentlabel}
|
||||
|
||||
|
||||
%% For inserting foreign PDF pages --------------------------------------------
|
||||
|
||||
\RequirePackage{pdfpages}
|
||||
|
||||
%% Tables ---------------------------------------------------------------------
|
||||
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage{longtable}
|
||||
\RequirePackage{multirow}
|
||||
|
||||
|
||||
%% Prevent subfigure package from being loaded -------------------------------
|
||||
|
||||
% The subfigure package is DEPRECATED (see https://ctan.org/pkg/subfigure)!
|
||||
% We strongly advise against its use since it creates poor output which is not
|
||||
% compatible with our quality standards. Loading this package is therefore blocked
|
||||
% by default. We recommend to use the 'tabular' environment instead.
|
||||
|
||||
\AtBeginDocument{%
|
||||
\@ifpackageloaded{subfigure}{%
|
||||
\PackageError{hgb}{Use of the 'subfigure' package is not supported in this setup, because it is obsolete}{}
|
||||
\let\subfigure\undefined% just to make sure ...
|
||||
}%
|
||||
}%
|
||||
|
||||
%% ----------------------------------------------------------------------------
|
||||
|
||||
\setlength{\fboxsep}{0mm} %globally zero fbox separator
|
50
thesis/hgbabbrev.sty
Normal file
50
thesis/hgbabbrev.sty
Normal file
|
@ -0,0 +1,50 @@
|
|||
%% hgbabbrev.sty
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\ProvidesPackage{hgbabbrev}[2023/11/06]%%AUTO
|
||||
|
||||
\newcommand{\latex}{La\-TeX\xspace} % no ornamental LaTeX anymore
|
||||
\newcommand{\tex}{TeX\xspace} % no ornamental LaTeX anymore
|
||||
\newcommand{\bs}{\textbackslash} % backslash character
|
||||
\newcommand{\obnh}{\hskip 0pt } %optional break without hyphen: e.g. PlugIn{\obnh}Filter
|
||||
%\newcommand{\optbreaknh}{\hskip 0pt } %obsolete, replaced by above
|
||||
|
||||
% Miscellaneous abbreviations (in dependance on Jochen Kuepper, jkthesis):
|
||||
\RequirePackage{xspace}
|
||||
|
||||
%% German abbreviations:
|
||||
|
||||
\newcommand{\bzgl}{bzgl.\@\xspace}
|
||||
\newcommand{\bzw}{bzw.\@\xspace}
|
||||
\newcommand{\ca}{ca.\@\xspace}
|
||||
\newcommand{\dah}{d.\thinspace{}h.\@\xspace}
|
||||
\newcommand{\Dah}{D.\thinspace{}h.\@\xspace}
|
||||
\newcommand{\ds}{d.\thinspace{}sind\@\xspace}
|
||||
\newcommand{\etc}{etc.\@\xspace}
|
||||
\newcommand{\evtl}{evtl.\@\xspace}
|
||||
\newcommand{\ia}{i.\thinspace{}Allg.\@\xspace}
|
||||
\newcommand{\sa}{s.\ auch\@\xspace}
|
||||
\newcommand{\so}{s.\ oben\xspace}
|
||||
\newcommand{\su}{s.\ unten\@\xspace}
|
||||
|
||||
\newcommand{\ua}{u.\thinspace{}a.\@\xspace}
|
||||
\newcommand{\Ua}{U.\thinspace{}a.\@\xspace}
|
||||
\newcommand{\uae}{u.\thinspace{}\"A.\@\xspace}
|
||||
\newcommand{\usw}{usw.\@\xspace}
|
||||
\newcommand{\uva}{u.\thinspace{}v.\thinspace{}a.\@\xspace}
|
||||
\newcommand{\uvm}{u.\thinspace{}v.\thinspace{}m.\@\xspace}
|
||||
\newcommand{\va}{vor allem\@\xspace}
|
||||
\newcommand{\vgl}{vgl.\@\xspace}
|
||||
\newcommand{\zB}{z.\thinspace{}B.\@\xspace}
|
||||
\newcommand{\ZB}{Zum Beispiel\xspace}
|
||||
|
||||
%% English abbreviations:
|
||||
|
||||
\newcommand{\ie}{i.e.\@\xspace}
|
||||
\newcommand{\eg}{e.g.\@\xspace}
|
||||
\newcommand{\Eg}{E.g.\@\xspace}
|
||||
%\newcommand{\etc}{etc.\@\xspace}
|
||||
\newcommand{\wrt}{w.r.t.\@\xspace}
|
89
thesis/hgbalgo.sty
Normal file
89
thesis/hgbalgo.sty
Normal file
|
@ -0,0 +1,89 @@
|
|||
%% hgbalgo.sty
|
||||
|
||||
%% Toward better looking algorithms ...
|
||||
%% This package imports and pre-configures the 'algorithmicx'/'algpseudocodex' packages
|
||||
%% (see https://ctan.org/pkg/algpseudocodex), fixes some problems and adds new functionality
|
||||
%% and colors. It relies on the 'algorithm' package for typesetting float-type algorithms
|
||||
%% with captions.
|
||||
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\ProvidesPackage{hgbalgo}[2023/11/06]%%AUTO
|
||||
|
||||
\RequirePackage[noEnd=true,indLines=true,italicComments=false]{algpseudocodex} % https://ctan.org/pkg/algpseudocodex
|
||||
\RequirePackage{calc} % for numeric calculations
|
||||
\RequirePackage{xcolor}
|
||||
|
||||
% Colors to be used in algorithms (can be redefined locally if desired)
|
||||
\definecolor{AlgKeywordColor}{rgb}{0.00, 0.00, 0.666} % = Dark Blue
|
||||
\definecolor{AlgProcedureColor}{rgb}{0.00, 0.5, 0.20} % = Dark Green
|
||||
%\definecolor{AlgCommentColor}{gray}{0.40} % = Gray (40% black)
|
||||
|
||||
\algrenewcommand\algorithmicend{\textbf{\color{AlgKeywordColor}end}}
|
||||
\algrenewcommand\algorithmicdo{\textbf{\color{AlgKeywordColor}do}}
|
||||
\algrenewcommand\algorithmicwhile{\textbf{\color{AlgKeywordColor}while}}
|
||||
\algrenewcommand\algorithmicfor{\textbf{\color{AlgKeywordColor}for}}
|
||||
\algrenewcommand\algorithmicforall{\textbf{\color{AlgKeywordColor}for all}}
|
||||
\algrenewcommand\algorithmicloop{\textbf{\color{AlgKeywordColor}loop}}
|
||||
\algrenewcommand\algorithmicrepeat{\textbf{\color{AlgKeywordColor}repeat}}
|
||||
\algrenewcommand\algorithmicuntil{\textbf{\color{AlgKeywordColor}until}}
|
||||
\algrenewcommand\algorithmicprocedure{\textbf{\color{AlgKeywordColor}procedure}}
|
||||
\algrenewcommand\algorithmicfunction{\textbf{\color{AlgKeywordColor}function}}
|
||||
\algrenewcommand\algorithmicif{\textbf{\color{AlgKeywordColor}if}}
|
||||
\algrenewcommand\algorithmicthen{\textbf{\color{AlgKeywordColor}then}}
|
||||
\algrenewcommand\algorithmicelse{\textbf{\color{AlgKeywordColor}else}}
|
||||
\algrenewcommand\algorithmicrequire{\textbf{\color{AlgKeywordColor}Require:}}
|
||||
\algrenewcommand\algorithmicensure{\textbf{\color{AlgKeywordColor}Ensure:}}
|
||||
\algrenewcommand\algorithmicreturn{\textbf{\color{AlgKeywordColor}return}}
|
||||
|
||||
% Use SF font and color for procedure and function names:
|
||||
\newcommand{\@AlgTextProc}[1]{\textcolor{AlgProcedureColor}{\textsf{#1}}}
|
||||
\algrenewcommand\textproc{\@AlgTextProc}
|
||||
\algrenewcommand\Call[2]{\textproc{#1}\hskip0.75pt(#2)}%
|
||||
|
||||
%% -----------------------------------------------------------------
|
||||
|
||||
\newlength{\@AlgTmpIndent}
|
||||
|
||||
%% Additional public macros:
|
||||
|
||||
% This macro is obsolete and will eventually dissappear:
|
||||
\algnewcommand{\StateL}[1]{\State #1%
|
||||
\PackageWarning{hgbalgo}{Macro \protect\StateL\space is obsolete, use \protect\State\space instead}}%
|
||||
|
||||
% \StateNN[<nesting>]{<text>} creates non-numbered statements like algorithmicx's \Statex
|
||||
% command but provides consistent indentation inside nested constructs and over multiple lines.
|
||||
% The optional integer argument [<nesting>] can be used to specify the nesting depth
|
||||
% to counteract a bug in algorithmicx (nesting level is not set properly before the first \State
|
||||
% command inside a nested construct.
|
||||
\algnewcommand{\StateNN}[2][\numexpr\theALG@nested-1]{% default indentation = nesting - 1
|
||||
\setlength\@AlgTmpIndent{\algorithmicindent*#1}% requires calc package
|
||||
\Statex\hskip\@AlgTmpIndent\parbox[t]{\linewidth-\@AlgTmpIndent}{#2\strut}%
|
||||
}%
|
||||
|
||||
% Macros for describing input and output of procedures and functions:
|
||||
\algnewcommand\Input[1]{\StateNN[1]{\textbf{Input:} #1}}% use to describe input parameters: \Input{<description>}
|
||||
\algrenewcommand\Output[1]{\StateNN[1]{\textbf{Output:} #1}}% use to describe output values: \Output{<description>} (already defined in algpseudocodex.sty)
|
||||
\algnewcommand\Returns[1]{\StateNN[1]{\textbf{Returns} #1}}% use to describe what a procedure/function returns: \Returns{<description}
|
||||
|
||||
% The following macros insert additional vertical space after a statement.
|
||||
% They only work in horizontal mode and are supposed
|
||||
% to be used inside (at the end of) statements, e.g.,
|
||||
% \State $x \gets x + 1$ \algsmallskip
|
||||
\algnewcommand{\algsmallskip}[0]{\raisebox{-3pt}{\strut}}
|
||||
\algnewcommand{\algmedskip}[0]{\raisebox{-6pt}{\strut}}
|
||||
\algnewcommand{\algbigskip}[0]{\raisebox{-12pt}{\strut}}
|
||||
|
||||
% 'algorithm' creates a floating environment for algorithms: \begin{algorithm}...\end{algorithm}
|
||||
\@ifundefined{chapter}%
|
||||
{\RequirePackage[ruled]{algorithm}}%
|
||||
{\RequirePackage[ruled,chapter]{algorithm}}
|
||||
|
||||
\ifthenelse{\equal{\bbl@main@language}{german} \or \equal{\bbl@main@language}{ngerman}}%
|
||||
{\floatname{algorithm}{Algorithmus}}{}%
|
||||
|
||||
\ifthenelse{\equal{\bbl@main@language}{english}}%
|
||||
{\floatname{algorithm}{Algorithm}}{}%
|
70
thesis/hgbarticle.cls
Normal file
70
thesis/hgbarticle.cls
Normal file
|
@ -0,0 +1,70 @@
|
|||
%% hgbarticle.cls
|
||||
%% LaTeX class for creating lab and term reports as well as other forms of academic documentation.
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wolfgang Hochleitner (wolfgang.hochleitner@fh-hagenberg.at)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
%% Package Information --------------------------------------------------------
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{hgbarticle}[2023/11/06]%%AUTO
|
||||
|
||||
\RequirePackage{xifthen}
|
||||
|
||||
\RequirePackage{ifpdf} % for checking PDF mode
|
||||
\ifpdf{}% \typeout{hgbarticle: *** LaTeX in PDF mode ***}
|
||||
\else{\errmessage{hgbarticle: *** LaTeX NOT running in PDF mode ***}}
|
||||
\fi
|
||||
|
||||
%% Handling class options --------------------------------------------------------------
|
||||
|
||||
\DeclareOption{twocolumn}{\PassOptionsToClass{\CurrentOption}{article}}
|
||||
\DeclareOption{apa}{\PassOptionsToPackage{\CurrentOption}{hgbbib}}
|
||||
% pass all other options to hgb.sty
|
||||
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{hgb}}
|
||||
\ProcessOptions*
|
||||
|
||||
%% Paper options and style file -----------------------------------------------
|
||||
|
||||
\LoadClass[a4paper,11pt]{article}
|
||||
|
||||
%Adjust margins only in single-column mode
|
||||
\if@twocolumn%
|
||||
\else%
|
||||
\RequirePackage[top=36mm,bottom=40mm,left=32mm,right=32mm]{geometry} %showframe
|
||||
\fi%
|
||||
|
||||
\RequirePackage{hgb} % load style file hgb.sty with options registered above
|
||||
|
||||
%% Set title font to SF and inject PDF meta-data
|
||||
\RequirePackage{titling}
|
||||
\renewcommand{\maketitlehooka}{%
|
||||
\sffamily%
|
||||
\hypersetup{
|
||||
pdftitle={\@title},
|
||||
pdfauthor={\@author},
|
||||
pdfsubject={},
|
||||
pdfcreator={LaTeX using class hgbreport [\hgbDate]},
|
||||
pdfproducer={pdflatex},
|
||||
pdfkeywords={}
|
||||
}%
|
||||
}
|
||||
|
||||
%% Set abstract name to bold (single column format only)
|
||||
\if@twocolumn%
|
||||
\else%
|
||||
\RequirePackage{abstract}
|
||||
\renewcommand{\abstractnamefont}{\sffamily\small\bfseries}
|
||||
\fi%
|
||||
|
||||
%% Additional Hagenberg packages ----------------------------------------------
|
||||
|
||||
\RequirePackage{hgbmath}
|
||||
\RequirePackage{hgbalgo}
|
||||
\RequirePackage{hgbheadings}
|
||||
\RequirePackage{hgbabbrev}
|
||||
\RequirePackage{hgblistings}
|
||||
\RequirePackage{hgbbib}
|
||||
|
||||
\endinput
|
246
thesis/hgbbib.sty
Normal file
246
thesis/hgbbib.sty
Normal file
|
@ -0,0 +1,246 @@
|
|||
%% hgbbib.sty
|
||||
%% Bibliography Setup
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\ProvidesPackage{hgbbib}[2023/11/06]%%AUTO
|
||||
|
||||
\newcommand{\@bibstyle}{numeric-comp} %% default bibliography style is 'numeric-comp'
|
||||
\DeclareOption{apa}{\renewcommand{\@bibstyle}{apa}}
|
||||
\ProcessOptions\relax
|
||||
|
||||
\RequirePackage{xifthen}
|
||||
|
||||
%\usepackage[style=numeric-comp,backend=biber,bibencoding=auto]{biblatex}
|
||||
\usepackage[style=\@bibstyle,backend=biber]{biblatex}
|
||||
\ExecuteBibliographyOptions{
|
||||
bibencoding=auto,
|
||||
bibwarn=true,
|
||||
sortcites=true,
|
||||
defernumbers=true,
|
||||
isbn=false,
|
||||
doi=true,
|
||||
backref=true,
|
||||
backrefstyle=three}
|
||||
|
||||
\RequirePackage{csquotes} % recommended for biblatex
|
||||
|
||||
%% titles of reference section + 3 categories of references:
|
||||
\newcommand{\@bibtitle}{Quellenverzeichnis}
|
||||
\newcommand{\@bibtitleLiteratur}{Literatur}
|
||||
\newcommand{\@bibtitleMedia}{Medien}
|
||||
\newcommand{\@bibtitleOnline}{Online-Quellen}
|
||||
\newcommand{\@bibtitleSoftware}{Software}
|
||||
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{english}}{%
|
||||
\renewcommand{\@bibtitle}{References}
|
||||
\renewcommand{\@bibtitleLiteratur}{Literature}
|
||||
\renewcommand{\@bibtitleMedia}{Media}
|
||||
\renewcommand{\@bibtitleOnline}{Online sources}
|
||||
\renewcommand{\@bibtitleSoftware}{Software}
|
||||
}{}
|
||||
|
||||
%% categories for a split bibliography (order of declaration is important!)
|
||||
\DeclareBibliographyCategory{literature}
|
||||
\DeclareBibliographyCategory{media}
|
||||
\DeclareBibliographyCategory{software}
|
||||
\DeclareBibliographyCategory{online}
|
||||
|
||||
%% headings for the bibliography categories
|
||||
\defbibheading{literature}{%
|
||||
\phantomsection%
|
||||
\section*{\@bibtitleLiteratur}%
|
||||
\addcontentsline{toc}{section}{\@bibtitleLiteratur}%
|
||||
}
|
||||
|
||||
\defbibheading{media}{%
|
||||
\pagebreak[3]%
|
||||
\phantomsection%
|
||||
\section*{\@bibtitleMedia}%
|
||||
\addcontentsline{toc}{section}{\@bibtitleMedia}%
|
||||
}
|
||||
|
||||
\defbibheading{online}{%
|
||||
\pagebreak[3]%
|
||||
\phantomsection%
|
||||
\section*{\@bibtitleOnline}%
|
||||
\addcontentsline{toc}{section}{\@bibtitleOnline}%
|
||||
}
|
||||
|
||||
\defbibheading{software}{%
|
||||
\pagebreak[3]%
|
||||
\phantomsection%
|
||||
\section*{\@bibtitleSoftware}%
|
||||
\addcontentsline{toc}{section}{\@bibtitleSoftware}%
|
||||
}
|
||||
|
||||
\defbibheading{noheader}[]{} % 'none' should be defined but isn't
|
||||
|
||||
%Assign a given bibliography entry to one of the defined categories.
|
||||
\newcommand{\@AssignToBibCategory}[1]% argument 1: entry key
|
||||
{\ifthenelse{%
|
||||
\ifentrytype{online}\OR
|
||||
\ifentrytype{www}}
|
||||
{\addtocategory{online}{#1}}%
|
||||
{\ifthenelse{%
|
||||
\ifentrytype{movie}\OR
|
||||
\ifentrytype{video}\OR
|
||||
\ifentrytype{music}\OR
|
||||
\ifentrytype{audio}\OR
|
||||
\ifentrytype{image}}
|
||||
{\addtocategory{media}{#1}}%
|
||||
{\ifthenelse{%
|
||||
\ifentrytype{software}\OR
|
||||
\ifentrytype{electronic}}
|
||||
{\addtocategory{software}{#1}}%
|
||||
{\addtocategory{literature}{#1}}% else (default)
|
||||
}}}
|
||||
|
||||
%Hook provided by biblatex.
|
||||
\AtEveryCitekey{\@AssignToBibCategory{\thefield{entrykey}}}
|
||||
|
||||
%This is only a wrapper to \addbibresource to allow the use
|
||||
%of the classic bibtex-workflow in the future.
|
||||
\newcommand{\AddBibFile}[1]{
|
||||
\addbibresource{#1}%
|
||||
}
|
||||
|
||||
% Declare a source map so the sorting in \cite commands works across the bib categories
|
||||
% The maps need to correspond to the entry types in the bib categories (which can't unfortunately used)
|
||||
\DeclareSourcemap{
|
||||
\maps[datatype=bibtex]{
|
||||
\map{ % All entry types except for media, software and online
|
||||
\pernottype{movie}
|
||||
\pernottype{video}
|
||||
\pernottype{music}
|
||||
\pernottype{audio}
|
||||
\pernottype{image}
|
||||
\pernottype{software}
|
||||
\pernottype{electronic}
|
||||
\pernottype{online}
|
||||
\pernottype{www}
|
||||
\step[fieldset=presort, fieldvalue = {A}]
|
||||
}
|
||||
\map{ % media entry types
|
||||
\pertype{movie}
|
||||
\pertype{video}
|
||||
\pertype{music}
|
||||
\pertype{audio}
|
||||
\pertype{image}
|
||||
\step[fieldset=presort, fieldvalue = {B}]
|
||||
}
|
||||
\map{ % software entry types
|
||||
\pertype{software}
|
||||
\pertype{electronic}
|
||||
\step[fieldset=presort, fieldvalue = {C}]
|
||||
}
|
||||
\map{ % online entry types
|
||||
\pertype{online}
|
||||
\pertype{www}
|
||||
\step[fieldset=presort, fieldvalue = {D}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%See http://www.jr-x.de/publikationen/latex/tipps/zeilenumbruch.html
|
||||
\newenvironment{bibhyphenation}%
|
||||
{\hyphenpenalty=2% (default 50)
|
||||
\tolerance=9999% (default 200)
|
||||
\exhyphenpenalty=2% (default 50)
|
||||
\linepenalty=1% (default 10)
|
||||
\setlength{\emergencystretch}{3em}%
|
||||
% allow URL hyphenation at any character (definitions in biblatex.def)
|
||||
\setcounter{biburlnumpenalty}{1}%
|
||||
\setcounter{biburlucpenalty}{1}%
|
||||
\setcounter{biburllcpenalty}{1}%
|
||||
\biburlsetup}%
|
||||
{}
|
||||
|
||||
% Currently the only public macro:
|
||||
% \MakeBibliography ... creates a reference section split subsections (default)
|
||||
% \MakeBibliography[nosplit] ... creates a one-piece reference section
|
||||
\newcommand{\MakeBibliography}[1][]{
|
||||
% opt. arg (#1): optional argument "nosplit" to get a 1-piece bibliography
|
||||
%\clearpage
|
||||
\ifthenelse{\equal{#1}{nosplit}}%
|
||||
{% create a single bibliography with all entries:
|
||||
\printbibheading[heading=bibintoc,title={\@bibtitle}]
|
||||
\begin{bibhyphenation}
|
||||
\printbibliography[heading=noheader]
|
||||
\end{bibhyphenation}
|
||||
}
|
||||
{% split the bibliography using the predefined categories:
|
||||
\printbibheading[heading=bibintoc,title={\@bibtitle}]
|
||||
\begin{bibhyphenation}
|
||||
\bibbycategory
|
||||
\end{bibhyphenation}
|
||||
}%
|
||||
}
|
||||
|
||||
% Suppress unusual "In:" within journal article references.
|
||||
% see http://tex.stackexchange.com/questions/10682/suppress-in-biblatex
|
||||
\renewbibmacro{in:}{%
|
||||
\ifentrytype{article}{}{%
|
||||
\printtext{\bibstring{in}\intitlepunct}}}
|
||||
|
||||
|
||||
% To suppress warnings related to missing biblatex "drivers":
|
||||
\DeclareBibliographyAlias{video}{misc}
|
||||
\DeclareBibliographyAlias{movie}{misc}
|
||||
\DeclareBibliographyAlias{audio}{misc}
|
||||
\DeclareBibliographyAlias{software}{misc}
|
||||
\DeclareBibliographyAlias{electronic}{misc}
|
||||
\DeclareBibliographyAlias{image}{misc}
|
||||
\DeclareBibliographyAlias{standard}{misc}
|
||||
\DeclareBibliographyAlias{legislation}{misc}
|
||||
|
||||
|
||||
% Remove the contents of the url field if a doi field is present
|
||||
% To avoid duplicate DOI URLs
|
||||
\AtEveryBibitem{
|
||||
\iffieldundef{doi}{}{\clearfield{url}}
|
||||
}
|
||||
|
||||
|
||||
% Use a semicolon between multiple entries in \cites
|
||||
%\renewcommand*{\multicitedelim}{\addsemicolon\space} %% abandoned, affects regular \cite{a,b,c,..} entries too
|
||||
|
||||
% New command for multiple citations with supplementary texts
|
||||
% usage: \mcite[text1]{key1}[text2]{key2}...[textN]{keyN}
|
||||
% see https://tex.stackexchange.com/a/132981
|
||||
\DeclareMultiCiteCommand{\mcite}[\mkbibbrackets]{\cite}{\addsemicolon\space}
|
||||
|
||||
|
||||
% Macro to produce cites with no backref entries
|
||||
% NOTE: \citenobr is DEPRECATED, use ... {\backtrackerfalse\cite{...}} instead!
|
||||
\ifthenelse{\equal{\@bibstyle}{apa}}
|
||||
{
|
||||
\DeclareCiteCommand{\citenobr}% version for APA
|
||||
{\PackageWarning{hgb}{Macro \protect\citenobr\space is deprecated, use \protect\backtrackerfalse\space instead!}
|
||||
\backtrackerfalse%
|
||||
\usebibmacro{prenote}}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite}}%
|
||||
{\multicitedelim}
|
||||
{\usebibmacro{postnote}}
|
||||
}
|
||||
{
|
||||
\DeclareCiteCommand{\citenobr}% version for numeric-comp et al.
|
||||
{\PackageWarning{hgb}{Macro \protect\citenobr\space is deprecated, use \protect\backtrackerfalse\space instead!}
|
||||
\usebibmacro{cite:init}%
|
||||
\bibopenbracket%
|
||||
\backtrackerfalse%
|
||||
\usebibmacro{prenote}%
|
||||
}
|
||||
{\usebibmacro{citeindex}%
|
||||
\usebibmacro{cite:comp}}
|
||||
{}
|
||||
{\usebibmacro{cite:dump}%
|
||||
\usebibmacro{postnote}%
|
||||
\bibclosebracket}
|
||||
}
|
||||
|
||||
|
||||
|
36
thesis/hgbheadings.sty
Normal file
36
thesis/hgbheadings.sty
Normal file
|
@ -0,0 +1,36 @@
|
|||
%% hgbheadings.sty
|
||||
%% Headings setup
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\ProvidesPackage{hgbheadings}[2023/11/06]%%AUTO
|
||||
|
||||
\RequirePackage{fancyhdr}
|
||||
\pagestyle{fancy}
|
||||
|
||||
\RequirePackage[sf,raggedright]{titlesec} % use sans serif for chapter/section headings
|
||||
|
||||
\@ifundefined{chapter}%
|
||||
{}%
|
||||
{\renewcommand{\chaptermark}[1]{%
|
||||
\ifthenelse{\value{chapter} < 1}%
|
||||
{\markboth{#1}{}}%
|
||||
{\markboth{\thechapter.\ #1}{}}
|
||||
}}
|
||||
|
||||
\addtolength{\headheight}{\baselineskip}
|
||||
\renewcommand{\headrulewidth}{0pt} % thin line under header
|
||||
\renewcommand{\footrulewidth}{0pt}
|
||||
\fancyhf{} % clear all fields.
|
||||
\fancyhead[R]{\sffamily\thepage} %{\bf \rightmark}
|
||||
\fancyhead[L]{\sffamily\nouppercase{\leftmark}} %{\slshape \leftmark}
|
||||
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyhf{} % clear all header and footer fields
|
||||
\fancyfoot[C]{\sffamily\thepage} % except the center
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\renewcommand{\footrulewidth}{0pt}
|
||||
}
|
||||
|
453
thesis/hgblistings.sty
Normal file
453
thesis/hgblistings.sty
Normal file
|
@ -0,0 +1,453 @@
|
|||
%% hgblistings.sty
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: UTF-8
|
||||
|
||||
\ProvidesPackage{hgblistings}[2023/11/06]%%AUTO
|
||||
|
||||
\RequirePackage{xifthen}
|
||||
\RequirePackage{textcomp} %% required for upquote option
|
||||
|
||||
\RequirePackage{xcolor}
|
||||
\definecolor{ListingsBackgroundColor}{gray}{0.95}
|
||||
|
||||
\RequirePackage{listingsutf8}
|
||||
\lstset{
|
||||
inputencoding=utf8,
|
||||
extendedchars=true,
|
||||
basicstyle=\ttfamily\footnotesize,%
|
||||
keywordstyle=,%\ttfamily,%\bfseries,
|
||||
identifierstyle=,%\sffamily, %\bfseries
|
||||
commentstyle=\normalfont\itshape,%
|
||||
stringstyle=\ttfamily,%
|
||||
showstringspaces=false,%
|
||||
columns = flexible,% fixed,
|
||||
breaklines=true,%
|
||||
tabsize=2, %
|
||||
backgroundcolor=\color{ListingsBackgroundColor},
|
||||
xleftmargin=6mm,%
|
||||
frame=none,
|
||||
framexleftmargin=6mm,
|
||||
numbers=left,%
|
||||
numbersep=5pt,%
|
||||
numberstyle=\normalfont\scriptsize,%
|
||||
stepnumber=1,%
|
||||
numberfirstline=true,%
|
||||
numberblanklines=true,%
|
||||
texcl=false,% %important: read program comments as Latex content
|
||||
mathescape=false, %no mathescape by default
|
||||
upquote=true,%
|
||||
keepspaces=true,%
|
||||
}
|
||||
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\lstset{literate=% to allow Umlauts etc. in listed code % utf8-change
|
||||
{Ö}{{\"O}}1
|
||||
{Ä}{{\"A}}1
|
||||
{Ü}{{\"U}}1
|
||||
{ü}{{\"u}}1
|
||||
{ä}{{\"a}}1
|
||||
{ö}{{\"o}}1
|
||||
{ß}{{\ss}}2
|
||||
}
|
||||
|
||||
%% Code Environments ----------------------------------------------------------
|
||||
|
||||
% Code Environment for C (ANSI)
|
||||
\lstnewenvironment{CCode}[1][]
|
||||
{\lstset{%
|
||||
language=[ANSI]C,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for C++ (ISO)
|
||||
\lstnewenvironment{CppCode}[1][]
|
||||
{\lstset{%
|
||||
language=[ISO]C++,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for C#
|
||||
\lstnewenvironment{CsCode}[1][]
|
||||
{\lstset{%
|
||||
language=[Sharp]C,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
% Language Definition and Code Environment for CSS
|
||||
\lstdefinelanguage{CSS}
|
||||
{ morekeywords={accelerator,azimuth,background,background-attachment,%
|
||||
background-color,background-image,background-position,%
|
||||
background-position-x,background-position-y,background-repeat,%
|
||||
behavior,border,border-bottom,border-bottom-color,%
|
||||
border-bottom-style,border-bottom-width,border-collapse,%
|
||||
border-color,border-left,border-left-color,border-left-style,%
|
||||
border-left-width,border-right,border-right-color,%
|
||||
border-right-style,border-right-width,border-spacing,%
|
||||
border-style,border-top,border-top-color,border-top-style,%
|
||||
border-top-width,border-width,bottom,caption-side,clear,%
|
||||
clip,color,content,counter-increment,counter-reset,cue,%
|
||||
cue-after,cue-before,cursor,direction,display,elevation,%
|
||||
empty-cells,filter,float,font,font-family,font-size,%
|
||||
font-size-adjust,font-stretch,font-style,font-variant,%
|
||||
font-weight,height,ime-mode,include-source,%
|
||||
layer-background-color,layer-background-image,layout-flow,%
|
||||
layout-grid,layout-grid-char,layout-grid-char-spacing,%
|
||||
layout-grid-line,layout-grid-mode,layout-grid-type,left,%
|
||||
letter-spacing,line-break,line-height,list-style,%
|
||||
list-style-image,list-style-position,list-style-type,margin,%
|
||||
margin-bottom,margin-left,margin-right,margin-top,%
|
||||
marker-offset,marks,max-height,max-width,min-height,%
|
||||
min-width,orphans,outline,outline-color,outline-style,%
|
||||
outline-width,overflow,overflow-X,overflow-Y,padding,%
|
||||
padding-bottom,padding-left,adding-right,padding-top,%
|
||||
page,page-break-after,page-break-before,page-break-inside,%
|
||||
pause,pause-after,pause-before,pitch,pitch-range,%
|
||||
play-during,position,quotes,-replace,richness,right,%
|
||||
ruby-align,ruby-overhang,ruby-position,-set-link-source,%
|
||||
size,speak,speak-header,speak-numeral,speak-punctuation,%
|
||||
speech-rate,stress,scrollbar-arrow-color,scrollbar-base-color,%
|
||||
scrollbar-dark-shadow-color,scrollbar-face-color,%
|
||||
scrollbar-highlight-color,scrollbar-shadow-color,%
|
||||
scrollbar-3d-light-color,scrollbar-track-color,table-layout,%
|
||||
text-align,text-align-last,text-decoration,text-indent,%
|
||||
text-justify,text-overflow,text-shadow,text-transform,%
|
||||
text-autospace,text-kashida-space,text-underline-position,top,%
|
||||
unicode-bidi,-use-link-source,vertical-align,visibility,%
|
||||
voice-family,volume,white-space,widows,width,word-break,%
|
||||
word-spacing,word-wrap,writing-mode,z-index,zoom},%
|
||||
sensitive=false,
|
||||
morecomment=[s]{/*}{*/},
|
||||
morestring=[s]{:}{;},
|
||||
morestring=[b]"
|
||||
}
|
||||
|
||||
\lstnewenvironment{CssCode}[1][]
|
||||
{\lstset{%
|
||||
language=CSS,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Enivornmente for Generic Code
|
||||
\lstnewenvironment{GenericCode}[1][]
|
||||
{\lstset{%
|
||||
language={},
|
||||
keepspaces=true,
|
||||
commentstyle={},
|
||||
texcl=false,
|
||||
escapechar={},
|
||||
escapeinside={},
|
||||
#1}}
|
||||
{}
|
||||
|
||||
|
||||
% Code Enivornmente for HTML
|
||||
\lstnewenvironment{HtmlCode}[1][]
|
||||
{\lstset{%
|
||||
language=HTML,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Enivornmente for Java
|
||||
\lstnewenvironment{JavaCode}[1][]
|
||||
{\lstset{%
|
||||
language=Java,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Language Definition and Code Environment for JavaScript
|
||||
\lstdefinelanguage{JavaScript}{
|
||||
alsoletter={.},
|
||||
keywords={arguments, async, await, break, case, catch, class, const, continue, debugger,%
|
||||
default, delete, do, else, enum, eval, export, extends, false, finally, for,%
|
||||
function, if, implements, import, in, instanceof, interface, let, new, null,%
|
||||
package, private, protected, public, return, static, super, switch, this,%
|
||||
throw, true, try, typeof, var, void, while, with, yield}, % JavaScript ES6 keywords
|
||||
morekeywords={add, apply, args, Array, Array.from, Array.isArray, Array.of,%
|
||||
Array.prototype, ArrayBuffer, bind, Boolean, call, charAt, charCodeAt, clear,%
|
||||
codePointAt, concat, constructor, copyWithin, DataView, Date, Date.now,%
|
||||
Date.parse, Date.prototype, Date.UTC, decodeURI, decodeURIComponent, encodeURI,%
|
||||
encodeURIComponent, endsWith, entries, Error, Error.prototype, EvalError, every,%
|
||||
false, fill, filter, find, findIndex, Float32Array, Float64Array, forEach,%
|
||||
FulfillPromise, Function, Function.length, get, getDate, getDay, getFullYear,%
|
||||
getHours, getMilliseconds, getMinutes, getMonth, getSeconds, getTime,%
|
||||
getTimezoneOffset, getUTCDate, getUTCDay, getUTCFullYear, getUTCHours,%
|
||||
getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds, has,hasInstance,%
|
||||
hasOwnProperty, ignoreCase, includes, indexOf, indexOf, Infinity, Int8Array,%
|
||||
Int16Array, Int32Array, isConcatSpreadable, isFinite, isNaN, IsPromise,%
|
||||
isPrototypeOf, Iterable, iterator, join, JSON, JSON.parse, JSON.stringify, keys,%
|
||||
lastIndexOf, lastIndexOf, length, localeCompare, map, Map, match, match, Math,%
|
||||
Math.abs , Math.acos, Math.acosh, Math.asin, Math.asinh, Math.atan, Math.atan2,%
|
||||
Math.atanh, Math.cbrt, Math.ceil, Math.clz32, Math.cos, Math.cosh, Math.E,%
|
||||
Math.exp, Math.expm1, Math.floor, Math.fround, Math.hypot, Math.imul, Math.LN2,%
|
||||
Math.LN10, Math.log, Math.log1p, Math.log2, Math.LOG2E, Math.log10, Math.LOG10E,%
|
||||
Math.max, Math.min, Math.PI, Math.pow, Math.random, Math.round, Math.sign,%
|
||||
Math.sin, Math.sinh, Math.sqrt, Math.SQRT1_2, Math.SQRT2, Math.tan, Math.tanh,%
|
||||
Math.trunc, message, multiline, name, NaN, NewPromiseCapability, next, normalize,%
|
||||
null, Number, Number.EPSILON, Number.isFinite, Number.isInteger, Number.isNaN,%
|
||||
Number.isSafeInteger, Number.MAX_SAFE_INTEGER, Number.MAX_VALUE,%
|
||||
Number.MIN_SAFE_INTEGER, Number.MIN_VALUE, Number.NaN, Number.NEGATIVE_INFINITY,%
|
||||
Number.parseFloat, Number.parseInt, Number.POSITIVE_INFINITY, Number.prototype,%
|
||||
Object, Object, Object.assign, Object.create, Object.defineProperties,%
|
||||
Object.defineProperty, Object.freeze, Object.getOwnPropertyDescriptor,%
|
||||
Object.getOwnPropertyNames, Object.getOwnPropertySymbols, Object.getPrototypeOf,%
|
||||
Object.is, Object.isExtensible, Object.isFrozen, Object.isSealed, Object.keys,%
|
||||
Object.preventExtensions, Object.prototype, Object.seal, Object.setPrototypeOf,%
|
||||
of, parseFloat, parseInt, pop, Promise, Promise.all , Promise.race,%
|
||||
Promise.reject, Promise.resolve, PromiseReactionJob, propertyIsEnumerable,%
|
||||
prototype, Proxy, Proxy.revocable , push, RangeError, reduce, reduceRight,%
|
||||
ReferenceError, Reflect, Reflect.apply, Reflect.construct,%
|
||||
Reflect.defineProperty, Reflect.deleteProperty, Reflect.enumerate, Reflect.get,%
|
||||
Reflect.getOwnPropertyDescriptor, Reflect.getPrototypeOf, Reflect.has,%
|
||||
Reflect.isExtensible, Reflect.ownKeys, Reflect.preventExtensions, Reflect.set,%
|
||||
Reflect.setPrototypeOf, Reflection, RegExp, RegExp, RegExp.prototype, repeat,%
|
||||
replace, replace, reverse, search, search, Set, set, setDate, setFullYear,%
|
||||
setHours, setMilliseconds, setMinutes, setMonth, setSeconds, setTime, setUTCDate,%
|
||||
setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth,%
|
||||
setUTCSeconds, shift, slice, slice, some, sort, species, splice, split, split,%
|
||||
startsWith, String, String.fromCharCode, String.fromCodePoint, String.raw,%
|
||||
substring, Symbol, Symbol.for, Symbol.hasInstance, Symbol.isConcatSpreadable,%
|
||||
Symbol.iterator, Symbol.keyFor, Symbol.match, Symbol.prototype, Symbol.replace,%
|
||||
Symbol.replace, Symbol.search, Symbol.species, Symbol.split, Symbol.toPrimitive,%
|
||||
Symbol.toStringTag, Symbol.unscopables, SyntaxError, then, toDateString,%
|
||||
toExponential, toFixed, toISOString, toJSON, toLocaleDateString,%
|
||||
toLocaleLowerCase, toLocaleString, toLocaleString, toLocaleString, toLocaleString,%
|
||||
toLocaleTimeString, toLocaleUpperCase, toLowerCase, toPrecision, toPrimitive,%
|
||||
toString, toStringTag, toTimeString, toUpperCase, toUTCString,%
|
||||
TriggerPromiseReactions, trim, true, TypeError, Uint8Array, Uint8ClampedArray,%
|
||||
Uint16Array, Uint32Array, undefined, unscopables, unshift, URIError, valueOf,%
|
||||
WeakMap, WeakSet}, % JavaScript extended keywords
|
||||
morekeywords={app.all, app.delete, app.disable, app.disabled, app.enable, app.enabled,%
|
||||
app.engine, app.get, app.listen, app.locals, app.METHOD, app.mountpath, app.param,%
|
||||
app.path, app.post, app.put, app.render, app.route, app.set, app.use, express,%
|
||||
express.Router, express.static, req.acceptLanguages, req.accepts,%
|
||||
req.acceptsCharsets, req.acceptsEncodings, req.app, req.baseUrl, req.body,%
|
||||
req.cookies, req.fresh, req.get, req.hostname, req.ip, req.ips, req.is,%
|
||||
req.method, req.originalUrl, req.param, req.params, req.path, req.protocol,%
|
||||
req.query, req.range, req.route, req.secure, req.signedCookies, req.stale,%
|
||||
req.subdomains, req.xhr, res.app, res.append, res.attachment, res.clearCookie,%
|
||||
res.cookies, res.download, res.end, res.format, res.get, res.headersSent,%
|
||||
res.json, res.jsonp, res.links, res.locals, res.location, res.redirect,%
|
||||
res.render, res.sendFile, res.sendStatus, res.set, res.status, res.type, res.vary,%
|
||||
router.all, router.METHOD, router.param, router.route, router.use}, % express keywords
|
||||
morekeywords={agent.createConnection, agent.destroy, agent.freeSockets, agent.getName,%
|
||||
agent.maxFreeSockets, agent.maxSockets, agent.requests, agent.sockets,%
|
||||
certificate.exportChallenge, certificate.exportPublicKey, certificate.verifySpkac,%
|
||||
child.channel, child.connected, child.disconnect, child.kill, child.pid,%
|
||||
child.send, child.stderr, child.stdin, child.stdio, child.stdout,%
|
||||
child_process.exec, child_process.execFile, child_process.execFileSync,%
|
||||
child_process.execSync, child_process.fork, child_process.spawn,%
|
||||
child_process.spawnSync, cipher.final, cipher.getAuthTag, cipher.setAAD,%
|
||||
cipher.setAutoPadding, cipher.update, clearImmediate, clearImmediate,%
|
||||
clearInterval, clearInterval, clearTimeout, clearTimeout, console, console.assert,%
|
||||
console.dir, console.error, console.info, console.log, console.time,%
|
||||
console.timeEnd, console.trace, console.warn, decipher.final, decipher.setAAD,%
|
||||
decipher.setAuthTag, decipher.setAutoPadding, decipher.update, dgram.createSocket,%
|
||||
dgram.createSocket, diffieHellman.computeSecret, diffieHellman.generateKeys,%
|
||||
diffieHellman.getGenerator, diffieHellman.getPrime, diffieHellman.getPrivateKey,%
|
||||
diffieHellman.getPublicKey, diffieHellman.setPrivateKey,%
|
||||
diffieHellman.setPublicKey, diffieHellman.verifyError, dns.getServers,%
|
||||
dns.getServers, dns.lookup, dns.lookup, dns.lookupService, dns.resolve,%
|
||||
dns.resolve4, dns.resolve6, dns.resolveCname, dns.resolveMx, dns.resolveNaptr,%
|
||||
dns.resolveNs, dns.resolvePtr, dns.resolveSoa, dns.resolveSrv, dns.resolveTxt,%
|
||||
dns.reverse, dns.setServers, ecdh.computeSecret, ecdh.generateKeys,%
|
||||
ecdh.getPrivateKey, ecdh.getPublicKey, ecdh.setPrivateKey, ecdh.setPublicKey,%
|
||||
error.address, error.code, error.errno, error.message, error.path, error.port,%
|
||||
error.stack, error.syscall, exports, fs.access, fs.accessSync, fs.appendFile,%
|
||||
fs.appendFileSync, fs.chmod, fs.chmodSync, fs.chown, fs.chownSync, fs.close,%
|
||||
fs.closeSync, fs.constants, fs.createReadStream, fs.createWriteStream,%
|
||||
fs.exists, global, http.createServer, http.get, http.globalAgent,%
|
||||
http.request, https.createServer, https.get, https.globalAgent, https.request,%
|
||||
message.destroy, message.headers, message.httpVersion, message.method,%
|
||||
message.rawHeaders, message.rawTrailers, message.setTimeout, message.socket,%
|
||||
message.statusCode, message.statusMessage, message.trailers, message.url,%
|
||||
module, module.children, module.exports, module.filename, module.id,%
|
||||
module.loaded, module.parent, module.require, os.arch, os.constants,%
|
||||
os.cpus, os.endianness, os.EOL, os.freemem, os.homedir, os.hostname,%
|
||||
os.loadavg, os.networkInterfaces, os.platform, os.release, os.tmpdir,%
|
||||
os.totalmem, os.type, os.uptime, os.userInfo, path.basename, path.delimiter,%
|
||||
path.dirname, path.extname, path.format, path.isAbsolute, path.join,%
|
||||
path.normalize, path.parse, path.posix, path.relative, path.resolve,%
|
||||
path.sep, path.win32, process, process.abort, process.arch, process.argv,%
|
||||
process.argv0, process.channel, process.chdir, process.config,%
|
||||
process.connected, process.cpuUsage, process.cwd, process.disconnect,%
|
||||
process.emitWarning, process.env, process.execArgv, process.execPath,%
|
||||
process.exit, process.exitCode, process.getegid, process.geteuid,%
|
||||
process.getgid, process.getgroups, process.getuid, process.hrtime,%
|
||||
process.initgroups, process.kill, process.mainModule, process.memoryUsage,%
|
||||
process.nextTick, process.pid, process.platform, process.release,%
|
||||
process.send, process.setegid, process.seteuid, process.setgid,%
|
||||
process.setgroups, process.setuid, process.stderr, process.stdin,%
|
||||
process.stdout, process.title, process.umask, process.uptime,%
|
||||
process.version, process.versions, querystring.escape, querystring.parse,%
|
||||
querystring.stringify, querystring.unescape, r.clearLine, readable.pause,%
|
||||
readable.pipe, readable.push, readable.push, readable.read, readable.read,%
|
||||
readable.resume, readable.setEncoding, readable.unpipe, readable.unshift,%
|
||||
readable.wrap, readable._read, readStream.bytesRead, readStream.isRaw,%
|
||||
readStream.path, readStream.setRawMode, repl.start, request.abort,%
|
||||
request.aborted, request.end, request.flushHeaders, request.setNoDelay,%
|
||||
request.setSocketKeepAlive, request.setTimeout, request.write, require,%
|
||||
require.cache, require.extensions, response.addTrailers, response.end,%
|
||||
response.finished, response.getHeader, response.getHeaderNames,%
|
||||
response.getHeaders, response.hasHeader, response.headersSent,%
|
||||
response.removeHeader, response.sendDate, response.setHeader,%
|
||||
response.setTimeout, response.statusCode, response.statusMessage,%
|
||||
response.write, response.writeContinue, response.writeHead,%
|
||||
rl.clearScreenDown, rl.close, rl.createInterface, rl.cursorTo,%
|
||||
rl.emitKeypressEvents, rl.moveCursor, rl.pause, rl.prompt, rl.question,%
|
||||
rl.resume, rl.setPrompt, rl.write, script.runInNewContext,%
|
||||
script.runInThisContext, server.addContext, server.address,%
|
||||
server.address, server.close, server.close, server.connections,%
|
||||
server.getTicketKeys, server.listen, server.listen, server.setTicketKeys,%
|
||||
server.setTimeout, server.setTimeout, server.timeout, server.timeout,%
|
||||
setImmediate, setInterval, setTimeout, socket.addMembership,%
|
||||
socket.address, socket.bind, socket.bind, socket.close,%
|
||||
socket.dropMembership, socket.ref, socket.send, socket.setBroadcast,%
|
||||
socket.setMulticastLoopback, socket.setMulticastTTL, socket.setTTL,%
|
||||
socket.unref, stream.Readable, stringDecoder.end, stringDecoder.write,%
|
||||
timeout.ref, timeout.unref, tls.connect, tls.createSecureContext,%
|
||||
tls.createServer, tls.getCiphers, tlsSocket.address,%
|
||||
tlsSocket.authorizationError, tlsSocket.authorized, tlsSocket.encrypted,%
|
||||
tlsSocket.getCipher, tlsSocket.getEphemeralKeyInfo,%
|
||||
tlsSocket.getPeerCertificate, tlsSocket.getProtocol, tlsSocket.getSession,%
|
||||
tlsSocket.getTLSTicket, tlsSocket.localAddress, tlsSocket.localPort,%
|
||||
tlsSocket.remoteAddress, tlsSocket.remoteFamily, tlsSocket.remotePort,%
|
||||
tlsSocket.renegotiate, tlsSocket.setMaxSendFragment, transform._flush,%
|
||||
transform._transform, util.debuglog, util.deprecate, util.format,%
|
||||
util.inherits, util.inspect, v8.getHeapStatistics, v8.setFlagsFromString,%
|
||||
vm.createContext, vm.isContext, vm.runInContext, vm.runInDebugContext,%
|
||||
vm.runInNewContext, vm.runInThisContext, watcher.close, worker.disconnect,%
|
||||
worker.exitedAfterDisconnect, worker.id, worker.isConnected,%
|
||||
worker.isDead, worker.kill, worker.process, worker.send, worker.suicide,%
|
||||
writable.cork, writable.end, writable.setDefaultEncoding, writable.write,%
|
||||
writeStream.bytesWritten, writeStream.columns, writeStream.path,%
|
||||
writeStream.rows, zlib, zlib.createGunzip, zlib.createGzip, zlib.createInflate,%
|
||||
zlib.createInflateRaw, zlib.createUnzip, zlib.deflate, zlib.deflateRaw,%
|
||||
zlib.deflateRawSync, zlib.deflateSync, zlib.gunzip, zlib.gunzipSync,%
|
||||
zlib.gzip, zlib.gzipSync, zlib.inflate, zlib.inflateRaw, zlib.inflateRawSync,%
|
||||
zlib.inflateSync, zlib.unzip, zlib.unzipSync, __dirname, __filename}, % Node.js keywords
|
||||
morekeywords={assert, assert.deepEqual, assert.deepStrictEqual,%
|
||||
assert.doesNotThrow, assert.equal, assert.fail, assert.ifError,%
|
||||
assert.notDeepEqual, assert.notDeepStrictEqual, assert.notEqual,%
|
||||
assert.notStrictEqual, assert.ok, assert.strictEqual, assert.throws, describe,%
|
||||
toBe, it, xdescribe, beforeEach, afterEach, beforeAll, afterAll, expect, it,%
|
||||
xit, xdiscribe, pending, and.callThrough, and.returnValue, and.returnValues,%
|
||||
and.callFake, and.throwError, and.stub, .not, .calls.any, .calls.count,%
|
||||
.calls.argsFor, .calls.allArgs, .calls.all, .calls.mostRecent, .calls.first,%
|
||||
.calls.reset, jasmine.createSpy, jasmine.createSpyObj, jasmine.any,%
|
||||
jasmine.anything, jasmine.objectContaining, jasmine.arrayContaining,%
|
||||
jasmine.stringMatching, asymmetricMatch, jasmine.clock, .not.toBeTruthy,%
|
||||
.toBeTruthy, .not.toBeFalsy, .toBeFalsy, .not.toBeDefined .toBeDefined,%
|
||||
.not.toBeNull .toBeNull, .not.toEqual .toEqual, .not.toBeCloseTo .toBeCloseTo,%
|
||||
.not.toContain, .toContain, .not.toMatch, .toMatch, .not.toBeGreaterThan,%
|
||||
.toBeGreaterThan, .not.toBeLessThan, .toBeLessThan, .toThrow, .not.toThrow,%
|
||||
.toBeNull, .not.toBeNull, .toBeDefined, .not.toBeDefined}, % Node.js Assert, Jasmine, ... keywords
|
||||
sensitive=true,
|
||||
morestring=[b]",
|
||||
morestring=[d]',
|
||||
morestring=[s]{`}{`},
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
morecomment=[s]{/**}{*/}
|
||||
}
|
||||
|
||||
\lstnewenvironment{JsCode}[1][]
|
||||
{\lstset{%
|
||||
language=JavaScript,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for LaTeX
|
||||
\lstnewenvironment{LaTeXCode}[1][] % code environment for Latex
|
||||
{\lstset{%
|
||||
language=[LaTeX]TeX,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for Objective-C
|
||||
\lstnewenvironment{ObjCCode}[1][]
|
||||
{\lstset{%
|
||||
language=[Objective]C,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for PHP
|
||||
\lstnewenvironment{PhpCode}[1][]
|
||||
{\lstset{%
|
||||
language=PHP,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for Python
|
||||
\lstnewenvironment{PythonCode}[1][]
|
||||
{\lstset{%
|
||||
language=Python,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Language Definition and Code Environment for Swift
|
||||
\lstdefinelanguage{Swift}
|
||||
{ keywords=[1]{typealias,true, false,catch,private,internal,public,func,protocol,%
|
||||
optional,return,nil,catch,switch,let,as,var,if,in,for,while,where,do,else,case,%
|
||||
break,import,class,struct,enum,override,super,required,designated,convenience},
|
||||
keywords=[2]{String,Int,Double,Float},
|
||||
sensitive=true,
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
morestring=[b]',
|
||||
morestring=[b]"
|
||||
}
|
||||
|
||||
\lstnewenvironment{SwiftCode}[1][]
|
||||
{\lstset{%
|
||||
language=Swift,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Code Environment for XML
|
||||
\lstnewenvironment{XmlCode}[1][]
|
||||
{\lstset{%
|
||||
language=XML,
|
||||
escapeinside={/+}{+/}, % makes "/+" and "+/" available for Latex escapes (labels etc.)
|
||||
#1}}%
|
||||
{}
|
||||
|
||||
|
||||
% Disable the lstlisting environment (due to popular abuse)
|
||||
\newcommand{\@WarnLstlisting}{
|
||||
\GenericError{}{Package hgblistings Error: The 'lstlisting' environment is disabled}%
|
||||
{See the error note inserted in the document output for details.}{}%
|
||||
\begin{quote}
|
||||
\color{red}\textbf{NOTE:} The \texttt{lstlisting} environment has been deliberately disabled in this setup.
|
||||
Use \emph{inline code} (breakable and \emph{without} a caption) or create a \emph{float container} with
|
||||
\texttt{{\textbackslash}begin\{program\} \ldots {\textbackslash}end\{program\}} instead!
|
||||
See the \texttt{hgbthesis} tutorial for examples.
|
||||
\end{quote}%
|
||||
}
|
||||
\renewenvironment{lstlisting}[0]%
|
||||
{\@WarnLstlisting\expandafter\comment}%
|
||||
{\expandafter\endcomment}%
|
20
thesis/hgbmath.sty
Normal file
20
thesis/hgbmath.sty
Normal file
|
@ -0,0 +1,20 @@
|
|||
%% hgbmath.sty
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{hgbmath}[2023/11/06]%%AUTO
|
||||
|
||||
\RequirePackage{amsmath,amsfonts,amssymb,amsbsy}
|
||||
\RequirePackage{subdepth} % for positioning of sub and super scripts
|
||||
\RequirePackage{exscale} % correct scaling of math mode output in every environment
|
||||
|
||||
% Commands for real, complex, etc. numbers (AMS Blackboard)
|
||||
\newcommand{\R}{\ensuremath{\mathbb{R}}}
|
||||
\newcommand{\Z}{\ensuremath{\mathbb{Z}}}
|
||||
\newcommand{\N}{\ensuremath{\mathbb{N}}}
|
||||
%\newcommand{\C}{\mathbb{C}} % utf8-change (problem with T1 encoding)
|
||||
\newcommand{\Cpx}{\ensuremath{\mathbb{C}}} % utf8-change
|
||||
\newcommand{\Q}{\ensuremath{\mathbb{Q}}}
|
24
thesis/hgbpdfa.sty
Normal file
24
thesis/hgbpdfa.sty
Normal file
|
@ -0,0 +1,24 @@
|
|||
%% hgbpdfa.sty
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{hgbpdfa}[2023/11/06]%%AUTO
|
||||
|
||||
%% Setup for producing PDF/A-2B compliant output using the new LaTeX-internal
|
||||
%% PDF metadata management features
|
||||
%% (see https://ctan.org/tex-archive/macros/latex/contrib/pdfmanagement-testphase).
|
||||
%% NOTE: This package must be loaded before the \documentclass statement!
|
||||
|
||||
\pdfmajorversion=1
|
||||
\pdfminorversion=7 % PDF Version 1.7 (Acrobat 8.x)
|
||||
|
||||
\RequirePackage{pdfmanagement-testphase} % only needed before LaTeX 2022-06-01
|
||||
\IfPackageAtLeastTF{pdfmanagement-testphase}{2022-09-26}% (Version 0.95s)
|
||||
{}%
|
||||
{\PackageWarning{hgbpdfa}{Package 'pdfmanagement-testphase' 0.95s or higher required, output may not be PDF/A!}}
|
||||
|
||||
\DocumentMetadata{pdfstandard=A-2b}
|
||||
%% Specification of color profiles may follow here!
|
67
thesis/hgbreport.cls
Normal file
67
thesis/hgbreport.cls
Normal file
|
@ -0,0 +1,67 @@
|
|||
%% hgbreport.cls
|
||||
%% LaTeX template for creating lab and term reports as well as other forms of academic documentation
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wolfgang Hochleitner (wolfgang.hochleitner@fh-hagenberg.at)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
%% Package Information --------------------------------------------------------
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{hgbreport}[2023/11/06]%%AUTO
|
||||
|
||||
\typeout{****************** hgbreport.cls (options=\@nameuse{opt@hgbreport.cls}) ***********************}
|
||||
|
||||
\RequirePackage{xifthen}
|
||||
|
||||
\RequirePackage{ifpdf} % for checking PDF mode
|
||||
\ifpdf{}% \typeout{hgbreport: *** LaTeX in PDF mode ***}
|
||||
\else{\errmessage{hgbreport: *** LaTeX NOT running in PDF mode ***}}
|
||||
\fi
|
||||
|
||||
%% Handling class options --------------------------------------------------------------
|
||||
|
||||
\DeclareOption{notitlepage}{\PassOptionsToClass{\CurrentOption}{report}}
|
||||
\DeclareOption{apa}{\PassOptionsToPackage{\CurrentOption}{hgbbib}}
|
||||
% pass all other options to hgb.sty
|
||||
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{hgb}}
|
||||
\ProcessOptions*
|
||||
|
||||
|
||||
%% Paper options and style file -----------------------------------------------
|
||||
|
||||
\LoadClass[a4paper,11pt,onecolumn]{report}
|
||||
\RequirePackage[top=36mm,bottom=40mm,left=32mm,right=32mm]{geometry} %showframe
|
||||
|
||||
\RequirePackage{hgb} % load style file hgb.sty with options registered above
|
||||
|
||||
|
||||
%% Set title font to SF and inject PDF meta-data
|
||||
\RequirePackage{titling}
|
||||
\renewcommand{\maketitlehooka}{%
|
||||
\sffamily%
|
||||
\hypersetup{
|
||||
pdftitle={\@title},
|
||||
pdfauthor={\@author},
|
||||
pdfsubject={},
|
||||
pdfcreator={LaTeX using class hgbreport [\hgbDate]},
|
||||
pdfproducer={pdflatex},
|
||||
pdfkeywords={}
|
||||
}%
|
||||
}
|
||||
|
||||
%% Set abstract name to bold
|
||||
\RequirePackage{abstract}%
|
||||
\renewcommand{\abstractnamefont}{\sffamily\small\bfseries}
|
||||
|
||||
|
||||
%% Additional Hagenberg packages ----------------------------------------------
|
||||
|
||||
\RequirePackage{hgbmath}
|
||||
\RequirePackage{hgbalgo}
|
||||
\RequirePackage{hgbheadings}
|
||||
\RequirePackage{hgbabbrev}
|
||||
\RequirePackage{hgblistings}
|
||||
\RequirePackage{hgbbib}
|
||||
|
||||
\endinput
|
585
thesis/hgbthesis.cls
Normal file
585
thesis/hgbthesis.cls
Normal file
|
@ -0,0 +1,585 @@
|
|||
%% hgbthesis.cls
|
||||
%% LaTeX template for creating diploma theses, masters's theses, bachelor's theses and other term papers.
|
||||
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
|
||||
%% Author: Wilhelm Burger (wilbur@ieee.org)
|
||||
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
|
||||
%% File encoding: ASCII
|
||||
|
||||
%% Package Information --------------------------------------------------------
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{hgbthesis}[2023/11/06]%%AUTO
|
||||
|
||||
\RequirePackage{xifthen}
|
||||
|
||||
\RequirePackage{ifpdf} % for checking PDF mode
|
||||
\ifpdf{}% \typeout{hgbthesis: *** LaTeX in PDF mode ***}
|
||||
\else{\errmessage{hgbthesis: *** LaTeX NOT running in PDF mode ***}}
|
||||
\fi
|
||||
|
||||
%% Commands for Title Pages (used in class options) ---------------------------
|
||||
|
||||
\newcommand{\hgb@MainLanguage}{german} % also referenced in hgb.sty
|
||||
\newcommand{\@mastertitlepages}{}
|
||||
\newcommand{\@diplomatitlepages}{}
|
||||
\newcommand{\@bachelortitlepages}{}
|
||||
\newcommand{\@internshiptitlepages}{}
|
||||
\newcommand{\@maketitlepages}{\@mastertitlepages} %Default: Master's thesis
|
||||
|
||||
\newboolean{hgb@isProposal}
|
||||
\setboolean{hgb@isProposal}{false}
|
||||
|
||||
\newcommand{\@titlepagefont}{\sffamily}
|
||||
|
||||
%% Handling class options --------------------------------------------------------------
|
||||
|
||||
\DeclareOption{bachelor}{\renewcommand{\@maketitlepages}{\@bachelortitlepages}}
|
||||
\DeclareOption{master}{\renewcommand{\@maketitlepages}{\@mastertitlepages}}
|
||||
\DeclareOption{diploma}{\renewcommand{\@maketitlepages}{\@diplomatitlepages}}
|
||||
\DeclareOption{internship}{\renewcommand{\@maketitlepages}{\@internshiptitlepages}}
|
||||
\DeclareOption{apa}{\PassOptionsToPackage{\CurrentOption}{hgbbib}}
|
||||
\DeclareOption{proposal}{\setboolean{hgb@isProposal}{true}} % use with 'bachelor' or 'master' option
|
||||
% pass all other options to hgb.sty
|
||||
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{hgb}}
|
||||
\ProcessOptions*
|
||||
|
||||
|
||||
%% Paper Options and Style File -----------------------------------------------
|
||||
|
||||
\LoadClass[a4paper,11pt,oneside]{book}
|
||||
\RequirePackage[top=36mm,bottom=40mm,left=32mm,right=32mm]{geometry} %showframe
|
||||
|
||||
\RequirePackage{hgb} % load style file hgb.sty with options registered above
|
||||
|
||||
|
||||
%% Setup for Pages in the Front Matter ----------------------------------------
|
||||
|
||||
% General Commands
|
||||
|
||||
\newcommand{\@programtype}{\@MissingArg{Type of degree program not specified!}}
|
||||
\newcommand{\programtype}[1]{%
|
||||
\ifthenelse{\isempty{#1}}{}{\renewcommand{\@programtype}{#1}}
|
||||
}
|
||||
|
||||
\newcommand{\@programname}{\@MissingArg{Name of degree program not specified!}}
|
||||
\newcommand{\programname}[1]{%
|
||||
\ifthenelse{\isempty{#1}}{}{\renewcommand{\@programname}{#1}}
|
||||
}
|
||||
|
||||
\newcommand{\@placeofstudy}{\@MissingArg{Place of study not specified!}}
|
||||
\newcommand{\placeofstudy}[1]{%
|
||||
\ifthenelse{\isempty{#1}}{}{\renewcommand{\@placeofstudy}{#1}}
|
||||
}
|
||||
|
||||
\newcommand{\@advisor}{} % empty by default
|
||||
\newcommand{\advisor}[1]{%
|
||||
\renewcommand{\@advisor}{#1}
|
||||
}
|
||||
|
||||
\newcommand{\thesisnumber}[1]{%
|
||||
\ClassWarning{hgbthesis}{command '\protect\thesisnumber' is not supported any longer.}
|
||||
}
|
||||
|
||||
\newcommand{\coursetitle}[1]{%
|
||||
\ClassWarning{hgbthesis}{command '\protect\coursetitle' is not supported any longer.}
|
||||
}
|
||||
|
||||
\newcommand{\semester}[1]{%
|
||||
\ClassWarning{hgbthesis}{command '\protect\semester' is not supported any longer.}
|
||||
}
|
||||
|
||||
\newcommand{\@logofile}[0]{}
|
||||
\newcommand{\logofile}[1]{%
|
||||
\renewcommand{\@logofile}{#1}
|
||||
}
|
||||
|
||||
\newcommand{\makelogo}[0]{%
|
||||
\ifthenelse{\equal{\@logofile}{}}%
|
||||
{\vspace*{30mm}}%
|
||||
{\includegraphics[height=30mm]{\@logofile}}%
|
||||
}
|
||||
|
||||
% Special sectioning setup for thesis proposals (called in \@bachelortitlepages):
|
||||
\newcommand{\@proposalsetup}[0]{%
|
||||
% remove "Kapitel 1" (titlesec):
|
||||
\titleformat{\chapter}[display]{\sffamily}{}{0pt}{\Huge}
|
||||
% define an empty entry format for the TOC chapter numbering (tocbasic)
|
||||
\newcommand\noentrynumber[1]{}
|
||||
% set empty number and remove indentation for chapter numbering in TOC (tocbasic)
|
||||
\DeclareTOCStyleEntry[entrynumberformat=\noentrynumber,numwidth=0pt]{tocline}{chapter}
|
||||
% remove chapter number from sections and figures (basic LaTeX):
|
||||
\counterwithout{section}{chapter}
|
||||
\counterwithout{figure}{chapter}
|
||||
\counterwithout{table}{chapter}
|
||||
\counterwithout{equation}{chapter}
|
||||
\counterwithout{program}{chapter}
|
||||
\counterwithout{algorithm}{chapter}
|
||||
% remove chapter number from header (fancyhdr):
|
||||
\renewcommand{\chaptermark}[1]{\markboth{##1}{}}
|
||||
}
|
||||
|
||||
% Submission Commands
|
||||
|
||||
\newcounter{@dayofsubmission}
|
||||
\newcounter{@monthofsubmission}
|
||||
\newcounter{@yearofsubmission}
|
||||
|
||||
\setcounter{@dayofsubmission}{\the\day}
|
||||
\setcounter{@monthofsubmission}{\the\month}
|
||||
\setcounter{@yearofsubmission}{\the\year}
|
||||
|
||||
\newcommand{\dateofsubmission}[3]{% %\dateofsubmission{yyyy}{mm}{dd}
|
||||
\setcounter{@yearofsubmission}{#1}
|
||||
\setcounter{@monthofsubmission}{#2}
|
||||
\setcounter{@dayofsubmission}{#3}
|
||||
}
|
||||
|
||||
% Internship Report Commands
|
||||
|
||||
\newcommand{\@companyName}{\@MissingArg{Company not specified!}}
|
||||
\newcommand{\companyName}[1]{%
|
||||
\ifthenelse{\isempty{#1}}{}{\renewcommand{\@companyName}{#1}}
|
||||
}
|
||||
|
||||
\newcommand{\@companyUrl}{\@MissingArg{Company URL not specified!}}
|
||||
\newcommand{\companyUrl}[1]{%
|
||||
\ifthenelse{\isempty{#1}}{}{\renewcommand{\@companyUrl}{#1}}
|
||||
}
|
||||
|
||||
\newcommand{\companyPhone}[1]{%
|
||||
\ClassWarning{hgbthesis}{command '\protect\companyPhone' is not supported any longer.}
|
||||
}
|
||||
|
||||
%% ----------------------------------------------------------------------------
|
||||
|
||||
\newcommand{\@license}{\@MissingArg{License information is missing!}}
|
||||
\newcommand{\license}[1]{%
|
||||
\renewcommand{\@license}{#1}
|
||||
}
|
||||
|
||||
%% Commands for Creating the Title Pages --------------------------------------
|
||||
|
||||
%% dirty trick: adds blank space after each letter (https://stackoverflow.com/a/3951837)
|
||||
\newcommand{\@addspaces}[1]{%
|
||||
\@tfor\letter:=#1\do{%
|
||||
\letter\thinspace% %\space
|
||||
}\negthinspace%
|
||||
}
|
||||
|
||||
|
||||
\newcommand{\@bachelortitlefinal}{
|
||||
% use language switch to add english term
|
||||
\@addspaces{BACHELORARBEIT}%
|
||||
}
|
||||
|
||||
\newcommand{\@bachelortitleproposal}{
|
||||
% use language switch to add english term
|
||||
\@addspaces{BACHELORARBEIT} \space (\@addspaces{EXPOS{É}})%
|
||||
}
|
||||
|
||||
\newcommand{\@makebachelortitle}{%
|
||||
\begin{titlepage}%
|
||||
\begin{german}
|
||||
\rule{0mm}{1mm}%
|
||||
\vspace*{0mm}%
|
||||
\begin{center}%
|
||||
\@titlepagefont%
|
||||
\setlength{\unitlength}{1cm}%
|
||||
\parbox[c][5cm][c]{12cm}{%
|
||||
\centering\LARGE\bfseries%
|
||||
\setlength{\baselineskip}{25pt}%
|
||||
\@title%
|
||||
}
|
||||
\vskip 15mm%
|
||||
{\large\@author}%
|
||||
\vskip 15mm%
|
||||
\makelogo%
|
||||
\vskip 15mm%
|
||||
%
|
||||
\ifthenelse{\boolean{hgb@isProposal}}%
|
||||
{\Large{\@bachelortitleproposal}}%
|
||||
{\Large{\@bachelortitlefinal}}%
|
||||
\vskip 4mm%
|
||||
%
|
||||
{\large eingereicht am} \vskip 1mm {\@programtype}%
|
||||
\vskip 4mm%
|
||||
{\large\@programname}%
|
||||
\vskip 4mm%
|
||||
{\large in \@placeofstudy}%
|
||||
\vskip 16mm%
|
||||
{\large im \DTMgermanmonthname{\value{@monthofsubmission}} \arabic{@yearofsubmission}}%
|
||||
\end{center}%
|
||||
\vfil%
|
||||
\end{german}
|
||||
\end{titlepage}%
|
||||
}
|
||||
|
||||
\newcommand{\@mastertitlefinal}{
|
||||
% use language switch to add english term
|
||||
\@addspaces{MASTERARBEIT}%
|
||||
}
|
||||
|
||||
\newcommand{\@mastertitleproposal}{
|
||||
% use language switch to add english term
|
||||
\@addspaces{MASTERARBEIT} \space (\@addspaces{EXPOS{É}})%
|
||||
}
|
||||
|
||||
\newcommand{\@makemastertitle}{%
|
||||
\begin{titlepage}%
|
||||
\begin{german}
|
||||
\rule{0mm}{1mm}%
|
||||
\vspace*{0mm}%
|
||||
\begin{center}%
|
||||
\@titlepagefont %\normalfont
|
||||
\setlength{\unitlength}{1cm}%
|
||||
\parbox[c][5cm][c]{12cm}{%
|
||||
\centering\LARGE\bfseries%%
|
||||
\setlength{\baselineskip}{25pt}%
|
||||
\@title%
|
||||
}
|
||||
\vskip 15mm%
|
||||
{\large\@author}%{\large\scshape\@author}%
|
||||
\vskip 15mm%
|
||||
\makelogo%
|
||||
\vskip 15mm%
|
||||
%
|
||||
\ifthenelse{\boolean{hgb@isProposal}}%
|
||||
{\Large{\@mastertitleproposal}}%
|
||||
{\Large{\@mastertitlefinal}}%
|
||||
%
|
||||
\vskip 4mm%
|
||||
{\large eingereicht am} \vskip 1mm {\@programtype}%
|
||||
\vskip 4mm%
|
||||
{\large\@programname}%
|
||||
\vskip 4mm%
|
||||
{\large in \@placeofstudy}%
|
||||
\vskip 16mm%
|
||||
%{\large im \monthname[\value{@monthofsubmission}] \arabic{@yearofsubmission}}%
|
||||
{\large im \DTMgermanmonthname{\value{@monthofsubmission}} \arabic{@yearofsubmission}}%
|
||||
\end{center}%
|
||||
\vfil%
|
||||
\end{german}
|
||||
\end{titlepage}%
|
||||
}
|
||||
|
||||
\newcommand{\@makediplomatitle}{%
|
||||
\begin{titlepage}%
|
||||
\begin{german}
|
||||
\rule{0mm}{1mm}
|
||||
\vspace*{0mm}
|
||||
\begin{center}%
|
||||
\@titlepagefont %\normalfont
|
||||
\setlength{\unitlength}{1cm}
|
||||
\parbox[c][5cm][c]{12cm}{%
|
||||
\centering\LARGE\bfseries%
|
||||
\setlength{\baselineskip}{25pt}%
|
||||
\@title%
|
||||
}
|
||||
\vskip 15mm%
|
||||
{\large\@author}%{\large\scshape\@author}%
|
||||
\vskip 15mm%
|
||||
\makelogo%
|
||||
\vskip 15mm%
|
||||
{\Large\uppercase{\@addspaces{Diplomarbeit}}}%
|
||||
\vskip 4mm%
|
||||
{\large eingereicht am} \vskip 1mm {\@programtype}%
|
||||
\vskip 4mm%
|
||||
{\large\@programname}%
|
||||
\vskip 4mm%
|
||||
{\large in \@placeofstudy}%
|
||||
\vskip 16mm%
|
||||
%{\large im \monthname[\value{@monthofsubmission}] \arabic{@yearofsubmission}}%
|
||||
{\large im \DTMgermanmonthname{\value{@monthofsubmission}} \arabic{@yearofsubmission}}%
|
||||
\end{center}%
|
||||
\vfil%
|
||||
\end{german}
|
||||
\end{titlepage}%
|
||||
}
|
||||
|
||||
\newcommand{\@makeinternshiptitle}{%
|
||||
\begin{titlepage}%
|
||||
\begin{german}
|
||||
\rule{0mm}{1mm}
|
||||
\vspace*{0mm}
|
||||
\begin{center}%
|
||||
\@titlepagefont %\normalfont
|
||||
\setlength{\unitlength}{1cm}
|
||||
\parbox[c][5cm][c]{12cm}{%
|
||||
\centering\LARGE\bfseries%
|
||||
\setlength{\baselineskip}{25pt}%
|
||||
\@title%
|
||||
}
|
||||
\vskip 15mm%
|
||||
{\large\@author}%{\large\scshape\@author}%
|
||||
\vskip 15mm%
|
||||
\makelogo%
|
||||
\vskip 15mm%
|
||||
{\Large\uppercase{\@addspaces{Praktikumsbericht}}}%
|
||||
\vskip 4mm%
|
||||
%{\large Nr.~\@thesisnumber}
|
||||
%\vskip 4mm%
|
||||
{\large eingereicht am} \vskip 1mm {\@programtype}%
|
||||
\vskip 4mm%
|
||||
{\large\@programname}%
|
||||
\vskip 4mm%
|
||||
{\large in \@placeofstudy}%
|
||||
\vskip 16mm%
|
||||
%{\large im \monthname[\value{@monthofsubmission}] \arabic{@yearofsubmission}}%
|
||||
{\large im \DTMgermanmonthname{\value{@monthofsubmission}} \arabic{@yearofsubmission}}%
|
||||
\end{center}%
|
||||
\vfil%
|
||||
\end{german}
|
||||
\end{titlepage}%
|
||||
}
|
||||
|
||||
|
||||
% Copyright and License Page --------------------------------------------------
|
||||
|
||||
\newcommand{\strictlicense}{%
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
|
||||
{\license{Alle Rechte vorbehalten}}%
|
||||
{\license{All Rights Reserved}}
|
||||
}
|
||||
|
||||
\newcommand{\@ccLicenseAt}{%
|
||||
Diese Arbeit wird unter den Bedingungen der
|
||||
\textsf{Creative Commons Lizenz}
|
||||
\emph{Attribution-NonCommercial-NoDerivatives 4.0 International}
|
||||
(CC BY-NC-ND 4.0) ver\"offentlicht --
|
||||
siehe \url{https://creativecommons.org/licenses/by-nc-nd/4.0/}.}
|
||||
|
||||
\newcommand{\@ccLicenseEn}{%
|
||||
This work is published under the conditions of the
|
||||
\textsf{Creative Commons License}
|
||||
\emph{Attribution-NonCommercial-NoDerivatives 4.0 International}
|
||||
(CC BY-NC-ND 4.0)---see
|
||||
\url{https://creativecommons.org/licenses/by-nc-nd/4.0/}.}
|
||||
|
||||
\newcommand{\cclicense}{%
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
|
||||
{\license{\@ccLicenseAt}} % german CC license text
|
||||
{\license{\@ccLicenseEn}} % english CC license text (default)
|
||||
}
|
||||
|
||||
\cclicense % Creative Commons License (default)
|
||||
|
||||
\newcommand{\@makelicense}{
|
||||
\sbox\@tempboxa{\@license}%
|
||||
\ifdim \wd\@tempboxa >\hsize
|
||||
\begin{sloppypar}\noindent\@license\end{sloppypar}
|
||||
\else
|
||||
\global \@minipagefalse
|
||||
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\@copyrightpage}{%
|
||||
\newpage
|
||||
%\setcounter{page}{2}
|
||||
\thispagestyle{plain}
|
||||
\rule{0mm}{1mm}
|
||||
\vspace*{75mm}
|
||||
\begin{center}
|
||||
\textsf{\copyright\ Copyright\ \arabic{@yearofsubmission}\ \@author}
|
||||
\end{center}
|
||||
\vspace{8mm}
|
||||
\@makelicense
|
||||
}
|
||||
|
||||
|
||||
%% Company Page for Internship Report -----------------------------------------
|
||||
|
||||
\newcommand{\@companypage}{%
|
||||
\newpage
|
||||
\setcounter{page}{2}
|
||||
\thispagestyle{plain}
|
||||
\rule{0mm}{1mm}
|
||||
\begin{center}
|
||||
\vspace{25mm}
|
||||
{Praktikumsstelle:}
|
||||
\\
|
||||
\vspace{3mm}
|
||||
{\Large\sf\@companyName\\ \mbox{}}
|
||||
\\
|
||||
{\sf \@companyUrl}
|
||||
\\
|
||||
\vspace{45mm}
|
||||
{Kontaktperson:}
|
||||
\\
|
||||
\vspace{3mm}
|
||||
{\Large\sf\@advisor\\ \mbox{}}
|
||||
\end{center}
|
||||
}
|
||||
|
||||
|
||||
%% Advisor Page ----------------------------------------
|
||||
|
||||
\newcommand{\@advisorheaderfinal}{
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
|
||||
{Betreuung}%
|
||||
{Advisor}%
|
||||
}
|
||||
|
||||
\newcommand{\@advisorheaderproposal}{
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
|
||||
{Betreuung (Vorschlag)}%
|
||||
{Proposed Advisor}%
|
||||
}
|
||||
|
||||
\newcommand{\@advisorpage}{%
|
||||
\ifthenelse{\equal{\@advisor}{}}% does nothing if advisor not defined
|
||||
{}{%
|
||||
\newpage
|
||||
\setcounter{page}{2}
|
||||
\thispagestyle{plain}
|
||||
\rule{0mm}{1mm}
|
||||
\vspace{90mm}
|
||||
\begin{center}
|
||||
\ifthenelse{\boolean{hgb@isProposal}}%
|
||||
{\@advisorheaderproposal:}%
|
||||
{\@advisorheaderfinal:}%
|
||||
\\
|
||||
\vspace{3mm}
|
||||
{\Large\sf \@advisor\\ \mbox{}}
|
||||
\end{center}
|
||||
}
|
||||
}
|
||||
|
||||
%% Declaration Pages in German and English ------------------------------------
|
||||
|
||||
% German
|
||||
|
||||
\newcommand{\@declarationpageDe}{%
|
||||
\begin{german}
|
||||
\chapter{Erkl\"arung}
|
||||
\noindent
|
||||
%Standardfassung der FH-OOe ab 04.04.2012:
|
||||
Ich erkl\"are eidesstattlich, dass ich die vorliegende Arbeit selbstst\"andig und ohne fremde Hilfe verfasst,
|
||||
andere als die angegebenen Quellen nicht benutzt und die den benutzten Quellen entnommenen Stellen als
|
||||
solche gekennzeichnet habe. Die Arbeit wurde bisher in gleicher oder \"ahnlicher Form keiner anderen
|
||||
Pr\"ufungsbeh\"orde vorgelegt.
|
||||
Die vorliegende, gedruckte Arbeit ist mit dem elektronisch \"ubermittelten Textdokument identisch.
|
||||
\par
|
||||
\vspace{10mm}
|
||||
\noindent
|
||||
%\@placeofstudy, am \formatdate{\value{@dayofsubmission}}{\value{@monthofsubmission}}{\value{@yearofsubmission}}
|
||||
\@placeofstudy, am \DTMdate{\value{@yearofsubmission}-\value{@monthofsubmission}-\value{@dayofsubmission}}
|
||||
\par
|
||||
\vspace{12mm}
|
||||
\noindent
|
||||
\@author
|
||||
\end{german}
|
||||
}
|
||||
|
||||
% English
|
||||
|
||||
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
|
||||
|
||||
\newcommand{\@declarationpageEn}{%
|
||||
\begin{english}
|
||||
\chapter{Declaration}
|
||||
\noindent
|
||||
I hereby declare and confirm that this thesis is entirely the result of my own original work.
|
||||
Where other sources of information have been used, they have been indicated as such and properly
|
||||
acknowledged. I further declare that this or similar work has not been submitted for credit elsewhere.
|
||||
This printed copy is identical to the submitted electronic version.
|
||||
\par
|
||||
\vspace{10mm}
|
||||
\noindent
|
||||
%\@placeofstudy, \the\year-\leadingzero{\month}-\leadingzero{\day} %http://de.wikibooks.org/wiki/LaTeX-W%F6rterbuch:_today
|
||||
%\@placeofstudy, {\usdate\formatdate{\value{@dayofsubmission}}{\value{@monthofsubmission}}{\value{@yearofsubmission}}}
|
||||
\@placeofstudy, \DTMdate{\value{@yearofsubmission}-\value{@monthofsubmission}-\value{@dayofsubmission}}
|
||||
\par
|
||||
\vspace{12mm}
|
||||
\noindent
|
||||
\@author
|
||||
\end{english}
|
||||
}
|
||||
|
||||
\newcommand{\@declarationpage}{%
|
||||
\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
|
||||
{\@declarationpageDe}%
|
||||
{\@declarationpageEn}
|
||||
}
|
||||
|
||||
|
||||
%% Assembly of title pages ----------------------------------------------------
|
||||
|
||||
\renewcommand{\@bachelortitlepages}{
|
||||
\@makebachelortitle%
|
||||
\ifthenelse{\boolean{hgb@isProposal}}%
|
||||
{% thesis proposal:
|
||||
\@proposalsetup%
|
||||
\@advisorpage%
|
||||
%no copyright page for proposals
|
||||
%no declaration page for proposals
|
||||
}%
|
||||
{% final thesis:
|
||||
\@advisorpage%
|
||||
\@copyrightpage%
|
||||
\@declarationpage%
|
||||
}%
|
||||
}
|
||||
|
||||
\renewcommand{\@mastertitlepages}{
|
||||
\@makemastertitle
|
||||
\ifthenelse{\boolean{hgb@isProposal}}%
|
||||
{% thesis proposal:
|
||||
\@proposalsetup%
|
||||
\@advisorpage%
|
||||
%no copyright page for proposals
|
||||
%no declaration page for proposals
|
||||
}%
|
||||
{% final thesis:
|
||||
\@advisorpage%
|
||||
\@copyrightpage%
|
||||
\@declarationpage%
|
||||
}%
|
||||
}
|
||||
|
||||
\renewcommand{\@diplomatitlepages}{
|
||||
\@makediplomatitle
|
||||
%\ifthenelse{\equal{\@advisor}{}}%
|
||||
%{}{\@advisorpage}%
|
||||
\@advisorpage
|
||||
\@copyrightpage
|
||||
\@declarationpage
|
||||
}
|
||||
|
||||
\renewcommand{\@internshiptitlepages}{
|
||||
\@makeinternshiptitle
|
||||
\@companypage
|
||||
\@copyrightpage
|
||||
\@declarationpage
|
||||
}
|
||||
|
||||
\newcommand{\@warnmultipleauthors}%
|
||||
{\PackageWarning{hagenberg-thesis}{Multiple authors are not supported ('\@backslashchar and' is ignored)!}}%
|
||||
|
||||
% Add PDF meta data and create title pages
|
||||
\renewcommand{\maketitle}{ %replace standard LaTeX-command
|
||||
\def\and{\@warnmultipleauthors}% suppress \and inside \author{..}
|
||||
\renewcommand{\thanks}[1]{}% suppress \thanks{..} inside \author{..}
|
||||
\hypersetup{
|
||||
pdftitle={\@title},
|
||||
pdfauthor={\@author},
|
||||
pdfsubject={\@programtype~\@programname,~\@placeofstudy},
|
||||
pdfcreator={LaTeX using class hgbthesis [\hgbDate]},
|
||||
pdfproducer={pdflatex},
|
||||
pdfkeywords={},
|
||||
pageanchor=false % disable hyperref page anchors in frontmatter pages
|
||||
}%
|
||||
\@maketitlepages
|
||||
\hypersetup{pageanchor=true} % enable hyperref page anchors in the main document
|
||||
}
|
||||
|
||||
%% Additional Hagenberg packages ----------------------------------------------
|
||||
|
||||
\RequirePackage{hgbmath}
|
||||
\RequirePackage{hgbalgo}
|
||||
\RequirePackage{hgbheadings}
|
||||
\RequirePackage{hgbabbrev}
|
||||
\RequirePackage{hgblistings}
|
||||
\RequirePackage{hgbbib}
|
||||
|
||||
\endinput
|
BIN
thesis/images/logo.pdf
Normal file
BIN
thesis/images/logo.pdf
Normal file
Binary file not shown.
BIN
thesis/main.pdf
Normal file
BIN
thesis/main.pdf
Normal file
Binary file not shown.
92
thesis/main.tex
Normal file
92
thesis/main.tex
Normal file
|
@ -0,0 +1,92 @@
|
|||
%%% File encoding: UTF-8
|
||||
%%% äöüÄÖÜß <-- no German umlauts here? Use an UTF-8 compatible editor!
|
||||
|
||||
%%% Magic comments for setting the correct parameters in compatible IDEs
|
||||
% !TeX encoding = utf8
|
||||
% !TeX program = pdflatex
|
||||
% !TeX spellcheck = de_DE
|
||||
% !BIB program = biber
|
||||
|
||||
\RequirePackage[utf8]{inputenc} % Remove when using lualatex or xelatex!
|
||||
\RequirePackage{hgbpdfa} % Creates a PDF/A-2b compliant document
|
||||
|
||||
\documentclass[master,english,smartquotes,apa]{hgbthesis}
|
||||
% Valid options in [..]:
|
||||
% Type of work: 'diploma', 'master' (default), 'bachelor', 'internship'
|
||||
% Additionally for a thesis exposé: 'proposal (for 'bachelor' and 'master')
|
||||
% Main language: 'german' (default), 'english'
|
||||
% Turn on smart quote handling: 'smartquotes'
|
||||
% APA bibliography style: 'apa'
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
\graphicspath{{images/}} % Location of images and graphics
|
||||
\logofile{logo} % Logo file: images/logo.pdf (no logo: \logofile{})
|
||||
\bibliography{references} % Biblatex bibliography file (references.bib)
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
\begin{document}
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
% Title page entries
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
\title{Interpreter and Transpiler for simple expressions on Nvidia GPUs using Julia}
|
||||
\author{Daniel Wiplinger}
|
||||
\programname{Software Engineering}
|
||||
|
||||
%\programtype{Fachhochschul-Bachelorstudiengang} % select/edit
|
||||
\programtype{Fachhochschul-Masterstudiengang}
|
||||
|
||||
\placeofstudy{Hagenberg}
|
||||
\dateofsubmission{2025}{01}{01} % {YYYY}{MM}{DD}
|
||||
|
||||
\advisor{DI Dr. Gabriel Kronberger} % optional
|
||||
|
||||
%\strictlicense % restrictive license instead of Creative Commons (discouraged!)
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
\frontmatter % Front part (roman page numbers)
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
|
||||
\include{front/abstract}
|
||||
\include{front/kurzfassung}
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
\mainmatter % Main part (arabic page numbers)
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
\include{chapters/introduction}
|
||||
\include{chapters/relwork}
|
||||
\include{chapters/conceptdesign}
|
||||
\include{chapters/implementation}
|
||||
\include{chapters/evaluation}
|
||||
\include{chapters/conclusion}
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
\appendix % Appendix
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
% \include{back/appendix_a} % Technical supplements
|
||||
% \include{back/appendix_b} % Contents of the CD-ROM/DVD
|
||||
% \include{back/appendix_c} % Chronological list of changes
|
||||
% \include{back/appendix_d} % Source text of this document
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
\backmatter % Back part (bibliography, glossary, etc.)
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
\MakeBibliography % References
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
% Special page for checking print size
|
||||
%%%-----------------------------------------------------------------------------
|
||||
|
||||
\include{back/printbox}
|
||||
|
||||
%%%-----------------------------------------------------------------------------
|
||||
\end{document}
|
||||
%%%-----------------------------------------------------------------------------
|
544
thesis/references.bib
Normal file
544
thesis/references.bib
Normal file
|
@ -0,0 +1,544 @@
|
|||
%%% Biber accepts '%' for marking comments
|
||||
|
||||
@book{BachBWV988,
|
||||
author={Bach, Johann Sebastian},
|
||||
title={Goldberg-Variationen für Streichquartett, BWV 988},
|
||||
editor={Anka, Dana},
|
||||
publisher={Musikverlag Hans Sikorski},
|
||||
location={Hamburg},
|
||||
date={2017},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@thesis{Bacher2004,
|
||||
author={Bacher, Florian},
|
||||
title={Interaktionsmöglichkeiten mit Bildschirmen und großflächigen Projektionen},
|
||||
type={bathesis},
|
||||
date={2004-06},
|
||||
institution={University of Applied Sciences Upper Austria, Medientechnik und {-design}},
|
||||
location={Hagenberg, Austria},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@manual{Bezos2023,
|
||||
author={Bezos, Javier and Braams, Johannes L.},
|
||||
title={Babel},
|
||||
subtitle={Localization and internationalization},
|
||||
date={2023-10-25},
|
||||
version={3.96},
|
||||
url={http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@incollection{BurgeBurger1999,
|
||||
author={Burge, Mark and Burger, Wilhelm},
|
||||
title={Ear Biometrics},
|
||||
booktitle={Biometrics},
|
||||
booksubtitle={Personal Identification in Networked Society},
|
||||
publisher={Kluwer Academic Publishers},
|
||||
date={1999},
|
||||
location={Boston},
|
||||
editor={Jain, Anil K. and Bolle, Ruud and Pankanti, Sharath},
|
||||
chapter={13},
|
||||
pages={273-285},
|
||||
doi={10.1007/0-306-47044-6_13},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@inproceedings{Burger1987,
|
||||
author={Burger, Wilhelm and Bhanu, Bir},
|
||||
title={Qualitative Motion Understanding},
|
||||
booktitle={Proceedings of the Tenth International Joint Conference on Artificial Intelligence},
|
||||
date={1987-08},
|
||||
editor={McDermott, John P.},
|
||||
eventdate={1987-08-23/1987-08-28},
|
||||
venue={Milano},
|
||||
publisher={Morgan Kaufmann Publishers},
|
||||
location={San Francisco},
|
||||
pages={819-821},
|
||||
doi={10.1007/978-1-4615-3566-9},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{BurgerBurge2022,
|
||||
author={Burger, Wilhelm and Burge, Mark James},
|
||||
title={Digital Image Processing},
|
||||
subtitle={An Algorithmic Introduction},
|
||||
publisher={Springer},
|
||||
location={Cham},
|
||||
edition={3},
|
||||
date={2022},
|
||||
doi={10.1007/978-3-031-05744-1},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Carlisle2021,
|
||||
author={Carlisle, David P.},
|
||||
title={Packages in the {`graphics'} bundle},
|
||||
date={2021-03-05},
|
||||
url={http://mirrors.ctan.org/macros/latex/required/graphics/grfguide.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@image{CocaCola1940,
|
||||
author={Wolcott, Marion Post},
|
||||
title={Natchez, Miss.},
|
||||
note={Library of Congress Prints and Photographs Division Washington, Farm Security Administration/Office of War Information Color Photographs},
|
||||
date={1940-08},
|
||||
url={https://www.loc.gov/pictures/item/2017877479/},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@unpublished{Dai2016,
|
||||
author={Dai, Jifeng and Li,Yi and He, Kaiming and Sun, Jian},
|
||||
title={{R-FCN:} Object Detection via Region-Based Fully Convolutional Networks},
|
||||
date={2016},
|
||||
pubstate={prepublished},
|
||||
doi={10.48550/arXiv.1605.06409},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Daniel2018,
|
||||
author={Daniel, Marco and Gundlach, Patrick and Schmidt, Walter and Knappen, Jörg and Partl, Hubert and Hyna, Irene},
|
||||
title={\LaTeX2e-Kurzbeschreibung},
|
||||
date={2018-04-08},
|
||||
version={3.0c},
|
||||
url={http://mirrors.ctan.org/info/lshort/german/l2kurz.pdf},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@report{Drake1948,
|
||||
author={Drake, Hubert M. and McLaughlin, Milton D. and Goodman, Harold R.},
|
||||
title={Results obtained during accelerated transonic tests of the {Bell} {XS-1} airplane in flights to a {MACH} number of 0.92},
|
||||
type={techreport},
|
||||
institution={NASA Dryden Flight Research Center},
|
||||
date={1948-01},
|
||||
location={Edwards, CA},
|
||||
number={NACA-RM-L8A05A},
|
||||
url={https://www.nasa.gov/centers/dryden/pdf/87528main_RM-L8A05A.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Duden1997,
|
||||
author={Friedrich, Christoph},
|
||||
title={Schriftliche Arbeiten im technisch-natur\-wissen\-schaft\-lichen Studium},
|
||||
subtitle={Ein Leitfaden zur effektiven Erstellung und zum Einsatz moderner Arbeitsmethoden},
|
||||
publisher={Bibliographisches Institut},
|
||||
series={Duden Taschenbücher},
|
||||
volume={27},
|
||||
location={Mannheim},
|
||||
date={1997},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@thesis{Eberl1987,
|
||||
author={Eberl, Gerhard},
|
||||
title={Automatischer Landeanflug durch Rechnersehen},
|
||||
type={phdthesis},
|
||||
date={1987-08},
|
||||
institution={Universität der Bundeswehr, Fakultät für Raum- und Luftfahrttechnik},
|
||||
location={München},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@legislation{EuRichtlinie2000,
|
||||
author={{Europäische Union}},
|
||||
title={Richtline 2000/14/EG des Europäischen Parlaments und des Rates vom 8.\ Mai 2000 zur
|
||||
Angleichung der Rechtsvorschriften der Mitgliedstaaten über umweltbelastende Geräuschemissionen
|
||||
von zur Verwendung im Freien vorgesehenen Geräten und Maschinen},
|
||||
howpublished={Amtsblatt der Europäischen Gemeinschaften, L 162},
|
||||
date={2000-05-08},
|
||||
url={https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CONSLEG:2000L0014:20051227:de:PDF},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@manual{Fear2020,
|
||||
author={Fear, Simon},
|
||||
title={Publication quality tables in \LaTeX},
|
||||
date={2020-01-14},
|
||||
version={v1.61803398},
|
||||
url={http://mirrors.ctan.org/macros/latex/contrib/booktabs/booktabs.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Faires1934,
|
||||
author={Faires, Virgil Moring},
|
||||
title={Design of Machine Elements},
|
||||
publisher={The Macmillan Company},
|
||||
date={1934},
|
||||
origdate={1920},
|
||||
note={Originalausgabe 1920},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@online{Feder2006,
|
||||
author={Feder, Alexander},
|
||||
title={{BibTeX.org}},
|
||||
date={2006},
|
||||
url={https://www.bibtex.org/},
|
||||
urldate={2023-11-06},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@legislation{FhStG1993,
|
||||
title={Bundesgesetz über Fachhochschulen},
|
||||
titleaddon={Fachhochschulgesetz – FHG},
|
||||
howpublished={BGBl.\ Nr.\ 340/1993, zuletzt geändert mit Bundesgesetz BGBl.\ I Nr.\ 177/2021},
|
||||
date={1993-05-28},
|
||||
url={https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10009895},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@video{Futurama1999,
|
||||
author={Groening, Matt},
|
||||
title={Futurama},
|
||||
titleaddon={Season 1 Collection},
|
||||
howpublished={DVD},
|
||||
date={2002-02},
|
||||
organization={Twentieth Century Fox Home Entertainment},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@incollection{GershwinSummertime,
|
||||
author={Gershwin, George and Heyward, DuBose},
|
||||
title={Summertime},
|
||||
booktitle={The Greatest Songs of George Gershwin},
|
||||
publisher={Chappel Music},
|
||||
location={London},
|
||||
pages={40-43},
|
||||
date={1979},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{HaydnCelloConcerto2,
|
||||
author={Haydn, Josef},
|
||||
title={Konzert für Violoncello No.\ 2 in D-Dur, Hob.VIIb:2},
|
||||
editor={Soldan,Kurt},
|
||||
publisher={C. F. Peters},
|
||||
location={Leipzig},
|
||||
date={1920},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@book{Hemleben1969,
|
||||
author={Hemleben, Johannes},
|
||||
title={Galilei, Galileo},
|
||||
publisher={rororo},
|
||||
date={1969},
|
||||
edition={20},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@book{Higham2020,
|
||||
author={Higham, Nicholas J.},
|
||||
title={Handbook of Writing for the Mathematical Sciences},
|
||||
publisher={Society for Industrial and Applied Mathematics (SIAM)},
|
||||
location={Philadelphia},
|
||||
edition={3},
|
||||
date={2020},
|
||||
url={https://www.maths.manchester.ac.uk/~higham/hwms/},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@video{HistoryOfComputers2008,
|
||||
title={History of Computers},
|
||||
date={2008-09-24},
|
||||
url={https://www.youtube.com/watch?v=LvKxJ3bQRKE},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@online{IBM360,
|
||||
author={IBM},
|
||||
title={System 360},
|
||||
subtitle={From Computers to Computer Systems},
|
||||
date={2012-03-07},
|
||||
url={https://www.ibm.com/ibm/history/ibm100/us/en/icons/system360/impacts/},
|
||||
urldate={2023-11-06},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Kime2023,
|
||||
author={Kime, Philip and Wemheuer, Moritz and Lehman, Philipp},
|
||||
title={The \texttt{biblatex} Package},
|
||||
subtitle={Programmable Bibliographies and Citations},
|
||||
date={2023-03-05},
|
||||
version={3.19},
|
||||
url={http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Kopka2003,
|
||||
author={Kopka, Helmut and Daly, Patrick William},
|
||||
title={Guide to \LaTeX},
|
||||
series={Tools and Techniques for Computer Typesetting},
|
||||
publisher={Addison-Wesley},
|
||||
location={Reading, MA},
|
||||
date={2003},
|
||||
edition={4},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Lamport1994,
|
||||
author={Lamport, Leslie},
|
||||
title={{LaTeX}, A Document Preparation System},
|
||||
subtitle={User's Guide and Reference Manual},
|
||||
publisher={Addison-Wesley},
|
||||
location={Reading, MA},
|
||||
date={1994},
|
||||
edition={2},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Lamport1995,
|
||||
author={Lamport, Leslie},
|
||||
title={Das {LaTeX}-Handbuch},
|
||||
publisher={Addison-Wesley},
|
||||
location={Reading, MA},
|
||||
date={1995},
|
||||
edition={3},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@software{LegendOfZelda1998,
|
||||
author={Miyamoto, Shigeru and Aonuma, Eiji and Koizumi, Yoshiaki},
|
||||
title={The Legend of Zelda: Ocarina of Time},
|
||||
howpublished={N64 Cartridge},
|
||||
publisher={Nintendo},
|
||||
date={1998-11},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@thesis{Loimayr2019,
|
||||
author={Loimayr, Nora},
|
||||
title={Utilization of GPU-Based Smoothed Particle Hydrodynamics for Immersive Audiovisal Experiences},
|
||||
type={mathesis},
|
||||
date={2019-11-26},
|
||||
institution={University of Applied Sciences Upper Austria, Interactive Media},
|
||||
location={Hagenberg, Austria},
|
||||
url={https://theses.fh-hagenberg.at/thesis/Loimayr19},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@article{Mermin1989,
|
||||
author={Mermin, Nathaniel David},
|
||||
title={What's Wrong with these Equations?},
|
||||
journaltitle={Physics Today},
|
||||
volume={42},
|
||||
number={10},
|
||||
date={1989},
|
||||
pages={9-11},
|
||||
doi={10.1063/1.2811173},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Mittelbach2023,
|
||||
author={Mittelbach, Frank and Schöpf, Rainer and Downes, Michael and Jones, David M. and Carlisle, David},
|
||||
title={The \texttt{amsmath} package},
|
||||
date={2023-05-13},
|
||||
version={2.17o},
|
||||
url={http://mirrors.ctan.org/macros/latex/required/amsmath/amsmath.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@movie{Nosferatu1922,
|
||||
title={Nosferatu -- A Symphony of Horrors},
|
||||
howpublished={Film},
|
||||
date={1922},
|
||||
note={Drehbuch/Regie: F.\ W.\ Murnau. Mit Max Schreck, Gustav von Wangenheim, Greta Schröder.},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Oetiker2021,
|
||||
author={Oetiker, Tobias and Partl, Hubert and Hyna, Irene and Schlegl, Elisabeth},
|
||||
title={The Not So Short Introduction to \LaTeXe},
|
||||
subtitle={Or \LaTeXe in 139 minutes},
|
||||
date={2021-03-09},
|
||||
version={6.4},
|
||||
url={http://mirrors.ctan.org/info/lshort/english/lshort.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@legislation{OoeRaumordnungsgesetz1994,
|
||||
title={Landesgesetz vom 6. Oktober 1993 über die Raumordnung im Land Oberösterreich},
|
||||
titleaddon={Oö. Raumordnungsgesetz 1994 - Oö. ROG 1994},
|
||||
howpublished={LGBl.Nr. 114/1993 zuletzt geändert durch LGBl.Nr. 125/2020},
|
||||
date={1993-12-23},
|
||||
url={https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=LrOO&Gesetzesnummer=10000370},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@manual{Oostrum2022,
|
||||
author={Oostrum, {Pieter van}},
|
||||
title={The \textrm{fancyhdr} and \textrm{extramarks} packages},
|
||||
date={2022-11-09},
|
||||
version={4.1},
|
||||
url={http://mirrors.ctan.org/macros/latex/contrib/fancyhdr/fancyhdr.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Pakin2021,
|
||||
author={Pakin, Scott},
|
||||
title={The Comprehensive {\LaTeX} Symbol List},
|
||||
date={2021-05-05},
|
||||
url={http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Patashnik1988,
|
||||
author={Patashnik, Oren},
|
||||
title={{BiBTeXing}},
|
||||
date={1988-02-08},
|
||||
url={http://mirrors.ctan.org/biblio/bibtex/base/btxdoc.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@patent{Pike2008,
|
||||
author={Pike, Dion},
|
||||
title={Master-slave communications system and method for a network element},
|
||||
type={US Patent},
|
||||
holder={Alcatel-Lucent SAS},
|
||||
number={7,460,482},
|
||||
date={2008-12-02},
|
||||
url={https://patents.google.com/patent/US7460482},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@movie{Psycho1960,
|
||||
title={Psycho},
|
||||
howpublished={Film},
|
||||
date={1960},
|
||||
note={Regie: Alfred Hitchcock,
|
||||
Drehbuch: Joseph Stefano.
|
||||
Nach dem Roman von Robert Bloch.
|
||||
Mit Anthony Perkins, Vera Miles, Janet Leigh.},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Sedgewick2011,
|
||||
author={Sedgewick, Robert and Wayne, Kevin},
|
||||
title={Algorithms},
|
||||
publisher={Addison-Wesley},
|
||||
location={Reading, MA},
|
||||
date={2011},
|
||||
edition={4},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{ShostakovichOp110,
|
||||
author={Shostakovich, Dimitri},
|
||||
title={Streichquartett Nr.\ 8 in c-Moll, Op.\ 110},
|
||||
editor={Hans Sikorski},
|
||||
publisher={G. Schirmer},
|
||||
location={New York},
|
||||
date={1960},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@manual{Sommerfeldt2023,
|
||||
author={Sommerfeldt, Axel},
|
||||
title={Customizing captions of floating environments},
|
||||
date={2023-07-10},
|
||||
version={3.6},
|
||||
url={http://mirrors.ctan.org/macros/latex/contrib/caption/caption.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@software{SpringFramework,
|
||||
title={Spring Framework},
|
||||
url={https://github.com/spring-projects/spring-framework},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@article{Vardavoulia2001,
|
||||
author={Vardavoulia, Maria I. and Andreadis, Ioannis and Tsalides, Phillipos},
|
||||
title={A new vector median filter for colour image processing},
|
||||
journaltitle={Pattern Recognition Letters},
|
||||
volume={22},
|
||||
number={6-7},
|
||||
pages={675-689},
|
||||
date={2001},
|
||||
doi={10.1016/S0167-8655(00)00141-0},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@manual{Voss2014,
|
||||
author={Voß, Herbert},
|
||||
title={Math mode},
|
||||
date={2014-01-30},
|
||||
version={2.47},
|
||||
url={http://mirrors.ctan.org/obsolete/info/math/voss/mathmode/Mathmode.pdf},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@standard{WHATWGHTMLLivingStandard,
|
||||
author={{Web Hypertext Application Technology Working Group}},
|
||||
shortauthor={WHATWG},
|
||||
title={HTML},
|
||||
titleaddon={Living Standard},
|
||||
date={2023-11-06},
|
||||
url={https://html.spec.whatwg.org/multipage/},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@online{WikiReliquienschrein2023,
|
||||
title={Reliquienschrein},
|
||||
url={https://de.wikipedia.org/wiki/Reliquienschrein},
|
||||
date={2023-09-22},
|
||||
urldate={2023-11-06},
|
||||
langid={ngerman}
|
||||
}
|
||||
|
||||
@online{WikibooksLaTeXLengths2018,
|
||||
title={LaTeX/Lengths},
|
||||
url={https://en.wikibooks.org/wiki/LaTeX/Lengths},
|
||||
date={2018-08-04},
|
||||
urldate={2023-11-06},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@audio{Zappa1995,
|
||||
author={Zappa, Frank},
|
||||
title={Freak Out!},
|
||||
type={audiocd},
|
||||
date={1995-05},
|
||||
organization={Rykodisc, New York},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
%% used in thesis proposal example:
|
||||
|
||||
@inproceedings{Finke2008,
|
||||
author={Finke, Matthias and Tang, Anthony and Leung, Rock and Blackstock, Michael},
|
||||
title={Lessons Learned: Game Design for Large Public Displays},
|
||||
booktitle={Proceedings of the 3rd International Conference on Digital Interactive Media in Entertainment and Arts},
|
||||
series={DIMEA '08},
|
||||
pages={26-33},
|
||||
date={2008},
|
||||
publisher={ACM},
|
||||
location={New York, NY, USA},
|
||||
doi={10.1145/1413634.1413644},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@inproceedings{Hochleitner2013,
|
||||
author={Hochleitner, Wolfgang and Lankes, Michael and Diephuis, Jeremiah and Hochleitner, Christina},
|
||||
title={Limelight -- Fostering Sociability in a Co-located Game},
|
||||
booktitle={Proceedings of the CHI 2013 Workshop on Designing and Evaluating Sociability in Online Video Games},
|
||||
series={CHI '13},
|
||||
pages={23-28},
|
||||
date={2013},
|
||||
location={Paris, France},
|
||||
langid={english}
|
||||
}
|
||||
|
||||
@book{Schell2019,
|
||||
author={Schell, Jesse},
|
||||
title={The Art of Game Design},
|
||||
subtitle={A Book of Lenses},
|
||||
publisher={CRC Press},
|
||||
date={2019},
|
||||
edition={3},
|
||||
location={Boca Raton, FL, USA},
|
||||
doi={10.1201/b22101},
|
||||
langid={english}
|
||||
}
|
Loading…
Reference in New Issue
Block a user