aboutsummaryrefslogtreecommitdiff
path: root/templates/default.latex
blob: 72d649f96ad8e0aa0ee81e440981bc4844ab018e (plain)
  1. % Options for packages loaded elsewhere
  2. \PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
  3. \PassOptionsToPackage{hyphens}{url}
  4. $if(colorlinks)$
  5. \PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor}
  6. $endif$
  7. $if(dir)$
  8. $if(latex-dir-rtl)$
  9. \PassOptionsToPackage{RTLdocument}{bidi}
  10. $endif$
  11. $endif$
  12. $if(CJKmainfont)$
  13. \PassOptionsToPackage{space}{xeCJK}
  14. $endif$
  15. %
  16. \documentclass[
  17. $if(fontsize)$
  18. $fontsize$,
  19. $endif$
  20. $if(lang)$
  21. $babel-lang$,
  22. $endif$
  23. $if(papersize)$
  24. $papersize$paper,
  25. $endif$
  26. $if(beamer)$
  27. ignorenonframetext,
  28. $if(handout)$
  29. handout,
  30. $endif$
  31. $if(aspectratio)$
  32. aspectratio=$aspectratio$,
  33. $endif$
  34. $endif$
  35. $for(classoption)$
  36. $classoption$$sep$,
  37. $endfor$
  38. ]{$documentclass$}
  39. $if(beamer)$
  40. $if(background-image)$
  41. \usebackgroundtemplate{%
  42. \includegraphics[width=\paperwidth]{$background-image$}%
  43. }
  44. $endif$
  45. \usepackage{pgfpages}
  46. \setbeamertemplate{caption}[numbered]
  47. \setbeamertemplate{caption label separator}{: }
  48. \setbeamercolor{caption name}{fg=normal text.fg}
  49. \beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$
  50. $for(beameroption)$
  51. \setbeameroption{$beameroption$}
  52. $endfor$
  53. % Prevent slide breaks in the middle of a paragraph
  54. \widowpenalties 1 10000
  55. \raggedbottom
  56. $if(section-titles)$
  57. \setbeamertemplate{part page}{
  58. \centering
  59. \begin{beamercolorbox}[sep=16pt,center]{part title}
  60. \usebeamerfont{part title}\insertpart\par
  61. \end{beamercolorbox}
  62. }
  63. \setbeamertemplate{section page}{
  64. \centering
  65. \begin{beamercolorbox}[sep=12pt,center]{part title}
  66. \usebeamerfont{section title}\insertsection\par
  67. \end{beamercolorbox}
  68. }
  69. \setbeamertemplate{subsection page}{
  70. \centering
  71. \begin{beamercolorbox}[sep=8pt,center]{part title}
  72. \usebeamerfont{subsection title}\insertsubsection\par
  73. \end{beamercolorbox}
  74. }
  75. \AtBeginPart{
  76. \frame{\partpage}
  77. }
  78. \AtBeginSection{
  79. \ifbibliography
  80. \else
  81. \frame{\sectionpage}
  82. \fi
  83. }
  84. \AtBeginSubsection{
  85. \frame{\subsectionpage}
  86. }
  87. $endif$
  88. $endif$
  89. $if(beamerarticle)$
  90. \usepackage{beamerarticle} % needs to be loaded first
  91. $endif$
  92. \usepackage{amsmath,amssymb}
  93. $if(fontfamily)$
  94. \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
  95. $else$
  96. \usepackage{lmodern}
  97. $endif$
  98. $if(linestretch)$
  99. \usepackage{setspace}
  100. $endif$
  101. \usepackage{ifxetex,ifluatex}
  102. \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  103. \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
  104. \usepackage[utf8]{inputenc}
  105. \usepackage{textcomp} % provide euro and other symbols
  106. \else % if luatex or xetex
  107. $if(mathspec)$
  108. \ifxetex
  109. \usepackage{mathspec}
  110. \else
  111. \usepackage{unicode-math}
  112. \fi
  113. $else$
  114. \usepackage{unicode-math}
  115. $endif$
  116. \defaultfontfeatures{Scale=MatchLowercase}
  117. \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
  118. $if(mainfont)$
  119. \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
  120. $endif$
  121. $if(sansfont)$
  122. \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$}
  123. $endif$
  124. $if(monofont)$
  125. \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$}
  126. $endif$
  127. $for(fontfamilies)$
  128. \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$}
  129. $endfor$
  130. $if(mathfont)$
  131. $if(mathspec)$
  132. \ifxetex
  133. \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
  134. \else
  135. \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
  136. \fi
  137. $else$
  138. \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
  139. $endif$
  140. $endif$
  141. $if(CJKmainfont)$
  142. \ifxetex
  143. \usepackage{xeCJK}
  144. \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
  145. \fi
  146. $endif$
  147. $if(luatexjapresetoptions)$
  148. \ifluatex
  149. \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset}
  150. \fi
  151. $endif$
  152. $if(CJKmainfont)$
  153. \ifluatex
  154. \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec}
  155. \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
  156. \fi
  157. $endif$
  158. \fi
  159. $if(beamer)$
  160. $if(theme)$
  161. \usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$}
  162. $endif$
  163. $if(colortheme)$
  164. \usecolortheme{$colortheme$}
  165. $endif$
  166. $if(fonttheme)$
  167. \usefonttheme{$fonttheme$}
  168. $endif$
  169. $if(mainfont)$
  170. \usefonttheme{serif} % use mainfont rather than sansfont for slide text
  171. $endif$
  172. $if(innertheme)$
  173. \useinnertheme{$innertheme$}
  174. $endif$
  175. $if(outertheme)$
  176. \useoutertheme{$outertheme$}
  177. $endif$
  178. $endif$
  179. % Use upquote if available, for straight quotes in verbatim environments
  180. \IfFileExists{upquote.sty}{\usepackage{upquote}}{}
  181. \IfFileExists{microtype.sty}{% use microtype if available
  182. \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype}
  183. \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
  184. }{}
  185. $if(indent)$
  186. $else$
  187. \makeatletter
  188. \@ifundefined{KOMAClassName}{% if non-KOMA class
  189. \IfFileExists{parskip.sty}{%
  190. \usepackage{parskip}
  191. }{% else
  192. \setlength{\parindent}{0pt}
  193. \setlength{\parskip}{6pt plus 2pt minus 1pt}}
  194. }{% if KOMA class
  195. \KOMAoptions{parskip=half}}
  196. \makeatother
  197. $endif$
  198. $if(verbatim-in-note)$
  199. \usepackage{fancyvrb}
  200. $endif$
  201. \usepackage{xcolor}
  202. \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
  203. \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
  204. \hypersetup{
  205. $if(title-meta)$
  206. pdftitle={$title-meta$},
  207. $endif$
  208. $if(author-meta)$
  209. pdfauthor={$author-meta$},
  210. $endif$
  211. $if(lang)$
  212. pdflang={$lang$},
  213. $endif$
  214. $if(subject)$
  215. pdfsubject={$subject$},
  216. $endif$
  217. $if(keywords)$
  218. pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},
  219. $endif$
  220. $if(colorlinks)$
  221. colorlinks=true,
  222. linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$,
  223. filecolor=$if(filecolor)$$filecolor$$else$Maroon$endif$,
  224. citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$,
  225. urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$,
  226. $else$
  227. hidelinks,
  228. $endif$
  229. pdfcreator={LaTeX via pandoc}}
  230. \urlstyle{same} % disable monospaced font for URLs
  231. $if(verbatim-in-note)$
  232. \VerbatimFootnotes % allow verbatim text in footnotes
  233. $endif$
  234. $if(geometry)$
  235. $if(beamer)$
  236. \geometry{$for(geometry)$$geometry$$sep$,$endfor$}
  237. $else$
  238. \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
  239. $endif$
  240. $endif$
  241. $if(beamer)$
  242. \newif\ifbibliography
  243. $endif$
  244. $if(listings)$
  245. \usepackage{listings}
  246. \newcommand{\passthrough}[1]{#1}
  247. \lstset{defaultdialect=[5.3]Lua}
  248. \lstset{defaultdialect=[x86masm]Assembler}
  249. $endif$
  250. $if(lhs)$
  251. \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
  252. $endif$
  253. $if(highlighting-macros)$
  254. $highlighting-macros$
  255. $endif$
  256. $if(tables)$
  257. \usepackage{longtable,booktabs,array}
  258. $if(multirow)$
  259. \usepackage{multirow}
  260. $endif$
  261. \usepackage{calc} % for calculating minipage widths
  262. $if(beamer)$
  263. \usepackage{caption}
  264. % Make caption package work with longtable
  265. \makeatletter
  266. \def\fnum@table{\tablename~\thetable}
  267. \makeatother
  268. $else$
  269. % Correct order of tables after \paragraph or \subparagraph
  270. \usepackage{etoolbox}
  271. \makeatletter
  272. \patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
  273. \makeatother
  274. % Allow footnotes in longtable head/foot
  275. \IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
  276. \makesavenoteenv{longtable}
  277. $endif$
  278. $endif$
  279. $if(graphics)$
  280. \usepackage{graphicx}
  281. \makeatletter
  282. \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
  283. \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
  284. \makeatother
  285. % Scale images if necessary, so that they will not overflow the page
  286. % margins by default, and it is still possible to overwrite the defaults
  287. % using explicit options in \includegraphics[width, height, ...]{}
  288. \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
  289. % Set default figure placement to htbp
  290. \makeatletter
  291. \def\fps@figure{htbp}
  292. \makeatother
  293. $endif$
  294. $if(links-as-notes)$
  295. % Make links footnotes instead of hotlinks:
  296. \DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}}
  297. $endif$
  298. $if(strikeout)$
  299. \usepackage[normalem]{ulem}
  300. % Avoid problems with \sout in headers with hyperref
  301. \pdfstringdefDisableCommands{\renewcommand{\sout}{}}
  302. $endif$
  303. \setlength{\emergencystretch}{3em} % prevent overfull lines
  304. \providecommand{\tightlist}{%
  305. \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
  306. $if(numbersections)$
  307. \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$}
  308. $else$
  309. \setcounter{secnumdepth}{-\maxdimen} % remove section numbering
  310. $endif$
  311. $if(beamer)$
  312. $else$
  313. $if(block-headings)$
  314. % Make \paragraph and \subparagraph free-standing
  315. \ifx\paragraph\undefined\else
  316. \let\oldparagraph\paragraph
  317. \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
  318. \fi
  319. \ifx\subparagraph\undefined\else
  320. \let\oldsubparagraph\subparagraph
  321. \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
  322. \fi
  323. $endif$
  324. $endif$
  325. $if(pagestyle)$
  326. \pagestyle{$pagestyle$}
  327. $endif$
  328. $for(header-includes)$
  329. $header-includes$
  330. $endfor$
  331. $if(lang)$
  332. \ifxetex
  333. % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic)
  334. \usepackage{polyglossia}
  335. \setmainlanguage[$for(polyglossia-lang.options)$$polyglossia-lang.options$$sep$,$endfor$]{$polyglossia-lang.name$}
  336. $for(polyglossia-otherlangs)$
  337. \setotherlanguage[$for(polyglossia-otherlangs.options)$$polyglossia-otherlangs.options$$sep$,$endfor$]{$polyglossia-otherlangs.name$}
  338. $endfor$
  339. \else
  340. \usepackage[$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
  341. % get rid of language-specific shorthands (see #6817):
  342. \let\LanguageShortHands\languageshorthands
  343. \def\languageshorthands#1{}
  344. $if(babel-newcommands)$
  345. $babel-newcommands$
  346. $endif$
  347. \fi
  348. $endif$
  349. \ifluatex
  350. \usepackage{selnolig} % disable illegal ligatures
  351. \fi
  352. $if(dir)$
  353. \ifxetex
  354. % Load bidi as late as possible as it modifies e.g. graphicx
  355. \usepackage{bidi}
  356. \fi
  357. \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  358. \TeXXeTstate=1
  359. \newcommand{\RL}[1]{\beginR #1\endR}
  360. \newcommand{\LR}[1]{\beginL #1\endL}
  361. \newenvironment{RTL}{\beginR}{\endR}
  362. \newenvironment{LTR}{\beginL}{\endL}
  363. \fi
  364. $endif$
  365. $if(natbib)$
  366. \usepackage[$natbiboptions$]{natbib}
  367. \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
  368. $endif$
  369. $if(biblatex)$
  370. \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex}
  371. $for(bibliography)$
  372. \addbibresource{$bibliography$}
  373. $endfor$
  374. $endif$
  375. $if(csl-refs)$
  376. \newlength{\cslhangindent}
  377. \setlength{\cslhangindent}{1.5em}
  378. \newlength{\csllabelwidth}
  379. \setlength{\csllabelwidth}{3em}
  380. \newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
  381. {% don't indent paragraphs
  382. \setlength{\parindent}{0pt}
  383. % turn on hanging indent if param 1 is 1
  384. \ifodd #1 \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces\fi
  385. % set entry spacing
  386. \ifnum #2 > 0
  387. \setlength{\parskip}{#2\baselineskip}
  388. \fi
  389. }%
  390. {}
  391. \usepackage{calc}
  392. \newcommand{\CSLBlock}[1]{#1\hfill\break}
  393. \newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
  394. \newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
  395. \newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
  396. $endif$
  397. $if(csquotes)$
  398. \usepackage{csquotes}
  399. $endif$
  400. $if(title)$
  401. \title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
  402. $endif$
  403. $if(subtitle)$
  404. $if(beamer)$
  405. $else$
  406. \usepackage{etoolbox}
  407. \makeatletter
  408. \providecommand{\subtitle}[1]{% add subtitle to \maketitle
  409. \apptocmd{\@title}{\par {\large #1 \par}}{}{}
  410. }
  411. \makeatother
  412. $endif$
  413. \subtitle{$subtitle$}
  414. $endif$
  415. \author{$for(author)$$author.name$$if(author.orcid)$\orcid{$author.orcid$}$endif$$sep$ \and $endfor$}
  416. \date{$date$}
  417. $if(beamer)$
  418. $if(institute)$
  419. \institute{$for(institute)$$institute$$sep$ \and $endfor$}
  420. $endif$
  421. $if(titlegraphic)$
  422. \titlegraphic{\includegraphics{$titlegraphic$}}
  423. $endif$
  424. $if(logo)$
  425. \logo{\includegraphics{$logo$}}
  426. $endif$
  427. $endif$
  428. \begin{document}
  429. $if(has-frontmatter)$
  430. \frontmatter
  431. $endif$
  432. $for(include-before)$
  433. $include-before$
  434. $if(title)$
  435. $if(beamer)$
  436. \frame{\titlepage}
  437. $else$
  438. \maketitle
  439. $endif$
  440. $if(abstract)$
  441. \begin{abstract}
  442. $abstract$
  443. \end{abstract}
  444. $endif$
  445. $endif$
  446. $endfor$
  447. $if(toc)$
  448. $if(toc-title)$
  449. \renewcommand*\contentsname{$toc-title$}
  450. $endif$
  451. $if(beamer)$
  452. \begin{frame}[allowframebreaks]
  453. $if(toc-title)$
  454. \frametitle{$toc-title$}
  455. $endif$
  456. \tableofcontents[hideallsubsections]
  457. \end{frame}
  458. $else$
  459. {
  460. $if(colorlinks)$
  461. \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
  462. $endif$
  463. \setcounter{tocdepth}{$toc-depth$}
  464. \tableofcontents
  465. }
  466. $endif$
  467. $endif$
  468. $if(lot)$
  469. \listoftables
  470. $endif$
  471. $if(lof)$
  472. \listoffigures
  473. $endif$
  474. $if(linestretch)$
  475. \setstretch{$linestretch$}
  476. $endif$
  477. $if(has-frontmatter)$
  478. \mainmatter
  479. $endif$
  480. $body$
  481. $if(has-frontmatter)$
  482. \backmatter
  483. $endif$
  484. $if(natbib)$
  485. $if(bibliography)$
  486. $if(biblio-title)$
  487. $if(has-chapters)$
  488. \renewcommand\bibname{$biblio-title$}
  489. $else$
  490. \renewcommand\refname{$biblio-title$}
  491. $endif$
  492. $endif$
  493. $if(beamer)$
  494. \begin{frame}[allowframebreaks]{$biblio-title$}
  495. \bibliographytrue
  496. $endif$
  497. \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
  498. $if(beamer)$
  499. \end{frame}
  500. $endif$
  501. $endif$
  502. $endif$
  503. $if(biblatex)$
  504. $if(beamer)$
  505. \begin{frame}[allowframebreaks]{$biblio-title$}
  506. \bibliographytrue
  507. \printbibliography[heading=none]
  508. \end{frame}
  509. $else$
  510. \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
  511. $endif$
  512. $endif$
  513. $for(include-after)$
  514. $include-after$
  515. $endfor$
  516. \end{document}