12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088 |
- %%
- % Copyright (c) 2017 - 2023, Pascal Wagler;
- % Copyright (c) 2014 - 2023, 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(CJKmainfont)$
- \PassOptionsToPackage{space}{xeCJK}
- $endif$
- %
- \documentclass[
- $if(fontsize)$
- $fontsize$,
- $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$}%
- }
- % In beamer background-image does not work well when other images are used, so this is the workaround
- \pgfdeclareimage[width=\paperwidth,height=\paperheight]{background}{$background-image$}
- \usebackgroundtemplate{\pgfuseimage{background}}
- $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(linestretch)$
- \usepackage{setspace}
- $else$
- % Use setspace anyway because we change the default line spacing.
- % The spacing is changed early to affect the titlepage and the TOC.
- \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} % this also loads fontspec
- \else
- \usepackage{unicode-math} % this also loads fontspec
- \fi
- $else$
- \usepackage{unicode-math} % this also loads fontspec
- $endif$
- \defaultfontfeatures{Scale=MatchLowercase}$-- must come before Beamer theme
- \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
- \fi
- $if(fontfamily)$
- $else$
- $-- Set default font before Beamer theme so the theme can override it
- \usepackage{lmodern}
- $endif$
- $-- Set Beamer theme before user font settings so they can override theme
- $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$
- $-- User font settings (must come after default font and Beamer theme)
- $if(fontfamily)$
- \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
- $endif$
- \ifPDFTeX\else
- % xetex/luatex font selection
- $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$}
- $if(CJKsansfont)$
- \setCJKsansfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKsansfont$}
- $endif$
- $if(CJKmonofont)$
- \setCJKmonofont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmonofont$}
- $endif$
- \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$
- % 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}
- $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$
- $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
- % Make use of float-package and set default placement for figures to H.
- % The option H means 'PUT IT HERE' (as opposed to the standard h option which means 'You may put it here if you like').
- \usepackage{float}
- \floatplacement{figure}{$if(float-placement-figure)$$float-placement-figure$$else$H$endif$}
- \makeatother
- $endif$
- $if(svg)$
- \usepackage{svg}
- $endif$
- $if(strikeout)$
- $-- also used for underline
- \ifLuaTeX
- \usepackage{luacolor}
- \usepackage[soul]{lua-ul}
- \else
- \usepackage{soul}
- \fi
- $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(subfigure)$
- \usepackage{subcaption}
- $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$
- $if(lang)$
- \ifLuaTeX
- \usepackage[bidi=basic]{babel}
- \else
- \usepackage[bidi=default]{babel}
- \fi
- $if(babel-lang)$
- \babelprovide[main,import]{$babel-lang$}
- $if(mainfont)$
- \ifPDFTeX
- \else
- \babelfont{rm}[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
- \fi
- $endif$
- $endif$
- $for(babel-otherlangs)$
- \babelprovide[import]{$babel-otherlangs$}
- $endfor$
- $for(babelfonts/pairs)$
- \babelfont[$babelfonts.key$]{rm}{$babelfonts.value$}
- $endfor$
- % get rid of language-specific shorthands (see #6817):
- \let\LanguageShortHands\languageshorthands
- \def\languageshorthands#1{}
- $endif$
- $for(header-includes)$
- $header-includes$
- $endfor$
- \ifLuaTeX
- \usepackage{selnolig} % disable illegal ligatures
- \fi
- $if(dir)$
- \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$
- \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
- \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
- \urlstyle{$if(urlstyle)$$urlstyle$$else$same$endif$}
- $if(links-as-notes)$
- % Make links footnotes instead of hotlinks:
- \DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}}
- $endif$
- $if(verbatim-in-note)$
- \VerbatimFootnotes % allow verbatim text in footnotes
- $endif$
- \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}}
- $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}
- % don't generate the default title
- % $else$
- % \maketitle
- $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}
|