730796ee31
Previously the LaTeX writer created invalid LaTeX when `--listings` was specified and a code span occured inside emphasis or another construction. This is because the characters `%{}\` must be escaped in lstinline when the listinline occurs in another command, otherwise they must not be escaped. To deal with this, adoping Michael Kofler's suggestion, we always wrap lstinline in a dummy command `\passthrough`, now defined in the default template if `--listings` is specified. This way we can consistently escape the special characters. Closes #1629.
285 lines
7.5 KiB
Text
285 lines
7.5 KiB
Text
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(handout)$handout,$endif$$if(colorlinks)$dvipsnames,$endif$$if(beamer)$ignorenonframetext,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
|
|
\setbeamertemplate{caption}[numbered]
|
|
\setbeamertemplate{caption label separator}{: }
|
|
\setbeamercolor{caption name}{fg=normal text.fg}
|
|
\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$
|
|
$if(fontfamily)$
|
|
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
|
|
$else$
|
|
\usepackage{lmodern}
|
|
$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}
|
|
$if(euro)$
|
|
\usepackage{eurosym}
|
|
$endif$
|
|
\else % if luatex or xelatex
|
|
\ifxetex
|
|
\usepackage{mathspec}
|
|
\else
|
|
\usepackage{fontspec}
|
|
\fi
|
|
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
|
|
$for(fontfamilies)$
|
|
\newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$}
|
|
$endfor$
|
|
$if(euro)$
|
|
\newcommand{\euro}{€}
|
|
$endif$
|
|
$if(mainfont)$
|
|
\setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
|
|
$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)$
|
|
\setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
|
|
$endif$
|
|
$if(CJKmainfont)$
|
|
\usepackage{xeCJK}
|
|
\setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
|
|
$endif$
|
|
\fi
|
|
$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$
|
|
% use upquote if available, for straight quotes in verbatim environments
|
|
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
|
% use microtype if available
|
|
\IfFileExists{microtype.sty}{%
|
|
\usepackage{microtype}
|
|
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
|
}{}
|
|
$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
|
|
\usepackage{polyglossia}
|
|
\setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$}
|
|
$for(polyglossia-otherlangs)$
|
|
\setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$}
|
|
$endfor$
|
|
\fi
|
|
$endif$
|
|
\newif\ifbibliography
|
|
$if(natbib)$
|
|
\usepackage{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(verbatim-in-note)$
|
|
\usepackage{fancyvrb}
|
|
$endif$
|
|
\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$,
|
|
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(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}
|
|
\usepackage{caption}
|
|
% These lines are needed to make table captions work with longtable:
|
|
\makeatletter
|
|
\def\fnum@table{\tablename~\thetable}
|
|
\makeatother
|
|
$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>\textheight0.8\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$
|
|
|
|
% Prevent slide breaks in the middle of a paragraph:
|
|
\widowpenalties 1 10000
|
|
\raggedbottom
|
|
|
|
$if(section-titles)$
|
|
\AtBeginPart{
|
|
\let\insertpartnumber\relax
|
|
\let\partname\relax
|
|
\frame{\partpage}
|
|
}
|
|
\AtBeginSection{
|
|
\ifbibliography
|
|
\else
|
|
\let\insertsectionnumber\relax
|
|
\let\sectionname\relax
|
|
\frame{\sectionpage}
|
|
\fi
|
|
}
|
|
\AtBeginSubsection{
|
|
\let\insertsubsectionnumber\relax
|
|
\let\subsectionname\relax
|
|
\frame{\subsectionpage}
|
|
}
|
|
$endif$
|
|
|
|
$if(links-as-notes)$
|
|
% Make links footnotes instead of hotlinks:
|
|
\renewcommand{\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{\parindent}{0pt}
|
|
\setlength{\parskip}{6pt plus 2pt minus 1pt}
|
|
\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(dir)$
|
|
\ifxetex
|
|
% load bidi as late as possible as it modifies e.g. graphicx
|
|
$if(latex-dir-rtl)$
|
|
\usepackage[RTLdocument]{bidi}
|
|
$else$
|
|
\usepackage{bidi}
|
|
$endif$
|
|
\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$
|
|
$for(header-includes)$
|
|
$header-includes$
|
|
$endfor$
|
|
|
|
$if(title)$
|
|
\title{$title$}
|
|
$endif$
|
|
$if(subtitle)$
|
|
\subtitle{$subtitle$}
|
|
$endif$
|
|
$if(author)$
|
|
\author{$for(author)$$author$$sep$ \and $endfor$}
|
|
$endif$
|
|
$if(institute)$
|
|
\institute{$for(institute)$$institute$$sep$ \and $endfor$}
|
|
$endif$
|
|
\date{$date$}
|
|
$if(titlegraphic)$
|
|
\titlegraphic{\includegraphics{$titlegraphic$}}
|
|
$endif$
|
|
$if(logo)$
|
|
\logo{\includegraphics{$logo$}}
|
|
$endif$
|
|
|
|
\begin{document}
|
|
$if(title)$
|
|
\frame{\titlepage}
|
|
$endif$
|
|
|
|
$for(include-before)$
|
|
$include-before$
|
|
|
|
$endfor$
|
|
$if(toc)$
|
|
\begin{frame}
|
|
\tableofcontents[hideallsubsections]
|
|
\end{frame}
|
|
|
|
$endif$
|
|
$body$
|
|
|
|
$if(natbib)$
|
|
$if(bibliography)$
|
|
$if(biblio-title)$
|
|
$if(book-class)$
|
|
\renewcommand\bibname{$biblio-title$}
|
|
$else$
|
|
\renewcommand\refname{$biblio-title$}
|
|
$endif$
|
|
$endif$
|
|
\begin{frame}[allowframebreaks]{$biblio-title$}
|
|
\bibliographytrue
|
|
\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
|
|
\end{frame}
|
|
|
|
$endif$
|
|
$endif$
|
|
$if(biblatex)$
|
|
\begin{frame}[allowframebreaks]{$biblio-title$}
|
|
\bibliographytrue
|
|
\printbibliography[heading=none]
|
|
\end{frame}
|
|
|
|
$endif$
|
|
$for(include-after)$
|
|
$include-after$
|
|
|
|
$endfor$
|
|
\end{document}
|