Update pandoc templates

This commit is contained in:
coolneng 2019-12-17 21:08:54 +01:00
parent db90bc295c
commit 3e3836163f
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
2 changed files with 415 additions and 213 deletions

View File

@ -1,6 +1,6 @@
%% %%
% Copyright (c) 2018, Pascal Wagler; % Copyright (c) 2017 - 2019, Pascal Wagler;
% Copyright (c) 2014--2018, John MacFarlane % Copyright (c) 2014 - 2019, John MacFarlane
% %
% All rights reserved. % All rights reserved.
% %
@ -34,17 +34,48 @@
%% %%
%% %%
% For usage information and examples visit the GitHub page of this template: % This is the Eisvogel pandoc LaTeX template.
%
% For usage information and examples visit the official GitHub page:
% https://github.com/Wandmalfarbe/pandoc-latex-template % https://github.com/Wandmalfarbe/pandoc-latex-template
%% %%
\PassOptionsToPackage{unicode=true}{hyperref} % options for packages loaded elsewhere % Options for packages loaded elsewhere
\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
\PassOptionsToPackage{hyphens}{url} \PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{dvipsnames,svgnames*,table}{xcolor} \PassOptionsToPackage{dvipsnames,svgnames*,x11names*,table}{xcolor}
$if(dir)$$if(latex-dir-rtl)$ $if(dir)$
$if(latex-dir-rtl)$
\PassOptionsToPackage{RTLdocument}{bidi} \PassOptionsToPackage{RTLdocument}{bidi}
$endif$$endif$% $endif$
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$else$a4paper,$endif$$if(beamer)$ignorenonframetext,$if(handout)$handout,$endif$$if(aspectratio)$aspectratio=$aspectratio$,$endif$$endif$$for(classoption)$$classoption$$sep$,$endfor$,tablecaptionabove]{$if(book)$scrbook$else$scrartcl$endif$} $endif$
%
\documentclass[
$if(fontsize)$
$fontsize$,
$endif$
$if(lang)$
$babel-lang$,
$endif$
$if(papersize)$
$papersize$paper,
$else$
a4paper,
$endif$
$if(beamer)$
ignorenonframetext,
$if(handout)$
handout,
$endif$
$if(aspectratio)$
aspectratio=$aspectratio$,
$endif$
$endif$
$for(classoption)$
$classoption$$sep$,
$endfor$
,tablecaptionabove
]{$if(beamer)$$documentclass$$else$$if(book)$scrbook$else$scrartcl$endif$$endif$}
$if(beamer)$ $if(beamer)$
$if(background-image)$ $if(background-image)$
\usebackgroundtemplate{% \usebackgroundtemplate{%
@ -59,7 +90,7 @@ $endif$
$for(beameroption)$ $for(beameroption)$
\setbeameroption{$beameroption$} \setbeameroption{$beameroption$}
$endfor$ $endfor$
% Prevent slide breaks in the middle of a paragraph: % Prevent slide breaks in the middle of a paragraph
\widowpenalties 1 10000 \widowpenalties 1 10000
\raggedbottom \raggedbottom
$if(section-titles)$ $if(section-titles)$
@ -112,12 +143,11 @@ $else$
$endif$ $endif$
\usepackage{amssymb,amsmath} \usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex} \usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage{textcomp} % provides euro and other symbols \usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xelatex \else % if luatex or xetex
$if(mathspec)$ $if(mathspec)$
\ifxetex \ifxetex
\usepackage{mathspec} \usepackage{mathspec}
@ -127,22 +157,20 @@ $if(mathspec)$
$else$ $else$
\usepackage{unicode-math} \usepackage{unicode-math}
$endif$ $endif$
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} \defaultfontfeatures{Scale=MatchLowercase}
$for(fontfamilies)$ \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$}
$endfor$
$if(mainfont)$ $if(mainfont)$
\setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
$endif$ $endif$
$if(romanfont)$
\setromanfont[$for(romanfontoptions)$$romanfontoptions$$sep$,$endfor$]{$romanfont$}
$endif$
$if(sansfont)$ $if(sansfont)$
\setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$}
$endif$ $endif$
$if(monofont)$ $if(monofont)$
\setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$}
$endif$ $endif$
$for(fontfamilies)$
\newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$}
$endfor$
$if(mathfont)$ $if(mathfont)$
$if(mathspec)$ $if(mathspec)$
\ifxetex \ifxetex
@ -192,33 +220,43 @@ $if(outertheme)$
\useoutertheme{$outertheme$} \useoutertheme{$outertheme$}
$endif$ $endif$
$endif$ $endif$
% use upquote if available, for straight quotes in verbatim environments % Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{upquote.sty}{\usepackage{upquote}}{}
% use microtype if available \IfFileExists{microtype.sty}{% use microtype if available
\IfFileExists{microtype.sty}{%
\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{} }{}
$if(indent)$ $if(indent)$
$else$ $else$
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{% \IfFileExists{parskip.sty}{%
\usepackage{parskip} \usepackage{parskip}
}{% else }{% else
\setlength{\parindent}{0pt} \setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}}
} }{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
$endif$ $endif$
$if(verbatim-in-note)$ $if(verbatim-in-note)$
\usepackage{fancyvrb} \usepackage{fancyvrb}
$endif$ $endif$
$if(colorlinks)$
\usepackage{xcolor} \usepackage{xcolor}
\definecolor{default-linkcolor}{HTML}{A50000} \definecolor{default-linkcolor}{HTML}{A50000}
\definecolor{default-filecolor}{HTML}{A50000} \definecolor{default-filecolor}{HTML}{A50000}
\definecolor{default-citecolor}{HTML}{4077C0} \definecolor{default-citecolor}{HTML}{4077C0}
\definecolor{default-urlcolor}{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$ $endif$
\usepackage{hyperref} \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{ \hypersetup{
$if(title-meta)$ $if(title-meta)$
pdftitle={$title-meta$}, pdftitle={$title-meta$},
@ -226,6 +264,9 @@ $endif$
$if(author-meta)$ $if(author-meta)$
pdfauthor={$author-meta$}, pdfauthor={$author-meta$},
$endif$ $endif$
$if(lang)$
pdflang={$lang$},
$endif$
$if(subject)$ $if(subject)$
pdfsubject={$subject$}, pdfsubject={$subject$},
$endif$ $endif$
@ -239,17 +280,25 @@ $if(colorlinks)$
citecolor=$if(citecolor)$$citecolor$$else$default-citecolor$endif$, citecolor=$if(citecolor)$$citecolor$$else$default-citecolor$endif$,
urlcolor=$if(urlcolor)$$urlcolor$$else$default-urlcolor$endif$, urlcolor=$if(urlcolor)$$urlcolor$$else$default-urlcolor$endif$,
$else$ $else$
pdfborder={0 0 0}, hidelinks,
$endif$ $endif$
breaklinks=true} breaklinks=true,
\urlstyle{same} % don't use monospace font for urls pdfcreator={LaTeX via pandoc with the Eisvogel template}}
\urlstyle{same} % disable monospaced font for URLs
$if(verbatim-in-note)$ $if(verbatim-in-note)$
\VerbatimFootnotes % allows verbatim text in footnotes \VerbatimFootnotes % allow verbatim text in footnotes
$endif$ $endif$
$if(geometry)$ $if(geometry)$
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering,$for(geometry)$$geometry$$sep$,$endfor$]{geometry} $if(beamer)$
\geometry{$for(geometry)$$geometry$$sep$,$endfor$}
$else$ $else$
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering]{geometry} \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$ $endif$
$if(logo)$ $if(logo)$
\usepackage[export]{adjustbox} \usepackage[export]{adjustbox}
@ -261,6 +310,8 @@ $endif$
$if(listings)$ $if(listings)$
\usepackage{listings} \usepackage{listings}
\newcommand{\passthrough}[1]{#1} \newcommand{\passthrough}[1]{#1}
\lstset{defaultdialect=[5.3]Lua}
\lstset{defaultdialect=[x86masm]Assembler}
$endif$ $endif$
$if(listings-no-page-break)$ $if(listings-no-page-break)$
\usepackage{etoolbox} \usepackage{etoolbox}
@ -272,20 +323,42 @@ $if(lhs)$
$endif$ $endif$
$if(highlighting-macros)$ $if(highlighting-macros)$
$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$ $endif$
$if(tables)$ $if(tables)$
\usepackage{longtable,booktabs} \usepackage{longtable,booktabs}
$if(beamer)$ $if(beamer)$
\usepackage{caption} \usepackage{caption}
% These lines are needed to make table captions work with longtable: % Make caption package work with longtable
\makeatletter \makeatletter
\def\fnum@table{\tablename~\thetable} \def\fnum@table{\tablename~\thetable}
\makeatother \makeatother
$else$ $else$
% Fix footnotes in tables (requires footnote package) % Correct order of tables after \paragraph or \subparagraph
\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{longtable}}{} \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$
$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)$ $if(graphics)$
\usepackage{graphicx,grffile} \usepackage{graphicx,grffile}
\makeatletter \makeatletter
@ -303,22 +376,21 @@ $if(links-as-notes)$
$endif$ $endif$
$if(strikeout)$ $if(strikeout)$
\usepackage[normalem]{ulem} \usepackage[normalem]{ulem}
% avoid problems with \sout in headers with hyperref: % Avoid problems with \sout in headers with hyperref
\pdfstringdefDisableCommands{\renewcommand{\sout}{}} \pdfstringdefDisableCommands{\renewcommand{\sout}{}}
$endif$ $endif$
\setlength{\emergencystretch}{3em} % prevent overfull lines \setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{% \providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
$if(numbersections)$ $if(numbersections)$
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$3$endif$}
$else$ $else$
\setcounter{secnumdepth}{0} \setcounter{secnumdepth}{-\maxdimen} % remove section numbering
$endif$ $endif$
$if(beamer)$ $if(beamer)$
$else$ $else$
$if(subparagraph)$ $if(block-headings)$
$else$ % Make \paragraph and \subparagraph free-standing
% Redefines (sub)paragraphs to behave more like sections
\ifx\paragraph\undefined\else \ifx\paragraph\undefined\else
\let\oldparagraph\paragraph \let\oldparagraph\paragraph
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
@ -333,36 +405,37 @@ $if(pagestyle)$
\pagestyle{$pagestyle$} \pagestyle{$pagestyle$}
$endif$ $endif$
% Make use of float-package and set default placement for figures to H % 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} \usepackage{float}
\floatplacement{figure}{H} \floatplacement{figure}{$if(float-placement-figure)$$float-placement-figure$$else$H$endif$}
$for(header-includes)$ $for(header-includes)$
$header-includes$ $header-includes$
$endfor$ $endfor$
$if(lang)$ $if(lang)$
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \ifxetex
\usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
$if(babel-newcommands)$
$babel-newcommands$
$endif$
\else
$if(mainfont)$ $if(mainfont)$
$else$ $else$
% See issue https://github.com/reutenauer/polyglossia/issues/127 % See issue https://github.com/reutenauer/polyglossia/issues/127
\renewcommand*\familydefault{\sfdefault} \renewcommand*\familydefault{\sfdefault}
$endif$ $endif$
% load polyglossia as late as possible as it *could* call bidi if RTL lang (e.g. Hebrew or Arabic) % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic)
\usepackage{polyglossia} \usepackage{polyglossia}
\setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$}
$for(polyglossia-otherlangs)$ $for(polyglossia-otherlangs)$
\setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$}
$endfor$ $endfor$
\else
\usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
$if(babel-newcommands)$
$babel-newcommands$
$endif$
\fi \fi
$endif$ $endif$
$if(dir)$ $if(dir)$
\ifxetex \ifxetex
% load bidi as late as possible as it modifies e.g. graphicx % Load bidi as late as possible as it modifies e.g. graphicx
\usepackage{bidi} \usepackage{bidi}
\fi \fi
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
@ -383,23 +456,38 @@ $for(bibliography)$
\addbibresource{$bibliography$} \addbibresource{$bibliography$}
$endfor$ $endfor$
$endif$ $endif$
$if(csl-refs)$
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newenvironment{cslreferences}%
{$if(csl-hanging-indent)$\setlength{\parindent}{0pt}%
\everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}%
{\par}
$endif$
$if(title)$ $if(title)$
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} \title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
$endif$ $endif$
$if(subtitle)$ $if(subtitle)$
\providecommand{\subtitle}[1]{} $if(beamer)$
$else$
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large #1 \par}}{}{}
}
\makeatother
$endif$
\subtitle{$subtitle$} \subtitle{$subtitle$}
$endif$ $endif$
$if(author)$ $if(author)$
\author{$for(author)$$author$$sep$ \and $endfor$} \author{$for(author)$$author$$sep$ \and $endfor$}
$endif$ $endif$
$if(institute)$
\providecommand{\institute}[1]{}
\institute{$for(institute)$$institute$$sep$ \and $endfor$}
$endif$
\date{$date$} \date{$date$}
$if(beamer)$ $if(beamer)$
$if(institute)$
\institute{$for(institute)$$institute$$sep$ \and $endfor$}
$endif$
$if(titlegraphic)$ $if(titlegraphic)$
\titlegraphic{\includegraphics{$titlegraphic$}} \titlegraphic{\includegraphics{$titlegraphic$}}
$endif$ $endif$
@ -410,14 +498,14 @@ $endif$
%% %%
%% added %% added
%% %%
% %
% No language specified? take American English. % language specification
%
% If no language is specified, use English as the default main document language.
% %
$if(lang)$$else$ $if(lang)$$else$
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
@ -428,7 +516,10 @@ $endif$
\else \else
$if(mainfont)$ $if(mainfont)$
$else$ $else$
% See issue https://github.com/reutenauer/polyglossia/issues/127 % Workaround for bug in Polyglossia that breaks `\familydefault` when `\setmainlanguage` is used.
% See https://github.com/Wandmalfarbe/pandoc-latex-template/issues/8
% See https://github.com/reutenauer/polyglossia/issues/186
% See https://github.com/reutenauer/polyglossia/issues/127
\renewcommand*\familydefault{\sfdefault} \renewcommand*\familydefault{\sfdefault}
$endif$ $endif$
% load polyglossia as late as possible as it *could* call bidi if RTL lang (e.g. Hebrew or Arabic) % load polyglossia as late as possible as it *could* call bidi if RTL lang (e.g. Hebrew or Arabic)
@ -440,49 +531,19 @@ $endfor$
\fi \fi
$endif$ $endif$
%
% colors
%
\usepackage[]{xcolor}
%
% 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-identifier}{HTML}{435489}
\definecolor{listing-string}{HTML}{00999A}
\definecolor{listing-comment}{HTML}{8E8E8E}
\definecolor{listing-javadoc-comment}{HTML}{006CA9}
%\definecolor{listing-background}{rgb}{0.97,0.97,0.97}
%\definecolor{listing-rule}{HTML}{B3B2B3}
%\definecolor{listing-numbers}{HTML}{B3B2B3}
%\definecolor{listing-text-color}{HTML}{000000}
%\definecolor{listing-keyword}{HTML}{D8006B}
%\definecolor{listing-identifier}{HTML}{000000}
%\definecolor{listing-string}{HTML}{006CA9}
%\definecolor{listing-comment}{rgb}{0.25,0.5,0.35}
%\definecolor{listing-javadoc-comment}{HTML}{006CA9}
% %
% for the background color of the title page % for the background color of the title page
% %
$if(titlepage)$ $if(titlepage)$
\usepackage{pagecolor} \usepackage{pagecolor}
\usepackage{afterpage} \usepackage{afterpage}
$if(titlepage-background)$
\usepackage{tikz}
$endif$
$if(geometry)$
$else$
\usepackage[margin=2.5cm,includehead=true,includefoot=true,centering]{geometry}
$endif$ $endif$
%
% TOC depth and
% section numbering depth
%
\setcounter{tocdepth}{3}
$if(numbersections)$
\setcounter{secnumdepth}{3}
$endif$ $endif$
% %
@ -500,9 +561,11 @@ $endif$
% captions % captions
% %
\definecolor{caption-color}{HTML}{777777} \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} \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} \setcapindent{0em}
\captionsetup[longtable]{position=above} $endif$
% %
% blockquote % blockquote
@ -521,17 +584,47 @@ $endif$
% 'default' option sets the default % 'default' option sets the default
% font family to Source Sans Pro, not \sfdefault. % font family to Source Sans Pro, not \sfdefault.
% %
$if(mainfont)$ \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
$if(fontfamily)$
$else$ $else$
\usepackage[default]{sourcesanspro} \usepackage[default]{sourcesanspro}
\usepackage{sourcecodepro} \usepackage{sourcecodepro}
$endif$ $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 % heading color
% %
\definecolor{heading-color}{RGB}{40,40,40} \definecolor{heading-color}{RGB}{40,40,40}
$if(beamer)$
$else$
\addtokomafont{section}{\color{heading-color}} \addtokomafont{section}{\color{heading-color}}
$endif$
% When using the classes report, scrreprt, book, % When using the classes report, scrreprt, book,
% scrbook or memoir, uncomment the following line. % scrbook or memoir, uncomment the following line.
%\addtokomafont{chapter}{\color{heading-color}} %\addtokomafont{chapter}{\color{heading-color}}
@ -539,9 +632,12 @@ $endif$
% %
% variables for title and author % variables for title and author
% %
$if(beamer)$
$else$
\usepackage{titling} \usepackage{titling}
\title{$title$} \title{$title$}
\author{$for(author)$$author$$sep$, $endfor$} \author{$for(author)$$author$$sep$, $endfor$}
$endif$
% %
% tables % tables
@ -556,17 +652,12 @@ $if(tables)$
\setlength\heavyrulewidth{0.3ex} % thickness of \toprule, \bottomrule \setlength\heavyrulewidth{0.3ex} % thickness of \toprule, \bottomrule
\renewcommand{\arraystretch}{1.3} % spacing (padding) \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 % Reset rownum counter so that each table
% starts with the same row colors. % starts with the same row colors.
% https://tex.stackexchange.com/questions/170637/restarting-rowcolors % https://tex.stackexchange.com/questions/170637/restarting-rowcolors
\let\oldlongtable\longtable %
\let\endoldlongtable\endlongtable
\renewenvironment{longtable}{
\rowcolors{3}{}{table-row-color!100} % row color
\oldlongtable} {
\endoldlongtable
\global\rownum=0\relax}
% Unfortunately the colored cells extend beyond the edge of the % Unfortunately the colored cells extend beyond the edge of the
% table because pandoc uses @-expressions (@{}) like so: % table because pandoc uses @-expressions (@{}) like so:
% %
@ -574,6 +665,14 @@ $if(tables)$
% \end{longtable} % \end{longtable}
% %
% https://en.wikibooks.org/wiki/LaTeX/Tables#.40-expressions % 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$ $endif$
% %
@ -590,6 +689,21 @@ $endif$
% %
$if(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}{ \lstdefinestyle{eisvogel_listing_style}{
language = java, language = java,
$if(listings-disable-line-numbers)$ $if(listings-disable-line-numbers)$
@ -601,22 +715,24 @@ $else$
framexleftmargin = 2.5em, framexleftmargin = 2.5em,
$endif$ $endif$
backgroundcolor = \color{listing-background}, backgroundcolor = \color{listing-background},
basicstyle = \color{listing-text-color}\small\ttfamily{}\linespread{1.15}, % print whole listing small basicstyle = \color{listing-text-color}\linespread{1.0}$if(code-block-font-size)$$code-block-font-size$$else$\small$endif$\ttfamily{},
breaklines = true, breaklines = true,
frame = single, frame = single,
framesep = 0.6mm, framesep = 0.19em,
rulecolor = \color{listing-rule}, rulecolor = \color{listing-rule},
frameround = ffff, frameround = ffff,
tabsize = 4, tabsize = 4,
numberstyle = \color{listing-numbers}, numberstyle = \color{listing-numbers},
aboveskip = 1.0em, aboveskip = 1.0em,
belowskip = 0.1em,
abovecaptionskip = 0em,
belowcaptionskip = 1.0em, belowcaptionskip = 1.0em,
keywordstyle = \color{listing-keyword}\bfseries, keywordstyle = {\color{listing-keyword}\bfseries},
classoffset = 0, keywordstyle = {[2]\color{listing-keyword-2}\bfseries},
keywordstyle = {[3]\color{listing-keyword-3}\bfseries\itshape},
sensitive = true, sensitive = true,
identifierstyle = \color{listing-identifier}, identifierstyle = \color{listing-identifier},
commentstyle = \color{listing-comment}, commentstyle = \color{listing-comment},
morecomment = [s][\color{listing-javadoc-comment}]{/**}{*/},
stringstyle = \color{listing-string}, stringstyle = \color{listing-string},
showstringspaces = false, showstringspaces = false,
escapeinside = {/*@}{@*/}, % Allow LaTeX inside these special comments escapeinside = {/*@}{@*/}, % Allow LaTeX inside these special comments
@ -638,6 +754,44 @@ $endif$
} }
\lstset{style=eisvogel_listing_style} \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}{ \lstdefinelanguage{XML}{
morestring = [b]", morestring = [b]",
moredelim = [s][\bfseries\color{listing-keyword}]{<}{\ }, moredelim = [s][\bfseries\color{listing-keyword}]{<}{\ },
@ -655,10 +809,13 @@ $endif$
% %
% header and footer % header and footer
% %
$if(beamer)$
$else$
$if(disable-header-and-footer)$ $if(disable-header-and-footer)$
$else$ $else$
\usepackage{fancyhdr} \usepackage{fancyhdr}
\pagestyle{fancy}
\fancypagestyle{eisvogel-header-footer}{
\fancyhead{} \fancyhead{}
\fancyfoot{} \fancyfoot{}
\lhead[$if(header-right)$$header-right$$else$$date$$endif$]{$if(header-left)$$header-left$$else$$title$$endif$} \lhead[$if(header-right)$$header-right$$else$$date$$endif$]{$if(header-left)$$header-left$$else$$title$$endif$}
@ -669,6 +826,9 @@ $else$
\rfoot[$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$]{$if(footer-right)$$footer-right$$else$\thepage$endif$} \rfoot[$if(footer-left)$$footer-left$$else$$for(author)$$author$$sep$, $endfor$$endif$]{$if(footer-right)$$footer-right$$else$\thepage$endif$}
\renewcommand{\headrulewidth}{0.4pt} \renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt}
}
\pagestyle{eisvogel-header-footer}
$endif$
$endif$ $endif$
%% %%
@ -680,14 +840,22 @@ $endif$
%% %%
%% begin titlepage %% begin titlepage
%% %%
$if(beamer)$
$else$
$if(titlepage)$ $if(titlepage)$
\begin{titlepage} \begin{titlepage}
$if(titlepage-background)$
\newgeometry{top=2cm, right=4cm, bottom=3cm, left=4cm}
$else$
\newgeometry{left=6cm} \newgeometry{left=6cm}
$endif$
$if(titlepage-color)$ $if(titlepage-color)$
\definecolor{titlepage-color}{HTML}{$titlepage-color$} \definecolor{titlepage-color}{HTML}{$titlepage-color$}
\newpagecolor{titlepage-color}\afterpage{\restorepagecolor} \newpagecolor{titlepage-color}\afterpage{\restorepagecolor}
$endif$ $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}}} \newcommand{\colorRule}[3][black]{\textcolor[HTML]{#1}{\rule{#2}{#3}}}
\begin{flushleft} \begin{flushleft}
\noindent \noindent
@ -697,7 +865,24 @@ $endif$
\par \par
\noindent \noindent
{ \setstretch{1.4} $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 \vfill
\noindent {\huge \textbf{\textsf{$title$}}} \noindent {\huge \textbf{\textsf{$title$}}}
$if(subtitle)$ $if(subtitle)$
@ -705,26 +890,33 @@ $if(subtitle)$
{\Large \textsf{$subtitle$}} {\Large \textsf{$subtitle$}}
$endif$ $endif$
\vskip 2em \vskip 2em
\noindent \noindent {\Large \textsf{$for(author)$$author$$sep$, $endfor$}}
{\Large \textsf{$for(author)$$author$$sep$, $endfor$}
\vfill \vfill
} }
$endif$
$if(logo)$ $if(logo)$
\noindent \noindent
\includegraphics[width=$if(logo-width)$$logo-width$$else$100$endif$pt, left]{$logo$} \includegraphics[width=$if(logo-width)$$logo-width$$else$100$endif$pt, left]{$logo$}
$endif$ $endif$
\textsf{$date$}} $if(titlepage-background)$
$else$
\textsf{$date$}
$endif$
\end{flushleft} \end{flushleft}
\end{titlepage} \end{titlepage}
\restoregeometry \restoregeometry
$endif$ $endif$
$endif$
%% %%
%% end titlepage %% end titlepage
%% %%
$if(has-frontmatter)$
\frontmatter
$endif$
$if(title)$ $if(title)$
$if(beamer)$ $if(beamer)$
\frame{\titlepage} \frame{\titlepage}
@ -736,6 +928,11 @@ $abstract$
$endif$ $endif$
$endif$ $endif$
$if(first-chapter)$
\setcounter{chapter}{$first-chapter$}
\addtocounter{chapter}{-1}
$endif$
$for(include-before)$ $for(include-before)$
$include-before$ $include-before$
@ -759,7 +956,7 @@ $else$
$if(colorlinks)$ $if(colorlinks)$
\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
$endif$ $endif$
\setcounter{tocdepth}{$toc-depth$} \setcounter{tocdepth}{$if(toc-depth)$$toc-depth$$else$3$endif$}
\tableofcontents \tableofcontents
$if(toc-own-page)$ $if(toc-own-page)$
\newpage \newpage
@ -773,12 +970,21 @@ $endif$
$if(lof)$ $if(lof)$
\listoffigures \listoffigures
$endif$ $endif$
$if(linestretch)$
\setstretch{$linestretch$}
$endif$
$if(has-frontmatter)$
\mainmatter
$endif$
$body$ $body$
$if(has-frontmatter)$
\backmatter
$endif$
$if(natbib)$ $if(natbib)$
$if(bibliography)$ $if(bibliography)$
$if(biblio-title)$ $if(biblio-title)$
$if(book-class)$ $if(has-chapters)$
\renewcommand\bibname{$biblio-title$} \renewcommand\bibname{$biblio-title$}
$else$ $else$
\renewcommand\refname{$biblio-title$} \renewcommand\refname{$biblio-title$}

View File

@ -31,14 +31,10 @@
% Polyglossia settings % Polyglossia settings
\setmainlanguage{english} % or danish \setmainlanguage{english}
\addto\captionsenglish{% \addto\captionsenglish{%
\renewcommand{\contentsname}{Table of Contents} \renewcommand{\contentsname}{Table of Contents}
} }
\addto\captionsdanish{%
\renewcommand{\contentsname}{Indholdsfortegnelse}
}
% Required for syntax highlighting % Required for syntax highlighting
$highlighting-macros$ $highlighting-macros$