You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

499 lines
12KB

  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*,table}{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. $if(fontfamily)$
  93. \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
  94. $else$
  95. \usepackage{lmodern}
  96. $endif$
  97. $if(linestretch)$
  98. \usepackage{setspace}
  99. $endif$
  100. \usepackage{amssymb,amsmath}
  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. \usepackage{longtable,booktabs}
  257. $if(beamer)$
  258. \usepackage{caption}
  259. % Make caption package work with longtable
  260. \makeatletter
  261. \def\fnum@table{\tablename~\thetable}
  262. \makeatother
  263. $else$
  264. % Correct order of tables after \paragraph or \subparagraph
  265. \usepackage{etoolbox}
  266. \makeatletter
  267. \patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
  268. \makeatother
  269. % Allow footnotes in longtable head/foot
  270. \IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
  271. \makesavenoteenv{longtable}
  272. $endif$
  273. $if(graphics)$
  274. \usepackage{graphicx}
  275. \makeatletter
  276. \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
  277. \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
  278. \makeatother
  279. % Scale images if necessary, so that they will not overflow the page
  280. % margins by default, and it is still possible to overwrite the defaults
  281. % using explicit options in \includegraphics[width, height, ...]{}
  282. \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
  283. % Set default figure placement to htbp
  284. \makeatletter
  285. \def\fps@figure{htbp}
  286. \makeatother
  287. $endif$
  288. $if(links-as-notes)$
  289. % Make links footnotes instead of hotlinks:
  290. \DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}}
  291. $endif$
  292. $if(strikeout)$
  293. \usepackage[normalem]{ulem}
  294. % Avoid problems with \sout in headers with hyperref
  295. \pdfstringdefDisableCommands{\renewcommand{\sout}{}}
  296. $endif$
  297. \setlength{\emergencystretch}{3em} % prevent overfull lines
  298. \providecommand{\tightlist}{%
  299. \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
  300. $if(numbersections)$
  301. \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$}
  302. $else$
  303. \setcounter{secnumdepth}{-\maxdimen} % remove section numbering
  304. $endif$
  305. $if(beamer)$
  306. $else$
  307. $if(block-headings)$
  308. % Make \paragraph and \subparagraph free-standing
  309. \ifx\paragraph\undefined\else
  310. \let\oldparagraph\paragraph
  311. \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
  312. \fi
  313. \ifx\subparagraph\undefined\else
  314. \let\oldsubparagraph\subparagraph
  315. \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
  316. \fi
  317. $endif$
  318. $endif$
  319. $if(pagestyle)$
  320. \pagestyle{$pagestyle$}
  321. $endif$
  322. $for(header-includes)$
  323. $header-includes$
  324. $endfor$
  325. $if(lang)$
  326. \ifxetex
  327. % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic)
  328. \usepackage{polyglossia}
  329. \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$}
  330. $for(polyglossia-otherlangs)$
  331. \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$}
  332. $endfor$
  333. \else
  334. \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
  335. $if(babel-newcommands)$
  336. $babel-newcommands$
  337. $endif$
  338. \fi
  339. $endif$
  340. $if(dir)$
  341. \ifxetex
  342. % Load bidi as late as possible as it modifies e.g. graphicx
  343. \usepackage{bidi}
  344. \fi
  345. \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  346. \TeXXeTstate=1
  347. \newcommand{\RL}[1]{\beginR #1\endR}
  348. \newcommand{\LR}[1]{\beginL #1\endL}
  349. \newenvironment{RTL}{\beginR}{\endR}
  350. \newenvironment{LTR}{\beginL}{\endL}
  351. \fi
  352. $endif$
  353. $if(natbib)$
  354. \usepackage[$natbiboptions$]{natbib}
  355. \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
  356. $endif$
  357. $if(biblatex)$
  358. \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex}
  359. $for(bibliography)$
  360. \addbibresource{$bibliography$}
  361. $endfor$
  362. $endif$
  363. $if(csl-refs)$
  364. \newlength{\cslhangindent}
  365. \setlength{\cslhangindent}{1.5em}
  366. \newenvironment{cslreferences}%
  367. {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}%
  368. \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}%
  369. {\par}
  370. $endif$
  371. \usepackage{siunitx}
  372. $if(title)$
  373. \title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
  374. $endif$
  375. $if(subtitle)$
  376. $if(beamer)$
  377. $else$
  378. \usepackage{etoolbox}
  379. \makeatletter
  380. \providecommand{\subtitle}[1]{% add subtitle to \maketitle
  381. \apptocmd{\@title}{\par {\large #1 \par}}{}{}
  382. }
  383. \makeatother
  384. $endif$
  385. \subtitle{$subtitle$}
  386. $endif$
  387. \author{$for(author)$$author$$sep$ \and $endfor$}
  388. \date{$date$}
  389. $if(beamer)$
  390. $if(institute)$
  391. \institute{$for(institute)$$institute$$sep$ \and $endfor$}
  392. $endif$
  393. $if(titlegraphic)$
  394. \titlegraphic{\includegraphics{$titlegraphic$}}
  395. $endif$
  396. $if(logo)$
  397. \logo{\includegraphics{$logo$}}
  398. $endif$
  399. $endif$
  400. \include{syntax}
  401. \renewcommand\vec[1]{\mathbf{#1}}
  402. \begin{document}
  403. $if(has-frontmatter)$
  404. \frontmatter
  405. $endif$
  406. $if(title)$
  407. $if(beamer)$
  408. \frame{\titlepage}
  409. $else$
  410. \maketitle
  411. $endif$
  412. $if(abstract)$
  413. \begin{abstract}
  414. $abstract$
  415. \end{abstract}
  416. $endif$
  417. $endif$
  418. $for(include-before)$
  419. $include-before$
  420. $endfor$
  421. $if(toc)$
  422. $if(toc-title)$
  423. \renewcommand*\contentsname{$toc-title$}
  424. $endif$
  425. $if(beamer)$
  426. \begin{frame}[allowframebreaks]
  427. $if(toc-title)$
  428. \frametitle{$toc-title$}
  429. $endif$
  430. \tableofcontents[hideallsubsections]
  431. \end{frame}
  432. $else$
  433. {
  434. $if(colorlinks)$
  435. \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
  436. $endif$
  437. \setcounter{tocdepth}{$toc-depth$}
  438. \tableofcontents
  439. }
  440. $endif$
  441. $endif$
  442. $if(lot)$
  443. \listoftables
  444. $endif$
  445. $if(lof)$
  446. \listoffigures
  447. $endif$
  448. $if(linestretch)$
  449. \setstretch{$linestretch$}
  450. $endif$
  451. $if(has-frontmatter)$
  452. \mainmatter
  453. $endif$
  454. $body$
  455. $if(has-frontmatter)$
  456. \backmatter
  457. $endif$
  458. $if(natbib)$
  459. $if(bibliography)$
  460. $if(biblio-title)$
  461. $if(has-chapters)$
  462. \renewcommand\bibname{$biblio-title$}
  463. $else$
  464. \renewcommand\refname{$biblio-title$}
  465. $endif$
  466. $endif$
  467. $if(beamer)$
  468. \begin{frame}[allowframebreaks]{$biblio-title$}
  469. \bibliographytrue
  470. $endif$
  471. \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
  472. $if(beamer)$
  473. \end{frame}
  474. $endif$
  475. $endif$
  476. $endif$
  477. $if(biblatex)$
  478. $if(beamer)$
  479. \begin{frame}[allowframebreaks]{$biblio-title$}
  480. \bibliographytrue
  481. \printbibliography[heading=none]
  482. \end{frame}
  483. $else$
  484. \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
  485. $endif$
  486. $endif$
  487. $for(include-after)$
  488. $include-after$
  489. $endfor$
  490. \end{document}