Created
April 17, 2020 22:08
-
-
Save elfsternberg/ccc13aaa86df5b04960cbe03227459fa to your computer and use it in GitHub Desktop.
Modified Pandoc default.latex template, now with Truetype and Opentype support.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\def\cmnt#1{} | |
\cmnt{ | |
% This is the default.latex file from Pandoc with a single change: I | |
% have added the fontspec, xunicode, and xltxtra packages to the | |
% fontenc invocation. This change allows you to use your Truetype and | |
% Opentype fonts with pandoc and make your markdown even prettier than | |
% ever. Example usage: | |
% | |
% pandoc recipe.md --pdf-engine=xelatex --template=truetype.latex -V mainfont="Centaur MT Std" -o recipe.pdf | |
% | |
% The rights to this file remain with the Pandoc team, and it is | |
% consequently licensed under the GPL-v2 License. | |
% | |
% Truetype compatibility added by Elf M. Sternberg <[email protected]> | |
% | |
} | |
\PassOptionsToPackage{unicode=true$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} % options for packages loaded elsewhere | |
\PassOptionsToPackage{hyphens}{url} | |
$if(colorlinks)$ | |
\PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor} | |
$endif$$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,$endif$$if(beamer)$ignorenonframetext,$if(handout)$handout,$endif$$if(aspectratio)$aspectratio=$aspectratio$,$endif$$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} | |
$if(beamer)$ | |
$if(background-image)$ | |
\usebackgroundtemplate{% | |
\includegraphics[width=\paperwidth]{$background-image$}% | |
} | |
$endif$ | |
\usepackage{pgfpages} | |
\setbeamertemplate{caption}[numbered] | |
\setbeamertemplate{caption label separator}{: } | |
\setbeamercolor{caption name}{fg=normal text.fg} | |
\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ | |
$for(beameroption)$ | |
\setbeameroption{$beameroption$} | |
$endfor$ | |
% 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} | |
} | |
\setbeamertemplate{section page}{ | |
\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} | |
} | |
\AtBeginPart{ | |
\frame{\partpage} | |
} | |
\AtBeginSection{ | |
\ifbibliography | |
\else | |
\frame{\sectionpage} | |
\fi | |
} | |
\AtBeginSubsection{ | |
\frame{\subsectionpage} | |
} | |
$endif$ | |
$endif$ | |
$if(beamerarticle)$ | |
\usepackage{beamerarticle} % needs to be loaded first | |
$endif$ | |
$if(fontfamily)$ | |
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} | |
$else$ | |
\usepackage{lmodern} | |
$endif$ | |
$if(linestretch)$ | |
\usepackage{setspace} | |
\setstretch{$linestretch$} | |
$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{fontspec, xunicode, xltxtra} | |
\usepackage[utf8]{inputenc} | |
\usepackage{textcomp} % provides euro and other symbols | |
\else % if luatex or xelatex | |
$if(mathspec)$ | |
\ifxetex | |
\usepackage{mathspec} | |
\else | |
\usepackage{unicode-math} | |
\fi | |
$else$ | |
\usepackage{unicode-math} | |
$endif$ | |
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} | |
$for(fontfamilies)$ | |
\newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} | |
$endfor$ | |
$if(mainfont)$ | |
\setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} | |
$endif$ | |
$if(romanfont)$ | |
\setromanfont[$for(romanfontoptions)$$romanfontoptions$$sep$,$endfor$]{$romanfont$} | |
$endif$ | |
$if(sansfont)$ | |
\setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} | |
$endif$ | |
$if(monofont)$ | |
\setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} | |
$endif$ | |
$if(mathfont)$ | |
$if(mathspec)$ | |
\ifxetex | |
\setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} | |
\else | |
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} | |
\fi | |
$else$ | |
\setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} | |
$endif$ | |
$endif$ | |
$if(CJKmainfont)$ | |
\ifxetex | |
\usepackage{xeCJK} | |
\setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} | |
\fi | |
$endif$ | |
$if(luatexjapresetoptions)$ | |
\ifluatex | |
\usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} | |
\fi | |
$endif$ | |
$if(CJKmainfont)$ | |
\ifluatex | |
\usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} | |
\setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} | |
\fi | |
$endif$ | |
\fi | |
$if(beamer)$ | |
$if(theme)$ | |
\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} | |
$endif$ | |
$if(colortheme)$ | |
\usecolortheme{$colortheme$} | |
$endif$ | |
$if(fonttheme)$ | |
\usefonttheme{$fonttheme$} | |
$endif$ | |
$if(mainfont)$ | |
\usefonttheme{serif} % use mainfont rather than sansfont for slide text | |
$endif$ | |
$if(innertheme)$ | |
\useinnertheme{$innertheme$} | |
$endif$ | |
$if(outertheme)$ | |
\useoutertheme{$outertheme$} | |
$endif$ | |
$endif$ | |
% 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 | |
}{} | |
$if(indent)$ | |
$else$ | |
\IfFileExists{parskip.sty}{% | |
\usepackage{parskip} | |
}{% else | |
\setlength{\parindent}{0pt} | |
\setlength{\parskip}{6pt plus 2pt minus 1pt} | |
} | |
$endif$ | |
$if(verbatim-in-note)$ | |
\usepackage{fancyvrb} | |
$endif$ | |
$if(colorlinks)$ | |
\usepackage{xcolor} | |
$endif$ | |
\usepackage{hyperref} | |
\hypersetup{ | |
$if(title-meta)$ | |
pdftitle={$title-meta$}, | |
$endif$ | |
$if(author-meta)$ | |
pdfauthor={$author-meta$}, | |
$endif$ | |
$if(keywords)$ | |
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, | |
$endif$ | |
$if(colorlinks)$ | |
colorlinks=true, | |
linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, | |
filecolor=$if(filecolor)$$filecolor$$else$Maroon$endif$, | |
citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, | |
urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, | |
$else$ | |
pdfborder={0 0 0}, | |
$endif$ | |
breaklinks=true} | |
\urlstyle{same} % don't use monospace font for urls | |
$if(verbatim-in-note)$ | |
\VerbatimFootnotes % allows verbatim text in footnotes | |
$endif$ | |
$if(geometry)$ | |
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} | |
$endif$ | |
$if(beamer)$ | |
\newif\ifbibliography | |
$endif$ | |
$if(listings)$ | |
\usepackage{listings} | |
\newcommand{\passthrough}[1]{#1} | |
$endif$ | |
$if(lhs)$ | |
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} | |
$endif$ | |
$if(highlighting-macros)$ | |
$highlighting-macros$ | |
$endif$ | |
$if(tables)$ | |
\usepackage{longtable,booktabs} | |
$if(beamer)$ | |
\usepackage{caption} | |
% These lines are needed to make table captions 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}}{} | |
$endif$ | |
$endif$ | |
$if(graphics)$ | |
\usepackage{graphicx,grffile} | |
\makeatletter | |
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} | |
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} | |
\makeatother | |
% Scale images if necessary, so that they will not overflow the page | |
% margins by default, and it is still possible to overwrite the defaults | |
% using explicit options in \includegraphics[width, height, ...]{} | |
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} | |
$endif$ | |
$if(links-as-notes)$ | |
% Make links footnotes instead of hotlinks: | |
\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} | |
$endif$ | |
$if(strikeout)$ | |
\usepackage[normalem]{ulem} | |
% 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$} | |
$else$ | |
\setcounter{secnumdepth}{0} | |
$endif$ | |
$if(beamer)$ | |
$else$ | |
$if(subparagraph)$ | |
$else$ | |
% Redefines (sub)paragraphs to behave more like sections | |
\ifx\paragraph\undefined\else | |
\let\oldparagraph\paragraph | |
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} | |
\fi | |
\ifx\subparagraph\undefined\else | |
\let\oldsubparagraph\subparagraph | |
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} | |
\fi | |
$endif$ | |
$endif$ | |
$if(pagestyle)$ | |
\pagestyle{$pagestyle$} | |
$endif$ | |
% set default figure placement to htbp | |
\makeatletter | |
\def\fps@figure{htbp} | |
\makeatother | |
$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 | |
% load polyglossia as late as possible as it *could* call bidi if RTL lang (e.g. Hebrew or Arabic) | |
\usepackage{polyglossia} | |
\setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} | |
$for(polyglossia-otherlangs)$ | |
\setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} | |
$endfor$ | |
\fi | |
$endif$ | |
$if(dir)$ | |
\ifxetex | |
% 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 | |
\TeXXeTstate=1 | |
\newcommand{\RL}[1]{\beginR #1\endR} | |
\newcommand{\LR}[1]{\beginL #1\endL} | |
\newenvironment{RTL}{\beginR}{\endR} | |
\newenvironment{LTR}{\beginL}{\endL} | |
\fi | |
$endif$ | |
$if(natbib)$ | |
\usepackage[$natbiboptions$]{natbib} | |
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} | |
$endif$ | |
$if(biblatex)$ | |
\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} | |
$for(bibliography)$ | |
\addbibresource{$bibliography$} | |
$endfor$ | |
$endif$ | |
$if(title)$ | |
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} | |
$endif$ | |
$if(subtitle)$ | |
\providecommand{\subtitle}[1]{} | |
\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(titlegraphic)$ | |
\titlegraphic{\includegraphics{$titlegraphic$}} | |
$endif$ | |
$if(logo)$ | |
\logo{\includegraphics{$logo$}} | |
$endif$ | |
$endif$ | |
\begin{document} | |
$if(title)$ | |
$if(beamer)$ | |
\frame{\titlepage} | |
$else$ | |
\maketitle | |
$endif$ | |
$if(abstract)$ | |
\begin{abstract} | |
$abstract$ | |
\end{abstract} | |
$endif$ | |
$endif$ | |
$for(include-before)$ | |
$include-before$ | |
$endfor$ | |
$if(toc)$ | |
$if(toc-title)$ | |
\renewcommand*\contentsname{$toc-title$} | |
$endif$ | |
$if(beamer)$ | |
\begin{frame} | |
$if(toc-title)$ | |
\frametitle{$toc-title$} | |
$endif$ | |
\tableofcontents[hideallsubsections] | |
\end{frame} | |
$else$ | |
{ | |
$if(colorlinks)$ | |
\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} | |
$endif$ | |
\setcounter{tocdepth}{$toc-depth$} | |
\tableofcontents | |
} | |
$endif$ | |
$endif$ | |
$if(lot)$ | |
\listoftables | |
$endif$ | |
$if(lof)$ | |
\listoffigures | |
$endif$ | |
$body$ | |
$if(natbib)$ | |
$if(bibliography)$ | |
$if(biblio-title)$ | |
$if(book-class)$ | |
\renewcommand\bibname{$biblio-title$} | |
$else$ | |
\renewcommand\refname{$biblio-title$} | |
$endif$ | |
$endif$ | |
$if(beamer)$ | |
\begin{frame}[allowframebreaks]{$biblio-title$} | |
\bibliographytrue | |
$endif$ | |
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} | |
$if(beamer)$ | |
\end{frame} | |
$endif$ | |
$endif$ | |
$endif$ | |
$if(biblatex)$ | |
$if(beamer)$ | |
\begin{frame}[allowframebreaks]{$biblio-title$} | |
\bibliographytrue | |
\printbibliography[heading=none] | |
\end{frame} | |
$else$ | |
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ | |
$endif$ | |
$endif$ | |
$for(include-after)$ | |
$include-after$ | |
$endfor$ | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment