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
|
*.cubin
|
||||||
*.fatbin
|
*.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