1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042 |
- %%
- % 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(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-right)$$header-right$$else$$date$$endif$]{$if(header-left)$$header-left$$else$$title$$endif$}
- \chead[$if(header-center)$$header-center$$else$$endif$]{$if(header-center)$$header-center$$else$$endif$}
- \ohead[$if(header-left)$$header-left$$else$$title$$endif$]{$if(header-right)$$header-right$$else$$date$$endif$}
- \ifoot[$if(footer-right)$$footer-right$$else$\thepage$endif$]{$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$}
- \cfoot[$if(footer-center)$$footer-center$$else$$endif$]{$if(footer-center)$$footer-center$$else$$endif$}
- \ofoot[$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$]{$if(footer-right)$$footer-right$$else$\thepage$endif$}
- \addtokomafont{pageheadfoot}{\upshape}
- }
- \pagestyle{eisvogel-header-footer}
- $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(logo)$
- \noindent
- \includegraphics[width=$if(logo-width)$$logo-width$$else$35mm$endif$, left]{$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}
|