203 lines
10 KiB
TeX
Executable File
203 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-08-09 added \remc and \remq commands, \nxtpar now uses \med- instead of \bigskip
|
|
% replaced \lastfootnotemark by \oldfootnotemark (generalization),
|
|
% added \chapternote, set \openingquote to 0.4\textwidth, modified \MAttention,
|
|
% \xspace for marginpar commands, modified \MDanger and \MQuestion
|
|
% 0.2 2010-10-03 added \exp, colors "bk*"
|
|
% 0.3 2010-11-16 added \twofigs and \twofigsf
|
|
% 0.4 2010-12 added \F (Fourier), \ceil and \floor
|
|
% 0.5 2011-01 added chapter/section/figure/table/part reference commands, textrel
|
|
% 0.6 2011-03 added \avg, modified bkred, bkgreen, and bkblue colors,
|
|
% added \medskip to \chapternote, added natural/real/complex/... numbers
|
|
% added \rapp for references to the appendix
|
|
% 0.7 2011-04 removed labels from \new*NoTOC
|
|
% 0.8 2012-06 correction of minor typo
|
|
% 0.9 2017-11-03 Dropped custom reference commands (replaced with fancyref)
|
|
% Implemented automatic usage of \emptydoublepage for thesis
|
|
% Dropped value unit pairs (replaced with siunitx)
|
|
% Added pwd command to newchapter. Makes no sense to write that by myself...
|
|
% changed filelisting to using styles instead of predefined language format.
|
|
% extended filelisting to support other listings environment options
|
|
%
|
|
% ***** Todo *****
|
|
%
|
|
% **************************************************************************************************
|
|
|
|
|
|
|
|
% **************************************************************************************************
|
|
% * SECTIONING AND TEXT
|
|
% **************************************************************************************************
|
|
|
|
% new chapter, section, ... plus a few addons
|
|
% part
|
|
\newcommand{\newpart}[2]{\FloatBarrier\cleardoublepage\part{#2}\label{part:#1}}%
|
|
% chapter
|
|
\newcommand{\newchapter}[2]{\FloatBarrier\chapter{#2}\label{chp:#1}\renewcommand{\pwd}{#1}}
|
|
\newcommand{\newchapterNoTOC}[1]{\FloatBarrier\stepcounter{chapter}\chapter*{#1}}%
|
|
% section
|
|
\newcommand{\newsection}[2]{\FloatBarrier\vspace{5mm}\section{#2}\label{sec:#1}}%
|
|
\newcommand{\newsectionNoTOC}[1]{\FloatBarrier\vspace{5mm}\stepcounter{section}\section*{#1}}%
|
|
% subsection
|
|
\newcommand{\newsubsection}[2]{\FloatBarrier\vspace{3mm}\subsection{#2}\label{sec:#1}}%
|
|
\newcommand{\newsubsectionNoTOC}[1]{\FloatBarrier\vspace{3mm}\stepcounter{subsection}\subsection*{#1}}%
|
|
% subsubsection
|
|
\newcommand{\newsubsubsection}[2]{\vspace{2mm}\subsubsection{#2}\label{sec:#1}}%
|
|
\newcommand{\newsubsubsectionNoTOC}[1]{\vspace{2mm}\stepcounter{subsubsection}\subsubsection*{#1}}%
|
|
|
|
|
|
% next paragraph
|
|
\newcommand{\nxtpar}{\par\medskip}
|
|
|
|
% "stylish" quotes on the right side
|
|
\newcommand{\openingquote}[2]{\hfill\parbox[t]{0.4\textwidth}{\itshape\raggedleft{"#1"}\\\footnotesize -- #2}\nxtpar}%
|
|
|
|
% some information on the right side (sources, ...)
|
|
\newcommand{\chapternote}[1]{\vspace*{-\medskipamount}\hfill\parbox[t]{0.8\textwidth}{\itshape\footnotesize\raggedleft#1}\par\medskip}%
|
|
|
|
% direct quotes
|
|
% \newenvironment{directquote}{\nxtpar\hrule}{\hrule}\hfill\litref{#1}{#2}}
|
|
|
|
% warnings and attention signs in marginpar
|
|
\newcommand{\MDanger}{\marginpar{\raisebox{-2mm}{\includegraphics[height=7mm]{base/MDanger}}}\xspace}%
|
|
\newcommand{\MAttention}{\marginpar{\raisebox{-2mm}{\includegraphics[height=7mm]{base/MAttention}}}\xspace}%
|
|
\newcommand{\MHint}{\marginpar{\raisebox{-2.25mm}{\includegraphics[height=7mm]{base/MHint}}}\xspace}%
|
|
\newcommand{\MQuestion}{\marginpar{\raisebox{-2.25mm}{\includegraphics[height=7mm]{base/MQuestion}}}\xspace}%
|
|
|
|
% same footnote number as last one
|
|
\newcommand{\oldfootnotemark}[1]{\addtocounter{footnote}{-#1}\footnotemark\addtocounter{footnote}{#1-1}}%
|
|
%\newcommand{\lastfootnotemark}{\addtocounter{footnote}{-1}\footnotemark}%
|
|
|
|
% reminders
|
|
\newcommand{\reminder}[1]{\colorbox{red}{#1}\xspace}%
|
|
\newcommand{\rem}{\reminder{(...)}}% shortcut for the full reminder
|
|
\newcommand{\remq}{\reminder{???}}% open question
|
|
\newcommand{\remc}{\reminder{[?]}}% open citation
|
|
\newcommand{\uc}{\nxtpar\colorbox{yellow}{... under construction ...}\nxtpar}%
|
|
|
|
% misc
|
|
\newcommand{\pwd}{.} % present working directory (can be used to create relativ paths per part, etc.)
|
|
|
|
|
|
|
|
|
|
% **************************************************************************************************
|
|
% * MATH
|
|
% **************************************************************************************************
|
|
|
|
% highlighting
|
|
\newcommand{\vm}[1]{\ensuremath{\bm{#1}}}% vector or matrix
|
|
|
|
% functions
|
|
\renewcommand{\exp}[1]{\ensuremath{\text{e}^{#1}}}% exponential
|
|
\renewcommand{\ln}[1]{\ensuremath{\text{ln}\!\left(#1\right)}}% natural logarithm
|
|
\newcommand{\ld}[1]{\ensuremath{\text{ld}\!\left(#1\right)}}% logarithm base 2
|
|
\renewcommand{\log}[1]{\ensuremath{\text{log}\!\left(#1\right)}}% logarithm (base 10)
|
|
\newcommand{\logb}[2]{\ensuremath{\text{log}_{#1}\!\left(#2\right)}}% logarithm base ...
|
|
|
|
% rounding
|
|
\newcommand{\round}[1]{\ensuremath{\text{round}\!\left(#1\right)}}% rounding towards next integer
|
|
\newcommand{\ceil}[1]{\ensuremath{\left\lceil#1\right\rceil}}% rounding towards infinity
|
|
\newcommand{\floor}[1]{\ensuremath{\left\lfloor#1\right\rfloor}}% rounding towards zero
|
|
|
|
% operators
|
|
\newcommand{\E}[1]{\ensuremath{\text{E}\!\left\{#1\right\}}}% expectation operator
|
|
\newcommand{\F}[1]{\ensuremath{\mathcal{F}\!\left\{#1\right\}}}% Fourier transform operator
|
|
\newcommand{\IF}[1]{\ensuremath{\mathcal{F}^{-1}\!\left\{#1\right\}}}% inverse Fourier transform operator
|
|
\newcommand{\var}[1]{\ensuremath{\text{var}\!\left\{#1\right\}}}% variance operator
|
|
\newcommand{\cov}[1]{\ensuremath{\text{cov}\!\left\{#1\right\}}}% covariance operator
|
|
\newcommand{\corr}[1]{\ensuremath{\text{corr}\!\left\{#1\right\}}}% correlation operator
|
|
\newcommand{\avg}[1]{\ensuremath{\text{avg}\!\left\{#1\right\}}}% averaging operator
|
|
\newcommand{\avgvar}[1]{\ensuremath{\overline{\text{var}}\!\left\{#1\right\}}}% average variance operator
|
|
\renewcommand{\Re}[1]{\ensuremath{\text{Re}\!\left\{#1\right\}}}% real part
|
|
\renewcommand{\Im}[1]{\ensuremath{\text{Im}\!\left\{#1\right\}}}% imaginary part
|
|
|
|
% numbers
|
|
\newcommand{\REAL}{\ensuremath{\mathbb{R}}}% real numbers
|
|
\newcommand{\NATURAL}{\ensuremath{\mathbb{N}}}% natural numbers
|
|
\newcommand{\INTEGER}{\ensuremath{\mathbb{Z}}}% integer numbers (natural numbers plus zero)
|
|
\newcommand{\COMPLEX}{\ensuremath{\mathbb{C}}}% complex numbers
|
|
\newcommand{\IMAG}{\ensuremath{\mathbb{I}}}% imaginary numbers
|
|
|
|
% other
|
|
\newcommand{\conj}{\ensuremath{^\ast}}% conjugate complex
|
|
\newcommand{\transp}{\ensuremath{^\text{T}}}% conjugate (Hermitian) transpose
|
|
\newcommand{\mtx}[2]{\left[\ensuremath{\begin{array}{#1}#2\end{array}\right]}}%vector/matrix
|
|
\newcommand{\isdef}{\ensuremath{\mathrel{:=}}}% definition left->right
|
|
\newcommand{\isdefflip}{\ensuremath{\mathrel{=:}}}% definition right->left
|
|
\newcommand{\isreq}{\ensuremath{\mathrel{\stackrel{!}{=}}}}% is required
|
|
\newcommand{\textrel}[1]{\ensuremath{{\;{#1}\;}}}% relation symbol for in-line equations (fixed spacing)
|
|
|
|
|
|
|
|
% **************************************************************************************************
|
|
% * FLOATS (FIGURES, TABLES, LISTINGS, ...)
|
|
% **************************************************************************************************
|
|
|
|
% figures without frames
|
|
% standard
|
|
\newcommand{\fig}[3]{\begin{figure}\centering\includegraphics[width=\textwidth]{#2}\caption{#3}\label{fig:#1}\end{figure}}%
|
|
% with controllable parameters
|
|
\newcommand{\figc}[4]{\begin{figure}\centering\includegraphics[#4]{#2}\caption{#3}\label{fig:#1}\end{figure}}%
|
|
% two subfigures
|
|
\newcommand{\twofig}[6]{\begin{figure}\centering%
|
|
\subfigure[#2]{\includegraphics[width=0.495\textwidth]{#1}}%
|
|
\subfigure[#4]{\includegraphics[width=0.495\textwidth]{#3}}%
|
|
\caption{#5}\label{fig:#6}\end{figure}}%
|
|
% two subfigures with labels for each subplot
|
|
\newcommand{\twofigs}[8]{\begin{figure}\centering%
|
|
\subfigure[#2]{\includegraphics[width=0.495\textwidth]{#1}\label{fig:#8#3}}%
|
|
\subfigure[#5]{\includegraphics[width=0.495\textwidth]{#4}\label{fig:#8#6}}%
|
|
\caption{#7}\label{fig:#8}\end{figure}}%
|
|
% two subfigures and controllable parameters
|
|
\newcommand{\twofigc}[8]{\begin{figure}\centering%
|
|
\subfigure[#3]{\includegraphics[#1]{#2}}%
|
|
\subfigure[#6]{\includegraphics[#4]{#5}}%
|
|
\caption{#7}\label{fig:#8}\end{figure}}%
|
|
|
|
% framed figures
|
|
% standard
|
|
\newcommand{\figf}[3]{\begin{figure}\centering\fbox{\includegraphics[width=\textwidth]{#1}}\caption{#2}\label{fig:#3}\end{figure}}%
|
|
% with controllable parameters
|
|
\newcommand{\figcf}[4]{\begin{figure}\centering\fbox{\includegraphics[#1]{#2}}\caption{#3}\label{fig:#4}\end{figure}}%
|
|
% two subfigures
|
|
\newcommand{\twofigf}[6]{\begin{figure}\centering%
|
|
\fbox{\subfigure[#2]{\includegraphics[width=0.495\textwidth]{#1}}}%
|
|
\fbox{\subfigure[#4]{\includegraphics[width=0.495\textwidth]{#3}}}%
|
|
\caption{#5}\label{fig:#6}\end{figure}}%
|
|
% two subfigures with labels for each subplot
|
|
\newcommand{\twofigsf}[8]{\begin{figure}\centering%
|
|
\fbox{\subfigure[#2]{\includegraphics[width=0.495\textwidth]{#1}\label{fig:#8#3}}}%
|
|
\fbox{\subfigure[#5]{\includegraphics[width=0.495\textwidth]{#4}\label{fig:#8#6}}}%
|
|
\caption{#7}\label{fig:#8}\end{figure}}%
|
|
% two subfigures and controllable parameters
|
|
\newcommand{\twofigcf}[8]{\begin{figure}\centering%
|
|
\fbox{\subfigure[#3]{\includegraphics[#1]{#2}}}%
|
|
\fbox{\subfigure[#6]{\includegraphics[#4]{#5}}}%
|
|
\caption{#7}\label{fig:#8}\end{figure}}%
|
|
|
|
% listings
|
|
\newcommand{\filelisting}[5][]{\lstinputlisting[style=#2,caption={#4},label={lst:#5},#1]{#3}}
|
|
|
|
% preserve backslash for linebreaks in tables (ragged... redefines \\, thus it has to be preserved)
|
|
\newcommand{\pbs}[1]{\let\temp=\\#1\let\\=\temp}%
|
|
|
|
|
|
% **************************************************************************************************
|
|
% * MISC
|
|
% **************************************************************************************************
|
|
|
|
% slighly darkened colors for text
|
|
\definecolor{bkred}{rgb}{0.9,0,0}
|
|
\definecolor{bkgreen}{rgb}{0,0.67,0}
|
|
\definecolor{bkblue}{rgb}{0,0,0.75}
|