mirror of
https://github.com/Wandmalfarbe/pandoc-latex-template.git
synced 2025-01-31 00:23:56 +00:00
a0caf07dbe
* feat: Merge changes from pandoc 3.5 LaTeX template * feat: create single file templates (latex and beamer) * feat: use `sed` differently on macOS than on other systems * feat: update copyright year * feat: release compressed archives without version number * docs: explain versions of the template (the different files) * ci: build with pandoc 3.5 * chore: add changelog for version 3.0.0
304 lines
9.3 KiB
Plaintext
304 lines
9.3 KiB
Plaintext
$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}
|
|
\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}
|
|
|
|
%
|
|
% 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}
|
|
\addtokomafont{section}{\color{heading-color}}
|
|
% 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
|
|
%
|
|
\usepackage{titling}
|
|
\title{$title$}
|
|
\author{$for(author)$$author$$sep$, $endfor$}
|
|
\date{$date$}
|
|
|
|
%
|
|
% 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)$
|
|
% 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
|
|
\usepackage{etoolbox}
|
|
\AtBeginEnvironment{longtable}{\rowcolors{2}{}{table-row-color!100}}
|
|
\preto{\toprule}{\hiderowcolors}{}{}
|
|
\appto{\endhead}{\showrowcolors}{}{}
|
|
\appto{\endfirsthead}{\showrowcolors}{}{}
|
|
$endif$
|
|
$endif$
|
|
|
|
%
|
|
% remove paragraph indentation
|
|
%
|
|
\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(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$
|