1048 lines
29 KiB
Text
1048 lines
29 KiB
Text
%%
|
||
% Copyright (c) 2017 - 2021, Pascal Wagler;
|
||
% Copyright (c) 2014 - 2021, John MacFarlane
|
||
%
|
||
% All rights reserved.
|
||
%
|
||
% Redistribution and use in source and binary forms, with or without
|
||
% modification, are permitted provided that the following conditions
|
||
% are met:
|
||
%
|
||
% - Redistributions of source code must retain the above copyright
|
||
% notice, this list of conditions and the following disclaimer.
|
||
%
|
||
% - Redistributions in binary form must reproduce the above copyright
|
||
% notice, this list of conditions and the following disclaimer in the
|
||
% documentation and/or other materials provided with the distribution.
|
||
%
|
||
% - Neither the name of John MacFarlane nor the names of other
|
||
% contributors may be used to endorse or promote products derived
|
||
% from this software without specific prior written permission.
|
||
%
|
||
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||
% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||
% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||
% FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||
% COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||
% INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||
% BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||
% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||
% ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
% POSSIBILITY OF SUCH DAMAGE.
|
||
%%
|
||
|
||
%%
|
||
% This is the Eisvogel pandoc LaTeX template.
|
||
%
|
||
% For usage information and examples visit the official GitHub page:
|
||
% https://github.com/Wandmalfarbe/pandoc-latex-template
|
||
%%
|
||
|
||
% Options for packages loaded elsewhere
|
||
\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
|
||
\PassOptionsToPackage{hyphens}{url}
|
||
\PassOptionsToPackage{dvipsnames,svgnames,x11names,table}{xcolor}
|
||
$if(dir)$
|
||
$if(latex-dir-rtl)$
|
||
\PassOptionsToPackage{RTLdocument}{bidi}
|
||
$endif$
|
||
$endif$
|
||
$if(CJKmainfont)$
|
||
\PassOptionsToPackage{space}{xeCJK}
|
||
$endif$
|
||
%
|
||
\documentclass[
|
||
$if(fontsize)$
|
||
$fontsize$,
|
||
$endif$
|
||
$if(lang)$
|
||
$babel-lang$,
|
||
$endif$
|
||
$if(papersize)$
|
||
$papersize$paper,
|
||
$else$
|
||
paper=a4,
|
||
$endif$
|
||
$if(beamer)$
|
||
ignorenonframetext,
|
||
$if(handout)$
|
||
handout,
|
||
$endif$
|
||
$if(aspectratio)$
|
||
aspectratio=$aspectratio$,
|
||
$endif$
|
||
$endif$
|
||
$for(classoption)$
|
||
$classoption$$sep$,
|
||
$endfor$
|
||
,captions=tableheading
|
||
]{$if(beamer)$$documentclass$$else$$if(book)$scrbook$else$scrartcl$endif$$endif$}
|
||
$if(beamer)$
|
||
$if(background-image)$
|
||
\usebackgroundtemplate{%
|
||
\includegraphics[width=\paperwidth]{$background-image$}%
|
||
}
|
||
$endif$
|
||
\usepackage{pgfpages}
|
||
\setbeamertemplate{caption}[numbered]
|
||
\setbeamertemplate{caption label separator}{: }
|
||
\setbeamercolor{caption name}{fg=normal text.fg}
|
||
\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$
|
||
$for(beameroption)$
|
||
\setbeameroption{$beameroption$}
|
||
$endfor$
|
||
% Prevent slide breaks in the middle of a paragraph
|
||
\widowpenalties 1 10000
|
||
\raggedbottom
|
||
$if(section-titles)$
|
||
\setbeamertemplate{part page}{
|
||
\centering
|
||
\begin{beamercolorbox}[sep=16pt,center]{part title}
|
||
\usebeamerfont{part title}\insertpart\par
|
||
\end{beamercolorbox}
|
||
}
|
||
\setbeamertemplate{section page}{
|
||
\centering
|
||
\begin{beamercolorbox}[sep=12pt,center]{part title}
|
||
\usebeamerfont{section title}\insertsection\par
|
||
\end{beamercolorbox}
|
||
}
|
||
\setbeamertemplate{subsection page}{
|
||
\centering
|
||
\begin{beamercolorbox}[sep=8pt,center]{part title}
|
||
\usebeamerfont{subsection title}\insertsubsection\par
|
||
\end{beamercolorbox}
|
||
}
|
||
\AtBeginPart{
|
||
\frame{\partpage}
|
||
}
|
||
\AtBeginSection{
|
||
\ifbibliography
|
||
\else
|
||
\frame{\sectionpage}
|
||
\fi
|
||
}
|
||
\AtBeginSubsection{
|
||
\frame{\subsectionpage}
|
||
}
|
||
$endif$
|
||
$endif$
|
||
$if(beamerarticle)$
|
||
\usepackage{beamerarticle} % needs to be loaded first
|
||
$endif$
|
||
\usepackage{amsmath,amssymb}
|
||
$if(fontfamily)$
|
||
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
|
||
$else$
|
||
\usepackage{lmodern}
|
||
$endif$
|
||
$if(linestretch)$
|
||
\usepackage{setspace}
|
||
$else$
|
||
\usepackage{setspace}
|
||
\setstretch{1.2}
|
||
$endif$
|
||
\usepackage{iftex}
|
||
\ifPDFTeX
|
||
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage{textcomp} % provide euro and other symbols
|
||
\else % if luatex or xetex
|
||
$if(mathspec)$
|
||
\ifXeTeX
|
||
\usepackage{mathspec}
|
||
\else
|
||
\usepackage{unicode-math}
|
||
\fi
|
||
$else$
|
||
\usepackage{unicode-math}
|
||
$endif$
|
||
\defaultfontfeatures{Scale=MatchLowercase}
|
||
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
||
$if(mainfont)$
|
||
\setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
|
||
$endif$
|
||
$if(sansfont)$
|
||
\setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$}
|
||
$endif$
|
||
$if(monofont)$
|
||
\setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$}
|
||
$endif$
|
||
$for(fontfamilies)$
|
||
\newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$}
|
||
$endfor$
|
||
$if(mathfont)$
|
||
$if(mathspec)$
|
||
\ifXeTeX
|
||
\setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
|
||
\else
|
||
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
|
||
\fi
|
||
$else$
|
||
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
|
||
$endif$
|
||
$endif$
|
||
$if(CJKmainfont)$
|
||
\ifXeTeX
|
||
\usepackage{xeCJK}
|
||
\setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
|
||
\fi
|
||
$endif$
|
||
$if(luatexjapresetoptions)$
|
||
\ifLuaTeX
|
||
\usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset}
|
||
\fi
|
||
$endif$
|
||
$if(CJKmainfont)$
|
||
\ifLuaTeX
|
||
\usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec}
|
||
\setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
|
||
\fi
|
||
$endif$
|
||
\fi
|
||
$if(zero-width-non-joiner)$
|
||
%% Support for zero-width non-joiner characters.
|
||
\makeatletter
|
||
\def\zerowidthnonjoiner{%
|
||
% Prevent ligatures and adjust kerning, but still support hyphenating.
|
||
\texorpdfstring{%
|
||
\textormath{\nobreak\discretionary{-}{}{\kern.03em}%
|
||
\ifvmode\else\nobreak\hskip\z@skip\fi}{}%
|
||
}{}%
|
||
}
|
||
\makeatother
|
||
\ifPDFTeX
|
||
\DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner}
|
||
\else
|
||
\catcode`^^^^200c=\active
|
||
\protected\def ^^^^200c{\zerowidthnonjoiner}
|
||
\fi
|
||
%% End of ZWNJ support
|
||
$endif$
|
||
$if(beamer)$
|
||
$if(theme)$
|
||
\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$}
|
||
$endif$
|
||
$if(colortheme)$
|
||
\usecolortheme{$colortheme$}
|
||
$endif$
|
||
$if(fonttheme)$
|
||
\usefonttheme{$fonttheme$}
|
||
$endif$
|
||
$if(mainfont)$
|
||
\usefonttheme{serif} % use mainfont rather than sansfont for slide text
|
||
$endif$
|
||
$if(innertheme)$
|
||
\useinnertheme{$innertheme$}
|
||
$endif$
|
||
$if(outertheme)$
|
||
\useoutertheme{$outertheme$}
|
||
$endif$
|
||
$endif$
|
||
% Use upquote if available, for straight quotes in verbatim environments
|
||
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
||
\IfFileExists{microtype.sty}{% use microtype if available
|
||
\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype}
|
||
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
||
}{}
|
||
$if(indent)$
|
||
$else$
|
||
\makeatletter
|
||
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
||
\IfFileExists{parskip.sty}{%
|
||
\usepackage{parskip}
|
||
}{% else
|
||
\setlength{\parindent}{0pt}
|
||
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
|
||
}{% if KOMA class
|
||
\KOMAoptions{parskip=half}}
|
||
\makeatother
|
||
$endif$
|
||
$if(verbatim-in-note)$
|
||
\usepackage{fancyvrb}
|
||
$endif$
|
||
\usepackage{xcolor}
|
||
\definecolor{default-linkcolor}{HTML}{A50000}
|
||
\definecolor{default-filecolor}{HTML}{A50000}
|
||
\definecolor{default-citecolor}{HTML}{4077C0}
|
||
\definecolor{default-urlcolor}{HTML}{4077C0}
|
||
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
||
$if(footnotes-pretty)$
|
||
% load footmisc in order to customize footnotes (footmisc has to be loaded before hyperref, cf. https://tex.stackexchange.com/a/169124/144087)
|
||
\usepackage[hang,flushmargin,bottom,multiple]{footmisc}
|
||
\setlength{\footnotemargin}{0.8em} % set space between footnote nr and text
|
||
\setlength{\footnotesep}{\baselineskip} % set space between multiple footnotes
|
||
\setlength{\skip\footins}{0.3cm} % set space between page content and footnote
|
||
\setlength{\footskip}{0.9cm} % set space between footnote and page bottom
|
||
$endif$
|
||
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
||
\hypersetup{
|
||
$if(title-meta)$
|
||
pdftitle={$title-meta$},
|
||
$endif$
|
||
$if(author-meta)$
|
||
pdfauthor={$author-meta$},
|
||
$endif$
|
||
$if(lang)$
|
||
pdflang={$lang$},
|
||
$endif$
|
||
$if(subject)$
|
||
pdfsubject={$subject$},
|
||
$endif$
|
||
$if(keywords)$
|
||
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},
|
||
$endif$
|
||
$if(colorlinks)$
|
||
colorlinks=true,
|
||
linkcolor={$if(linkcolor)$$linkcolor$$else$default-linkcolor$endif$},
|
||
filecolor={$if(filecolor)$$filecolor$$else$default-filecolor$endif$},
|
||
citecolor={$if(citecolor)$$citecolor$$else$default-citecolor$endif$},
|
||
urlcolor={$if(urlcolor)$$urlcolor$$else$default-urlcolor$endif$},
|
||
$else$
|
||
hidelinks,
|
||
$endif$
|
||
breaklinks=true,
|
||
pdfcreator={LaTeX via pandoc with the Eisvogel template}}
|
||
\urlstyle{same} % disable monospaced font for URLs
|
||
$if(verbatim-in-note)$
|
||
\VerbatimFootnotes % allow verbatim text in footnotes
|
||
$endif$
|
||
$if(geometry)$
|
||
$if(beamer)$
|
||
\geometry{$for(geometry)$$geometry$$sep$,$endfor$}
|
||
$else$
|
||
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
|
||
$endif$
|
||
$else$
|
||
$if(beamer)$
|
||
$else$
|
||
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering,$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
|
||
$endif$
|
||
$endif$
|
||
$if(titlepage-logo)$
|
||
\usepackage[export]{adjustbox}
|
||
\usepackage{graphicx}
|
||
$endif$
|
||
$if(beamer)$
|
||
\newif\ifbibliography
|
||
$endif$
|
||
$if(listings)$
|
||
\usepackage{listings}
|
||
\newcommand{\passthrough}[1]{#1}
|
||
\lstset{defaultdialect=[5.3]Lua}
|
||
\lstset{defaultdialect=[x86masm]Assembler}
|
||
$endif$
|
||
$if(listings-no-page-break)$
|
||
\usepackage{etoolbox}
|
||
\BeforeBeginEnvironment{lstlisting}{\par\noindent\begin{minipage}{\linewidth}}
|
||
\AfterEndEnvironment{lstlisting}{\end{minipage}\par\addvspace{\topskip}}
|
||
$endif$
|
||
$if(lhs)$
|
||
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
|
||
$endif$
|
||
$if(highlighting-macros)$
|
||
$highlighting-macros$
|
||
|
||
% Workaround/bugfix from jannick0.
|
||
% See https://github.com/jgm/pandoc/issues/4302#issuecomment-360669013)
|
||
% or https://github.com/Wandmalfarbe/pandoc-latex-template/issues/2
|
||
%
|
||
% Redefine the verbatim environment 'Highlighting' to break long lines (with
|
||
% the help of fvextra). Redefinition is necessary because it is unlikely that
|
||
% pandoc includes fvextra in the default template.
|
||
\usepackage{fvextra}
|
||
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,fontsize=$if(code-block-font-size)$$code-block-font-size$$else$\small$endif$,commandchars=\\\{\}}
|
||
|
||
$endif$
|
||
$if(tables)$
|
||
\usepackage{longtable,booktabs,array}
|
||
$if(multirow)$
|
||
\usepackage{multirow}
|
||
$endif$
|
||
\usepackage{calc} % for calculating minipage widths
|
||
$if(beamer)$
|
||
\usepackage{caption}
|
||
% Make caption package work with longtable
|
||
\makeatletter
|
||
\def\fnum@table{\tablename~\thetable}
|
||
\makeatother
|
||
$else$
|
||
% Correct order of tables after \paragraph or \subparagraph
|
||
\usepackage{etoolbox}
|
||
\makeatletter
|
||
\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
|
||
\makeatother
|
||
% Allow footnotes in longtable head/foot
|
||
\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
|
||
\makesavenoteenv{longtable}
|
||
$endif$
|
||
$endif$
|
||
% add backlinks to footnote references, cf. https://tex.stackexchange.com/questions/302266/make-footnote-clickable-both-ways
|
||
$if(footnotes-disable-backlinks)$
|
||
$else$
|
||
\usepackage{footnotebackref}
|
||
$endif$
|
||
$if(graphics)$
|
||
\usepackage{graphicx}
|
||
\makeatletter
|
||
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
|
||
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
|
||
\makeatother
|
||
% Scale images if necessary, so that they will not overflow the page
|
||
% margins by default, and it is still possible to overwrite the defaults
|
||
% using explicit options in \includegraphics[width, height, ...]{}
|
||
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
|
||
% Set default figure placement to htbp
|
||
\makeatletter
|
||
\def\fps@figure{htbp}
|
||
\makeatother
|
||
$endif$
|
||
$if(links-as-notes)$
|
||
% Make links footnotes instead of hotlinks:
|
||
\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}}
|
||
$endif$
|
||
$if(strikeout)$
|
||
$-- also used for underline
|
||
\usepackage[normalem]{ulem}
|
||
% Avoid problems with \sout in headers with hyperref
|
||
\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
|
||
$endif$
|
||
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||
\providecommand{\tightlist}{%
|
||
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||
$if(numbersections)$
|
||
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$}
|
||
$else$
|
||
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
||
$endif$
|
||
$if(beamer)$
|
||
$else$
|
||
$if(block-headings)$
|
||
% Make \paragraph and \subparagraph free-standing
|
||
\ifx\paragraph\undefined\else
|
||
\let\oldparagraph\paragraph
|
||
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
|
||
\fi
|
||
\ifx\subparagraph\undefined\else
|
||
\let\oldsubparagraph\subparagraph
|
||
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
|
||
\fi
|
||
$endif$
|
||
$endif$
|
||
$if(pagestyle)$
|
||
\pagestyle{$pagestyle$}
|
||
$endif$
|
||
$if(csl-refs)$
|
||
\newlength{\cslhangindent}
|
||
\setlength{\cslhangindent}{1.5em}
|
||
\newlength{\csllabelwidth}
|
||
\setlength{\csllabelwidth}{3em}
|
||
\newlength{\cslentryspacingunit} % times entry-spacing
|
||
\setlength{\cslentryspacingunit}{\parskip}
|
||
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
|
||
{% don't indent paragraphs
|
||
\setlength{\parindent}{0pt}
|
||
% turn on hanging indent if param 1 is 1
|
||
\ifodd #1
|
||
\let\oldpar\par
|
||
\def\par{\hangindent=\cslhangindent\oldpar}
|
||
\fi
|
||
% set entry spacing
|
||
\setlength{\parskip}{#2\cslentryspacingunit}
|
||
}%
|
||
{}
|
||
\usepackage{calc}
|
||
\newcommand{\CSLBlock}[1]{#1\hfill\break}
|
||
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
|
||
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
|
||
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
|
||
$endif$
|
||
$for(header-includes)$
|
||
$header-includes$
|
||
$endfor$
|
||
$if(lang)$
|
||
\usepackage[$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
|
||
% get rid of language-specific shorthands (see #6817):
|
||
\let\LanguageShortHands\languageshorthands
|
||
\def\languageshorthands#1{}
|
||
$endif$
|
||
\ifLuaTeX
|
||
\usepackage{selnolig} % disable illegal ligatures
|
||
\fi
|
||
$if(dir)$
|
||
\ifXeTeX
|
||
% Load bidi as late as possible as it modifies e.g. graphicx
|
||
\usepackage{bidi}
|
||
\fi
|
||
\ifPDFTeX
|
||
\TeXXeTstate=1
|
||
\newcommand{\RL}[1]{\beginR #1\endR}
|
||
\newcommand{\LR}[1]{\beginL #1\endL}
|
||
\newenvironment{RTL}{\beginR}{\endR}
|
||
\newenvironment{LTR}{\beginL}{\endL}
|
||
\fi
|
||
$endif$
|
||
$if(natbib)$
|
||
\usepackage[$natbiboptions$]{natbib}
|
||
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
|
||
$endif$
|
||
$if(biblatex)$
|
||
\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex}
|
||
$for(bibliography)$
|
||
\addbibresource{$bibliography$}
|
||
$endfor$
|
||
$endif$
|
||
$if(nocite-ids)$
|
||
\nocite{$for(nocite-ids)$$it$$sep$, $endfor$}
|
||
$endif$
|
||
$if(csquotes)$
|
||
\usepackage{csquotes}
|
||
$endif$
|
||
|
||
$if(title)$
|
||
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
|
||
$endif$
|
||
$if(subtitle)$
|
||
$if(beamer)$
|
||
$else$
|
||
\usepackage{etoolbox}
|
||
\makeatletter
|
||
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
|
||
\apptocmd{\@title}{\par {\large #1 \par}}{}{}
|
||
}
|
||
\makeatother
|
||
$endif$
|
||
\subtitle{$subtitle$}
|
||
$endif$
|
||
\author{$for(author)$$author$$sep$ \and $endfor$}
|
||
\date{$date$}
|
||
$if(beamer)$
|
||
$if(institute)$
|
||
\institute{$for(institute)$$institute$$sep$ \and $endfor$}
|
||
$endif$
|
||
$if(titlegraphic)$
|
||
\titlegraphic{\includegraphics{$titlegraphic$}}
|
||
$endif$
|
||
$if(logo)$
|
||
\logo{\includegraphics{$logo$}}
|
||
$endif$
|
||
$endif$
|
||
|
||
|
||
|
||
%%
|
||
%% added
|
||
%%
|
||
|
||
$if(page-background)$
|
||
\usepackage[pages=all]{background}
|
||
$endif$
|
||
|
||
%
|
||
% for the background color of the title page
|
||
%
|
||
$if(titlepage)$
|
||
\usepackage{pagecolor}
|
||
\usepackage{afterpage}
|
||
$if(titlepage-background)$
|
||
\usepackage{tikz}
|
||
$endif$
|
||
$if(geometry)$
|
||
$else$
|
||
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering]{geometry}
|
||
$endif$
|
||
$endif$
|
||
|
||
%
|
||
% break urls
|
||
%
|
||
\PassOptionsToPackage{hyphens}{url}
|
||
|
||
%
|
||
% When using babel or polyglossia with biblatex, loading csquotes is recommended
|
||
% to ensure that quoted texts are typeset according to the rules of your main language.
|
||
%
|
||
\usepackage{csquotes}
|
||
|
||
%
|
||
% captions
|
||
%
|
||
\definecolor{caption-color}{HTML}{777777}
|
||
$if(beamer)$
|
||
$else$
|
||
\usepackage[font={stretch=1.2}, textfont={color=caption-color}, position=top, skip=4mm, labelfont=bf, singlelinecheck=false, justification=$if(caption-justification)$$caption-justification$$else$raggedright$endif$]{caption}
|
||
\setcapindent{0em}
|
||
$endif$
|
||
|
||
%
|
||
% blockquote
|
||
%
|
||
\definecolor{blockquote-border}{RGB}{221,221,221}
|
||
\definecolor{blockquote-text}{RGB}{119,119,119}
|
||
\usepackage{mdframed}
|
||
\newmdenv[rightline=false,bottomline=false,topline=false,linewidth=3pt,linecolor=blockquote-border,skipabove=\parskip]{customblockquote}
|
||
\renewenvironment{quote}{\begin{customblockquote}\list{}{\rightmargin=0em\leftmargin=0em}%
|
||
\item\relax\color{blockquote-text}\ignorespaces}{\unskip\unskip\endlist\end{customblockquote}}
|
||
|
||
%
|
||
% Source Sans Pro as the default font family
|
||
% Source Code Pro for monospace text
|
||
%
|
||
% 'default' option sets the default
|
||
% font family to Source Sans Pro, not \sfdefault.
|
||
%
|
||
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
|
||
$if(fontfamily)$
|
||
$else$
|
||
\usepackage[default]{sourcesanspro}
|
||
\usepackage{sourcecodepro}
|
||
$endif$
|
||
\else % if not pdftex
|
||
$if(mainfont)$
|
||
$else$
|
||
\usepackage[default]{sourcesanspro}
|
||
\usepackage{sourcecodepro}
|
||
|
||
% XeLaTeX specific adjustments for straight quotes: https://tex.stackexchange.com/a/354887
|
||
% This issue is already fixed (see https://github.com/silkeh/latex-sourcecodepro/pull/5) but the
|
||
% fix is still unreleased.
|
||
% TODO: Remove this workaround when the new version of sourcecodepro is released on CTAN.
|
||
\ifxetex
|
||
\makeatletter
|
||
\defaultfontfeatures[\ttfamily]
|
||
{ Numbers = \sourcecodepro@figurestyle,
|
||
Scale = \SourceCodePro@scale,
|
||
Extension = .otf }
|
||
\setmonofont
|
||
[ UprightFont = *-\sourcecodepro@regstyle,
|
||
ItalicFont = *-\sourcecodepro@regstyle It,
|
||
BoldFont = *-\sourcecodepro@boldstyle,
|
||
BoldItalicFont = *-\sourcecodepro@boldstyle It ]
|
||
{SourceCodePro}
|
||
\makeatother
|
||
\fi
|
||
$endif$
|
||
\fi
|
||
|
||
%
|
||
% heading color
|
||
%
|
||
\definecolor{heading-color}{RGB}{40,40,40}
|
||
$if(beamer)$
|
||
$else$
|
||
\addtokomafont{section}{\color{heading-color}}
|
||
$endif$
|
||
% When using the classes report, scrreprt, book,
|
||
% scrbook or memoir, uncomment the following line.
|
||
%\addtokomafont{chapter}{\color{heading-color}}
|
||
|
||
%
|
||
% variables for title, author and date
|
||
%
|
||
$if(beamer)$
|
||
$else$
|
||
\usepackage{titling}
|
||
\title{$title$}
|
||
\author{$for(author)$$author$$sep$, $endfor$}
|
||
\date{$date$}
|
||
$endif$
|
||
|
||
%
|
||
% tables
|
||
%
|
||
$if(tables)$
|
||
|
||
\definecolor{table-row-color}{HTML}{F5F5F5}
|
||
\definecolor{table-rule-color}{HTML}{999999}
|
||
|
||
%\arrayrulecolor{black!40}
|
||
\arrayrulecolor{table-rule-color} % color of \toprule, \midrule, \bottomrule
|
||
\setlength\heavyrulewidth{0.3ex} % thickness of \toprule, \bottomrule
|
||
\renewcommand{\arraystretch}{1.3} % spacing (padding)
|
||
|
||
$if(table-use-row-colors)$
|
||
% TODO: This doesn't work anymore. I don't know why.
|
||
% Reset rownum counter so that each table
|
||
% starts with the same row colors.
|
||
% https://tex.stackexchange.com/questions/170637/restarting-rowcolors
|
||
%
|
||
% Unfortunately the colored cells extend beyond the edge of the
|
||
% table because pandoc uses @-expressions (@{}) like so:
|
||
%
|
||
% \begin{longtable}[]{@{}ll@{}}
|
||
% \end{longtable}
|
||
%
|
||
% https://en.wikibooks.org/wiki/LaTeX/Tables#.40-expressions
|
||
\let\oldlongtable\longtable
|
||
\let\endoldlongtable\endlongtable
|
||
\renewenvironment{longtable}{
|
||
\rowcolors{3}{}{table-row-color!100} % row color
|
||
\oldlongtable} {
|
||
\endoldlongtable
|
||
\global\rownum=0\relax}
|
||
$endif$
|
||
$endif$
|
||
|
||
%
|
||
% remove paragraph indention
|
||
%
|
||
\setlength{\parindent}{0pt}
|
||
\setlength{\parskip}{6pt plus 2pt minus 1pt}
|
||
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
||
|
||
%
|
||
%
|
||
% Listings
|
||
%
|
||
%
|
||
|
||
$if(listings)$
|
||
|
||
%
|
||
% general listing colors
|
||
%
|
||
\definecolor{listing-background}{HTML}{F7F7F7}
|
||
\definecolor{listing-rule}{HTML}{B3B2B3}
|
||
\definecolor{listing-numbers}{HTML}{B3B2B3}
|
||
\definecolor{listing-text-color}{HTML}{000000}
|
||
\definecolor{listing-keyword}{HTML}{435489}
|
||
\definecolor{listing-keyword-2}{HTML}{1284CA} % additional keywords
|
||
\definecolor{listing-keyword-3}{HTML}{9137CB} % additional keywords
|
||
\definecolor{listing-identifier}{HTML}{435489}
|
||
\definecolor{listing-string}{HTML}{00999A}
|
||
\definecolor{listing-comment}{HTML}{8E8E8E}
|
||
|
||
\lstdefinestyle{eisvogel_listing_style}{
|
||
language = java,
|
||
$if(listings-disable-line-numbers)$
|
||
xleftmargin = 0.6em,
|
||
framexleftmargin = 0.4em,
|
||
$else$
|
||
numbers = left,
|
||
xleftmargin = 2.7em,
|
||
framexleftmargin = 2.5em,
|
||
$endif$
|
||
backgroundcolor = \color{listing-background},
|
||
basicstyle = \color{listing-text-color}\linespread{1.0}%
|
||
\lst@ifdisplaystyle%
|
||
$if(code-block-font-size)$$code-block-font-size$$else$\small$endif$%
|
||
\fi\ttfamily{},
|
||
breaklines = true,
|
||
frame = single,
|
||
framesep = 0.19em,
|
||
rulecolor = \color{listing-rule},
|
||
frameround = ffff,
|
||
tabsize = 4,
|
||
numberstyle = \color{listing-numbers},
|
||
aboveskip = 1.0em,
|
||
belowskip = 0.1em,
|
||
abovecaptionskip = 0em,
|
||
belowcaptionskip = 1.0em,
|
||
keywordstyle = {\color{listing-keyword}\bfseries},
|
||
keywordstyle = {[2]\color{listing-keyword-2}\bfseries},
|
||
keywordstyle = {[3]\color{listing-keyword-3}\bfseries\itshape},
|
||
sensitive = true,
|
||
identifierstyle = \color{listing-identifier},
|
||
commentstyle = \color{listing-comment},
|
||
stringstyle = \color{listing-string},
|
||
showstringspaces = false,
|
||
escapeinside = {/*@}{@*/}, % Allow LaTeX inside these special comments
|
||
literate =
|
||
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
|
||
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
|
||
{à}{{\`a}}1 {è}{{\'e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
|
||
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
|
||
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
|
||
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
|
||
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
|
||
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
|
||
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
|
||
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
|
||
{€}{{\EUR}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
|
||
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
|
||
{…}{{\ldots}}1 {≥}{{>=}}1 {≤}{{<=}}1 {„}{{\glqq}}1 {“}{{\grqq}}1
|
||
{”}{{''}}1
|
||
}
|
||
\lstset{style=eisvogel_listing_style}
|
||
|
||
%
|
||
% Java (Java SE 12, 2019-06-22)
|
||
%
|
||
\lstdefinelanguage{Java}{
|
||
morekeywords={
|
||
% normal keywords (without data types)
|
||
abstract,assert,break,case,catch,class,continue,default,
|
||
do,else,enum,exports,extends,final,finally,for,if,implements,
|
||
import,instanceof,interface,module,native,new,package,private,
|
||
protected,public,requires,return,static,strictfp,super,switch,
|
||
synchronized,this,throw,throws,transient,try,volatile,while,
|
||
% var is an identifier
|
||
var
|
||
},
|
||
morekeywords={[2] % data types
|
||
% primitive data types
|
||
boolean,byte,char,double,float,int,long,short,
|
||
% String
|
||
String,
|
||
% primitive wrapper types
|
||
Boolean,Byte,Character,Double,Float,Integer,Long,Short
|
||
% number types
|
||
Number,AtomicInteger,AtomicLong,BigDecimal,BigInteger,DoubleAccumulator,DoubleAdder,LongAccumulator,LongAdder,Short,
|
||
% other
|
||
Object,Void,void
|
||
},
|
||
morekeywords={[3] % literals
|
||
% reserved words for literal values
|
||
null,true,false,
|
||
},
|
||
sensitive,
|
||
morecomment = [l]//,
|
||
morecomment = [s]{/*}{*/},
|
||
morecomment = [s]{/**}{*/},
|
||
morestring = [b]",
|
||
morestring = [b]',
|
||
}
|
||
|
||
\lstdefinelanguage{XML}{
|
||
morestring = [b]",
|
||
moredelim = [s][\bfseries\color{listing-keyword}]{<}{\ },
|
||
moredelim = [s][\bfseries\color{listing-keyword}]{</}{>},
|
||
moredelim = [l][\bfseries\color{listing-keyword}]{/>},
|
||
moredelim = [l][\bfseries\color{listing-keyword}]{>},
|
||
morecomment = [s]{<?}{?>},
|
||
morecomment = [s]{<!--}{-->},
|
||
commentstyle = \color{listing-comment},
|
||
stringstyle = \color{listing-string},
|
||
identifierstyle = \color{listing-identifier}
|
||
}
|
||
$endif$
|
||
|
||
%
|
||
% header and footer
|
||
%
|
||
$if(beamer)$
|
||
$else$
|
||
$if(disable-header-and-footer)$
|
||
$else$
|
||
\usepackage[headsepline,footsepline]{scrlayer-scrpage}
|
||
|
||
\newpairofpagestyles{eisvogel-header-footer}{
|
||
\clearpairofpagestyles
|
||
\ihead*{$if(header-left)$$header-left$$else$$title$$endif$}
|
||
\chead*{$if(header-center)$$header-center$$else$$endif$}
|
||
\ohead*{$if(header-right)$$header-right$$else$$date$$endif$}
|
||
\ifoot*{$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$}
|
||
\cfoot*{$if(footer-center)$$footer-center$$else$$endif$}
|
||
\ofoot*{$if(footer-right)$$footer-right$$else$\thepage$endif$}
|
||
\addtokomafont{pageheadfoot}{\upshape}
|
||
}
|
||
\pagestyle{eisvogel-header-footer}
|
||
|
||
$if(book)$
|
||
\deftripstyle{ChapterStyle}{}{}{}{}{\pagemark}{}
|
||
\renewcommand*{\chapterpagestyle}{ChapterStyle}
|
||
$endif$
|
||
|
||
$if(page-background)$
|
||
\backgroundsetup{
|
||
scale=1,
|
||
color=black,
|
||
opacity=$if(page-background-opacity)$$page-background-opacity$$else$0.2$endif$,
|
||
angle=0,
|
||
contents={%
|
||
\includegraphics[width=\paperwidth,height=\paperheight]{$page-background$}
|
||
}%
|
||
}
|
||
$endif$
|
||
$endif$
|
||
$endif$
|
||
|
||
%%
|
||
%% end added
|
||
%%
|
||
|
||
\begin{document}
|
||
|
||
%%
|
||
%% begin titlepage
|
||
%%
|
||
$if(beamer)$
|
||
$else$
|
||
$if(titlepage)$
|
||
\begin{titlepage}
|
||
$if(titlepage-background)$
|
||
\newgeometry{top=2cm, right=4cm, bottom=3cm, left=4cm}
|
||
$else$
|
||
\newgeometry{left=6cm}
|
||
$endif$
|
||
$if(titlepage-color)$
|
||
\definecolor{titlepage-color}{HTML}{$titlepage-color$}
|
||
\newpagecolor{titlepage-color}\afterpage{\restorepagecolor}
|
||
$endif$
|
||
$if(titlepage-background)$
|
||
\tikz[remember picture,overlay] \node[inner sep=0pt] at (current page.center){\includegraphics[width=\paperwidth,height=\paperheight]{$titlepage-background$}};
|
||
$endif$
|
||
\newcommand{\colorRule}[3][black]{\textcolor[HTML]{#1}{\rule{#2}{#3}}}
|
||
\begin{flushleft}
|
||
\noindent
|
||
\\[-1em]
|
||
\color[HTML]{$if(titlepage-text-color)$$titlepage-text-color$$else$5F5F5F$endif$}
|
||
\makebox[0pt][l]{\colorRule[$if(titlepage-rule-color)$$titlepage-rule-color$$else$435488$endif$]{1.3\textwidth}{$if(titlepage-rule-height)$$titlepage-rule-height$$else$4$endif$pt}}
|
||
\par
|
||
\noindent
|
||
|
||
$if(titlepage-background)$
|
||
% The titlepage with a background image has other text spacing and text size
|
||
{
|
||
\setstretch{2}
|
||
\vfill
|
||
\vskip -8em
|
||
\noindent {\huge \textbf{\textsf{$title$}}}
|
||
$if(subtitle)$
|
||
\vskip 1em
|
||
{\Large \textsf{$subtitle$}}
|
||
$endif$
|
||
\vskip 2em
|
||
\noindent {\Large \textsf{$for(author)$$author$$sep$, $endfor$} \vskip 0.6em \textsf{$date$}}
|
||
\vfill
|
||
}
|
||
$else$
|
||
{
|
||
\setstretch{1.4}
|
||
\vfill
|
||
\noindent {\huge \textbf{\textsf{$title$}}}
|
||
$if(subtitle)$
|
||
\vskip 1em
|
||
{\Large \textsf{$subtitle$}}
|
||
$endif$
|
||
\vskip 2em
|
||
\noindent {\Large \textsf{$for(author)$$author$$sep$, $endfor$}}
|
||
\vfill
|
||
}
|
||
$endif$
|
||
|
||
$if(titlepage-logo)$
|
||
\noindent
|
||
\includegraphics[width=$if(logo-width)$$logo-width$$else$35mm$endif$, left]{$titlepage-logo$}
|
||
$endif$
|
||
|
||
$if(titlepage-background)$
|
||
$else$
|
||
\textsf{$date$}
|
||
$endif$
|
||
\end{flushleft}
|
||
\end{titlepage}
|
||
\restoregeometry
|
||
\pagenumbering{arabic}
|
||
$endif$
|
||
$endif$
|
||
|
||
%%
|
||
%% end titlepage
|
||
%%
|
||
|
||
$if(has-frontmatter)$
|
||
\frontmatter
|
||
$endif$
|
||
$if(title)$
|
||
$if(beamer)$
|
||
\frame{\titlepage}
|
||
$endif$
|
||
$if(abstract)$
|
||
\begin{abstract}
|
||
$abstract$
|
||
\end{abstract}
|
||
$endif$
|
||
$endif$
|
||
|
||
$if(first-chapter)$
|
||
\setcounter{chapter}{$first-chapter$}
|
||
\addtocounter{chapter}{-1}
|
||
$endif$
|
||
|
||
$for(include-before)$
|
||
$include-before$
|
||
|
||
$endfor$
|
||
$if(toc)$
|
||
$if(toc-title)$
|
||
\renewcommand*\contentsname{$toc-title$}
|
||
$endif$
|
||
$if(beamer)$
|
||
\begin{frame}[allowframebreaks]
|
||
$if(toc-title)$
|
||
\frametitle{$toc-title$}
|
||
$endif$
|
||
\tableofcontents[hideallsubsections]
|
||
\end{frame}
|
||
$if(toc-own-page)$
|
||
\newpage
|
||
$endif$
|
||
$else$
|
||
{
|
||
$if(colorlinks)$
|
||
\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
|
||
$endif$
|
||
\setcounter{tocdepth}{$toc-depth$}
|
||
\tableofcontents
|
||
$if(toc-own-page)$
|
||
\newpage
|
||
$endif$
|
||
}
|
||
$endif$
|
||
$endif$
|
||
$if(lof)$
|
||
\listoffigures
|
||
$endif$
|
||
$if(lot)$
|
||
\listoftables
|
||
$endif$
|
||
$if(linestretch)$
|
||
\setstretch{$linestretch$}
|
||
$endif$
|
||
$if(has-frontmatter)$
|
||
\mainmatter
|
||
$endif$
|
||
$body$
|
||
|
||
$if(has-frontmatter)$
|
||
\backmatter
|
||
$endif$
|
||
$if(natbib)$
|
||
$if(bibliography)$
|
||
$if(biblio-title)$
|
||
$if(has-chapters)$
|
||
\renewcommand\bibname{$biblio-title$}
|
||
$else$
|
||
\renewcommand\refname{$biblio-title$}
|
||
$endif$
|
||
$endif$
|
||
$if(beamer)$
|
||
\begin{frame}[allowframebreaks]{$biblio-title$}
|
||
\bibliographytrue
|
||
$endif$
|
||
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
|
||
$if(beamer)$
|
||
\end{frame}
|
||
$endif$
|
||
|
||
$endif$
|
||
$endif$
|
||
$if(biblatex)$
|
||
$if(beamer)$
|
||
\begin{frame}[allowframebreaks]{$biblio-title$}
|
||
\bibliographytrue
|
||
\printbibliography[heading=none]
|
||
\end{frame}
|
||
$else$
|
||
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
|
||
$endif$
|
||
|
||
$endif$
|
||
$for(include-after)$
|
||
$include-after$
|
||
|
||
$endfor$
|
||
\end{document}
|