Files
mt/thesis/base/packages.tex
2025-10-12 15:45:13 +02:00

224 lines
10 KiB
TeX
Executable File

% **************************************************************************************************
% ** SPSC Report and Thesis Template
% **************************************************************************************************
%
% ***** Authors *****
% Daniel Arnitz, Paul Meissner, Stefan Petrik, Dietmar Malli
% Signal Processing and Speech Communication Laboratory (SPSC)
% Graz University of Technology (TU Graz), Austria
%
% ***** Changelog *****
% 0.1 2010-05-30 some option updates for scrreprt (newer versions)
% 0.2 2010-06-05 split in packages for thesis and report; removed old scrreprt options,
% set header to two lines plus adapted geometry
% 0.3 2010-09-13 cite, fixltx2e, [latin1]{inputenc} only for DE, fixed scrreprt options,
% paralist, calc, setspace, wrapfig
% 0.4 2011-01-18 scrartcl->scrbook, \Twosided now {true,false}, T1 fontenc for de (hyphenation)
% 0.5 2011-03-31 removed flafter (for top placement)
% 0.6 2011-04-29 added option noadjust to cite (do not set space before \cite automatically)
% hmarginratio=3:2 (before: 2:1), voffset=2mm (3mm), added quotchap
% 0.7 2011-12-17 varioref now also works for german text (bug reported by Angelika Kern)
% 0.8 2012-07-27 added option to control paper size (via \PaperSize)
% 0.9 2017-10-31 Removed doubled/copied code which does the same
% Added usage of imakeindex with index style file supplied in this template
% and removed warning from main.tex
% Added enabling of KOMA-Script draft mode if desired by user
% fontenc should be loaded before inputenc, because it generates a list parsed by
% inputenc [1].
% Only load utf8 characters which also can be displayed. (inputenc utf8 instead
% of utf8x [2])
% Removed cite
% Moved hyperref into my package list.. Should always be nearly the last
% package called/imported to avoid problems.
% Moved documentclass into separate file to have global packages list.
% 1.0 2018-05-01 Added parameter for framed links in hyperref.
%
%
%
% ***** Todo *****
%
%
% ***** Knowledge sources *****
% [1]https://tex.stackexchange.com/questions/97252/in-which-order-should-i-load-inputenc-and-fontenc
% [2]https://tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc
% **************************************************************************************************
% master
\usepackage{fixltx2e}% LaTeX 2e bugfixes
\usepackage{ifthen}% for optional parts
\ifthenelse{\equal{\PaperSize}{a4paper}}{
\usepackage[paper=\PaperSize,twoside=\Twosided,%
textheight=246mm,%
textwidth=160mm,%
heightrounded=true,% round textheight to multiple of lines (avoids overfull vboxes)
ignoreall=true,% do not include header, footer, and margins in calculations
marginparsep=5pt,% marginpar only used for signs (centered), thus only small sep. needed
marginparwidth=10mm,% prevent margin notes to be out of page
hmarginratio=2:1,% set margin ration (inner:outer for twoside) - (2:3 is default)
]{geometry}}{}%
\ifthenelse{\equal{\PaperSize}{letterpaper}}{
\usepackage[paper=\PaperSize,twoside=\Twosided,%
textheight=9in,%
textwidth=6.5in,%
heightrounded=true,% round textheight to multiple of lines (avoids overfull vboxes)
ignoreheadfoot=false,% do not include header and footer in calculations
marginparsep=5pt,% marginpar only used for signs (centered), thus only small sep. needed
marginparwidth=10mm,% prevent margin notes to be out of page
hmarginratio=3:2,% set margin ration (inner:outer for twoside) - (2:3 is default)
]{geometry}}{}%
\ifthenelse{\equal{\DocumentLanguage}{en}}{\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}\usepackage[USenglish]{babel}}{}%
\ifthenelse{\equal{\DocumentLanguage}{de}}{\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}\usepackage[ngerman]{babel}}{}%
\usepackage[%
headtopline,plainheadtopline,% activate all lines (header and footer)
headsepline,plainheadsepline,%
footsepline,plainfootsepline,%
footbotline,plainfootbotline,%
automark% auto update \..mark
]{scrlayer-scrpage}% (KOMA)
\usepackage{imakeidx}
\usepackage[]{caption}% customize captions
\usepackage{multicol}% multi-column layout
\usepackage{setspace}% (properly) set linespreads
\usepackage[stable,bottom,hang,splitrule,multiple]{footmisc}% customize footnotes
% text
\ifthenelse{\equal{\DocumentLanguage}{en}}{\usepackage{varioref}}{}% improved references
\ifthenelse{\equal{\DocumentLanguage}{de}}{\usepackage[german]{varioref}}{}% improved references
\usepackage{xcolor}% e.g., for color boxes
\usepackage{rotating}% to rotate objects
\usepackage{gensymb}% symbols (perthousand, Celsius, ...)
\usepackage[right]{eurosym}% euro symbol on the right side (51 EUR)
\usepackage[normalem]{ulem}% cross-out, strike-out, underlines (normalem: keep \emph italic)
%\usepackage[safe]{textcomp}% loading in safe mode to avoid problems (see LaTeX companion)
%\usepackage[geometry,misc]{ifsym}% technical symbols
%\usepackage{remreset}%\@removefromreset commands (e.g., for continuous footnote numbering)
\usepackage{paralist}% extended list environments
% \usepackage[Sonny]{fncychap}
\usepackage[avantgarde]{quotchap}
% math
\usepackage{amsmath,amssymb,amstext,bm}% math packages
\usepackage{mathcomp}% symbols (perthousand, ...) in math mode
% graphics
\usepackage{graphicx}% use simple graphics
\usepackage{subfigure}% subfigures (a),(b),(c)... within figures
% \usepackage{flafter}% place floats always after reference
\usepackage{placeins}% preventing floats from crossing a barrier
\usepackage{float}% to place floats !HERE!
\usepackage{psfrag}% replace text in eps figures
\usepackage{wrapfig}% inline graphics
% tables
\usepackage{hhline}% hline doesn't work with colored columns, so using hhline
\usepackage{longtable}% for tables longer than one page
\usepackage{dcolumn}% for number alignment in tables
\usepackage{colortbl}% color in tables
% listings
%\usepackage{alltt}% verbatim environment with commands available
\usepackage{listings}% program code listings
% other
\usepackage{layout}% graphical page layout (spacings)
\usepackage{xspace}% add space after macros if not followed by punctuation character
\usepackage{calc}% online calculations
\makeindex[options=-s ./base/index.sty]% used for index creation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% additions by Dietmar Malli 2017 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{scrhack} %Fix for: Koma Warning: \float@addtolists detected!
\usepackage{lmodern} %use modern font
\usepackage{tabularx} %Special table environment (Table over whole \textwidth)
\usepackage{rotating} %landscape (also landscape tables combined with tabularx)
\usepackage[hyphens]{url} %\url command
\usepackage{mdwlist} %list extensions
\ifthenelse{\equal{\DocumentLanguage}{de}}
{
\usepackage[german]{fancyref} %Bessere Querverweise
\usepackage[locale=DE]{siunitx} %Zahlen und SI Einheiten => Binary units aktivieren...
\usepackage[autostyle=true, %Anführungszeichen und Übersetzung der Literaturverweise
german=quotes]{csquotes} %Anführungszeichen und Übersetzung der Literaturverweise
}
{
\usepackage[english]{fancyref} %Bessere Querverweise
\usepackage[locale=US]{siunitx} %Zahlen und SI Einheiten => Binary units aktivieren...
\usepackage[autostyle=true] %Anführungszeichen und Übersetzung der Literaturverweise
{csquotes}
}
\sisetup{detect-weight=true, detect-family=true} %format like surrounding environment
%extending fancyref for listings in both languages:
\newcommand*{\fancyreflstlabelprefix}{lst}
\fancyrefaddcaptions{english}{%
\providecommand*{\freflstname}{listing}%
\providecommand*{\Freflstname}{Listing}%
}
\fancyrefaddcaptions{german}{%
\providecommand*{\freflstname}{Listing}%
\providecommand*{\Freflstname}{Listing}%
}
\frefformat{plain}{\fancyreflstlabelprefix}{\freflstname\fancyrefdefaultspacing#1}
\Frefformat{plain}{\fancyreflstlabelprefix}{\Freflstname\fancyrefdefaultspacing#1}
\frefformat{vario}{\fancyreflstlabelprefix}{%
\freflstname\fancyrefdefaultspacing#1#3%
}
\Frefformat{vario}{\fancyreflstlabelprefix}{%
\Freflstname\fancyrefdefaultspacing#1#3%
}
\sisetup{separate-uncertainty} %enable uncertainity for siunitx
\sisetup{multi-part-units=single} %uncertainity formatting (single, brackets, repeat)
\DeclareSIUnit\permille{\text{\textperthousand}} %add \permille to siunitx
\usepackage{xfrac} %Schönere brüche für SI Einheiten
\sisetup{per-mode=fraction, %Bruchstriche bei SI Einheiten aktivieren
fraction-function=\sfrac} %xfrac als Bruchstrichfunktion verwenden
\usepackage[scaled=0.78]{inconsolata}%Schreibmaschinenschrift für Quellcode
\usepackage[backend=biber, %Literaturverweiserweiterung Backend auswählen
bibencoding=utf8, %.bib-File ist utf8-codiert...
maxbibnames=99, %Immer alle Authoren in der Bibliographie darstellen...
style=ieee
]{biblatex}
\bibliography{bib/bibliography} %literatur.bib wird geladen und als Literaturverweis Datei verwendet
\ifthenelse{\equal{\FramedLinks}{true}}
{
\usepackage[%
breaklinks=true,% allow line break in links
colorlinks=false,% if false: framed link
linkcolor=black,anchorcolor=black,citecolor=black,filecolor=black,%
menucolor=black,urlcolor=black,bookmarksnumbered=true]{hyperref}% hyperlinks for references
}
{
\usepackage[%
breaklinks=true,% allow line break in links
colorlinks=true,% if false: framed link
linkcolor=black,anchorcolor=black,citecolor=black,filecolor=black,%
menucolor=black,urlcolor=black,bookmarksnumbered=true]{hyperref}% hyperlinks for references
}
\setcounter{biburlnumpenalty}{100}%Urls in Bibliographie Zeilenbrechbar machen
\setcounter{biburlucpenalty}{100} %Urls in Bibliographie Zeilenbrechbar machen
\setcounter{biburllcpenalty}{100} %Urls in Bibliographie Zeilenbrechbar machen
\usepackage[acronym,nomain]{glossaries}%Abkürzungsverzeichnis ohne Glossar
\makeglossaries %Paket verwenden
\input{acronyms} %Acronyme laden
\ifthenelse{\equal{\DocumentLanguage}{de}}
{
\deftranslation[to=ngerman] %Dem Paket babel den deutschen Abkürzungsverzeichnis-Kapitelnamen
{Acronyms}{Abkürzungsverzeichnis} %beibringen
}{}
% misc
\usepackage{datetime}
\newdateformat{monthyeardate}{%
\monthname[\THEMONTH], \THEYEAR}