From 3e3836163fb404f64e6fcd129d69a31ef997f62e Mon Sep 17 00:00:00 2001 From: coolneng Date: Tue, 17 Dec 2019 21:08:54 +0100 Subject: [PATCH] Update pandoc templates --- pandoc/.pandoc/templates/eisvogel.latex | 622 ++++++++++++++++-------- pandoc/.pandoc/templates/report.latex | 6 +- 2 files changed, 415 insertions(+), 213 deletions(-) diff --git a/pandoc/.pandoc/templates/eisvogel.latex b/pandoc/.pandoc/templates/eisvogel.latex index d37a45a..0db6c5f 100644 --- a/pandoc/.pandoc/templates/eisvogel.latex +++ b/pandoc/.pandoc/templates/eisvogel.latex @@ -1,54 +1,85 @@ %% -% Copyright (c) 2018, Pascal Wagler; -% Copyright (c) 2014--2018, John MacFarlane -% +% Copyright (c) 2017 - 2019, Pascal Wagler; +% Copyright (c) 2014 - 2019, John MacFarlane +% % All rights reserved. -% -% Redistribution and use in source and binary forms, with or without -% modification, are permitted provided that the following conditions +% +% 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 +% +% - 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 +% +% - 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 +% +% - 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, +% +% 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 +% 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. %% %% -% 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 %% -\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{dvipsnames,svgnames*,table}{xcolor} -$if(dir)$$if(latex-dir-rtl)$ +\PassOptionsToPackage{dvipsnames,svgnames*,x11names*,table}{xcolor} +$if(dir)$ +$if(latex-dir-rtl)$ \PassOptionsToPackage{RTLdocument}{bidi} -$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$ +$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(background-image)$ \usebackgroundtemplate{% -\includegraphics[width=\paperwidth]{$background-image$}% + \includegraphics[width=\paperwidth]{$background-image$}% } $endif$ \usepackage{pgfpages} @@ -59,27 +90,27 @@ $endif$ $for(beameroption)$ \setbeameroption{$beameroption$} $endfor$ -% Prevent slide breaks in the middle of a paragraph: +% 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} + \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} + \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} + \centering + \begin{beamercolorbox}[sep=8pt,center]{part title} + \usebeamerfont{subsection title}\insertsubsection\par + \end{beamercolorbox} } \AtBeginPart{ \frame{\partpage} @@ -112,12 +143,11 @@ $else$ $endif$ \usepackage{amssymb,amsmath} \usepackage{ifxetex,ifluatex} -\usepackage{fixltx2e} % provides \textsubscript \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} \usepackage[utf8]{inputenc} - \usepackage{textcomp} % provides euro and other symbols -\else % if luatex or xelatex + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex $if(mathspec)$ \ifxetex \usepackage{mathspec} @@ -127,22 +157,20 @@ $if(mathspec)$ $else$ \usepackage{unicode-math} $endif$ - \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} -$for(fontfamilies)$ - \newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} -$endfor$ + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} $if(mainfont)$ - \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} -$endif$ -$if(romanfont)$ - \setromanfont[$for(romanfontoptions)$$romanfontoptions$$sep$,$endfor$]{$romanfont$} + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} $endif$ $if(sansfont)$ - \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} $endif$ $if(monofont)$ - \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$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 @@ -192,64 +220,85 @@ $if(outertheme)$ \useoutertheme{$outertheme$} $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}}{} -% use microtype if available -\IfFileExists{microtype.sty}{% -\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} -\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +\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$ -\IfFileExists{parskip.sty}{% -\usepackage{parskip} -}{% else -\setlength{\parindent}{0pt} -\setlength{\parskip}{6pt plus 2pt minus 1pt} -} +\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$ -$if(colorlinks)$ \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$ -\usepackage{hyperref} +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ $if(title-meta)$ - pdftitle={$title-meta$}, + pdftitle={$title-meta$}, $endif$ $if(author-meta)$ - pdfauthor={$author-meta$}, + pdfauthor={$author-meta$}, +$endif$ +$if(lang)$ + pdflang={$lang$}, $endif$ $if(subject)$ - pdfsubject={$subject$}, + pdfsubject={$subject$}, $endif$ $if(keywords)$ - pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, + 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$, + 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$ - pdfborder={0 0 0}, + hidelinks, $endif$ - breaklinks=true} -\urlstyle{same} % don't use monospace font for urls + breaklinks=true, + pdfcreator={LaTeX via pandoc with the Eisvogel template}} +\urlstyle{same} % disable monospaced font for URLs $if(verbatim-in-note)$ -\VerbatimFootnotes % allows verbatim text in footnotes +\VerbatimFootnotes % allow verbatim text in footnotes $endif$ $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$ -\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$ $if(logo)$ \usepackage[export]{adjustbox} @@ -261,6 +310,8 @@ $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} @@ -272,20 +323,42 @@ $if(lhs)$ $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} $if(beamer)$ \usepackage{caption} -% These lines are needed to make table captions work with longtable: +% Make caption package work with longtable \makeatletter \def\fnum@table{\tablename~\thetable} \makeatother $else$ -% Fix footnotes in tables (requires footnote package) -\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{longtable}}{} +% 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,grffile} \makeatletter @@ -303,29 +376,28 @@ $if(links-as-notes)$ $endif$ $if(strikeout)$ \usepackage[normalem]{ulem} -% avoid problems with \sout in headers with hyperref: +% 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$} +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$3$endif$} $else$ -\setcounter{secnumdepth}{0} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering $endif$ $if(beamer)$ $else$ -$if(subparagraph)$ -$else$ -% Redefines (sub)paragraphs to behave more like sections +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing \ifx\paragraph\undefined\else -\let\oldparagraph\paragraph -\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} + \let\oldparagraph\paragraph + \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \fi \ifx\subparagraph\undefined\else -\let\oldsubparagraph\subparagraph -\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \fi $endif$ $endif$ @@ -333,36 +405,37 @@ $if(pagestyle)$ \pagestyle{$pagestyle$} $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} -\floatplacement{figure}{H} +\floatplacement{figure}{$if(float-placement-figure)$$float-placement-figure$$else$H$endif$} $for(header-includes)$ $header-includes$ $endfor$ $if(lang)$ -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex - \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} -$if(babel-newcommands)$ - $babel-newcommands$ -$endif$ -\else +\ifxetex $if(mainfont)$ $else$ % See issue https://github.com/reutenauer/polyglossia/issues/127 \renewcommand*\familydefault{\sfdefault} $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} \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} $for(polyglossia-otherlangs)$ \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} $endfor$ +\else + \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} +$if(babel-newcommands)$ + $babel-newcommands$ +$endif$ \fi $endif$ $if(dir)$ \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} \fi \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex @@ -383,23 +456,38 @@ $for(bibliography)$ \addbibresource{$bibliography$} $endfor$ $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)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $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$} $endif$ $if(author)$ \author{$for(author)$$author$$sep$ \and $endfor$} $endif$ -$if(institute)$ -\providecommand{\institute}[1]{} -\institute{$for(institute)$$institute$$sep$ \and $endfor$} -$endif$ \date{$date$} $if(beamer)$ +$if(institute)$ +\institute{$for(institute)$$institute$$sep$ \and $endfor$} +$endif$ $if(titlegraphic)$ \titlegraphic{\includegraphics{$titlegraphic$}} $endif$ @@ -410,14 +498,14 @@ $endif$ - - %% %% 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$ \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex @@ -428,7 +516,10 @@ $endif$ \else $if(mainfont)$ $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} $endif$ % 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 $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 % $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$ - -% -% TOC depth and -% section numbering depth -% -\setcounter{tocdepth}{3} -$if(numbersections)$ -\setcounter{secnumdepth}{3} $endif$ % @@ -491,7 +552,7 @@ $endif$ \PassOptionsToPackage{hyphens}{url} % -% When using babel or polyglossia with biblatex, loading csquotes is recommended +% 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} @@ -500,9 +561,11 @@ $endif$ % 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} -\captionsetup[longtable]{position=above} +$endif$ % % blockquote @@ -518,30 +581,63 @@ $endif$ % Source Sans Pro as the de­fault font fam­ily % Source Code Pro for monospace text % -% 'default' option sets the default +% 'default' option sets the default % font family to Source Sans Pro, not \sfdefault. % -$if(mainfont)$ -$else$ -\usepackage[default]{sourcesanspro} -\usepackage{sourcecodepro} -$endif$ +\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}} -% When using the classes report, scrreprt, book, +$endif$ +% When using the classes report, scrreprt, book, % scrbook or memoir, uncomment the following line. %\addtokomafont{chapter}{\color{heading-color}} % % variables for title and author % +$if(beamer)$ +$else$ \usepackage{titling} \title{$title$} \author{$for(author)$$author$$sep$, $endfor$} +$endif$ % % tables @@ -556,9 +652,19 @@ $if(tables)$ \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}{ @@ -566,14 +672,7 @@ $if(tables)$ \oldlongtable} { \endoldlongtable \global\rownum=0\relax} - -% 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 +$endif$ $endif$ % @@ -590,6 +689,21 @@ $endif$ % $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)$ @@ -601,22 +715,24 @@ $else$ framexleftmargin = 2.5em, $endif$ 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, frame = single, - framesep = 0.6mm, + 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, - classoffset = 0, + 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}, - morecomment = [s][\color{listing-javadoc-comment}]{/**}{*/}, stringstyle = \color{listing-string}, showstringspaces = false, escapeinside = {/*@}{@*/}, % Allow LaTeX inside these special comments @@ -638,6 +754,44 @@ $endif$ } \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}]{<}{\ }, @@ -655,20 +809,26 @@ $endif$ % % header and footer % +$if(beamer)$ +$else$ $if(disable-header-and-footer)$ $else$ \usepackage{fancyhdr} -\pagestyle{fancy} -\fancyhead{} -\fancyfoot{} -\lhead[$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$} -\rhead[$if(header-left)$$header-left$$else$$title$$endif$]{$if(header-right)$$header-right$$else$$date$$endif$} -\lfoot[$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$} -\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{\footrulewidth}{0.4pt} + +\fancypagestyle{eisvogel-header-footer}{ + \fancyhead{} + \fancyfoot{} + \lhead[$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$} + \rhead[$if(header-left)$$header-left$$else$$title$$endif$]{$if(header-right)$$header-right$$else$$date$$endif$} + \lfoot[$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$} + \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{\footrulewidth}{0.4pt} +} +\pagestyle{eisvogel-header-footer} +$endif$ $endif$ %% @@ -680,14 +840,22 @@ $endif$ %% %% 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 @@ -697,34 +865,58 @@ $endif$ \par \noindent -{ \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 +$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$100$endif$pt, left]{$logo$} $endif$ -\textsf{$date$}} +$if(titlepage-background)$ +$else$ +\textsf{$date$} +$endif$ \end{flushleft} \end{titlepage} \restoregeometry $endif$ +$endif$ %% %% end titlepage %% +$if(has-frontmatter)$ +\frontmatter +$endif$ $if(title)$ $if(beamer)$ \frame{\titlepage} @@ -736,6 +928,11 @@ $abstract$ $endif$ $endif$ +$if(first-chapter)$ +\setcounter{chapter}{$first-chapter$} +\addtocounter{chapter}{-1} +$endif$ + $for(include-before)$ $include-before$ @@ -747,9 +944,9 @@ $endif$ $if(beamer)$ \begin{frame} $if(toc-title)$ -\frametitle{$toc-title$} + \frametitle{$toc-title$} $endif$ -\tableofcontents[hideallsubsections] + \tableofcontents[hideallsubsections] \end{frame} $if(toc-own-page)$ \newpage @@ -759,7 +956,7 @@ $else$ $if(colorlinks)$ \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ -\setcounter{tocdepth}{$toc-depth$} +\setcounter{tocdepth}{$if(toc-depth)$$toc-depth$$else$3$endif$} \tableofcontents $if(toc-own-page)$ \newpage @@ -773,12 +970,21 @@ $endif$ $if(lof)$ \listoffigures $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(book-class)$ +$if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} @@ -786,9 +992,9 @@ $endif$ $endif$ $if(beamer)$ \begin{frame}[allowframebreaks]{$biblio-title$} -\bibliographytrue + \bibliographytrue $endif$ -\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} + \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} $if(beamer)$ \end{frame} $endif$ @@ -798,8 +1004,8 @@ $endif$ $if(biblatex)$ $if(beamer)$ \begin{frame}[allowframebreaks]{$biblio-title$} -\bibliographytrue -\printbibliography[heading=none] + \bibliographytrue + \printbibliography[heading=none] \end{frame} $else$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ diff --git a/pandoc/.pandoc/templates/report.latex b/pandoc/.pandoc/templates/report.latex index 79bbd02..0516a95 100644 --- a/pandoc/.pandoc/templates/report.latex +++ b/pandoc/.pandoc/templates/report.latex @@ -31,14 +31,10 @@ % Polyglossia settings -\setmainlanguage{english} % or danish +\setmainlanguage{english} \addto\captionsenglish{% \renewcommand{\contentsname}{Table of Contents} } -\addto\captionsdanish{% - \renewcommand{\contentsname}{Indholdsfortegnelse} -} - % Required for syntax highlighting $highlighting-macros$