123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- \documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$$if(papersize)$$papersize$,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
- $if(fontfamily)$
- \usepackage{$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[T1]{fontenc}
- \usepackage[utf8]{inputenc}
- $if(euro)$
- \usepackage{eurosym}
- $endif$
- \else % if luatex or xelatex
- \ifxetex
- \usepackage{xltxtra,xunicode}
- \else
- \usepackage{fontspec}
- \fi
- \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
- \newcommand{\euro}{€}
- $if(mainfont)$
- \setmainfont{$mainfont$}
- $endif$
- $if(sansfont)$
- \setsansfont{$sansfont$}
- $endif$
- $if(monofont)$
- \setmonofont[Mapping=tex-ansi]{$monofont$}
- $endif$
- $if(CJKmainfont)$
- \usepackage{xeCJK}
- \setCJKmainfont[$CJKoptions$]{$CJKmainfont$}
- $endif$
- \fi
- % 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(geometry)$
- \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
- $endif$
- \ifxetex
- \usepackage[setpagesize=false, % page size defined by xetex
- unicode=false, % unicode breaks when used with xetex
- xetex]{hyperref}
- \else
- \usepackage[unicode=true]{hyperref}
- \fi
- \usepackage[usenames,dvipsnames]{color}
- \hypersetup{breaklinks=true,
- bookmarks=true,
- pdfauthor={$author-meta$},
- pdftitle={$title-meta$},
- colorlinks=true,
- citecolor=$if(citecolor)$$citecolor$$else$blue$endif$,
- urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
- linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
- pdfborder={0 0 0}}
- \urlstyle{same} % don't use monospace font for urls
- $if(lang)$
- \ifxetex
- \usepackage{polyglossia}
- \setmainlanguage{$mainlang$}
- \setotherlanguages{$for(otherlang)$$otherlang$$sep$,$endfor$}
- \else
- \usepackage[shorthands=off,$lang$]{babel}
- \fi
- $endif$
- $if(natbib)$
- \usepackage{natbib}
- \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
- $endif$
- $if(biblatex)$
- \usepackage{biblatex}
- $for(bibliography)$
- \addbibresource{$bibliography$}
- $endfor$
- $endif$
- $if(listings)$
- \usepackage{listings}
- $endif$
- $if(lhs)$
- \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
- $endif$
- $if(highlighting-macros)$
- $highlighting-macros$
- \RecustomVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},formatcom=\xeCJKVerbAddon}
- $endif$
- $if(verbatim-in-note)$
- \usepackage{fancyvrb}
- \VerbatimFootnotes
- $endif$
- $if(tables)$
- \usepackage{longtable,booktabs}
- $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:
- \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{\emergencystretch}{3em} % prevent overfull lines
- \providecommand{\tightlist}{%
- \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
- $if(numbersections)$
- \setcounter{secnumdepth}{5}
- $else$
- \setcounter{secnumdepth}{0}
- $endif$
- $if(verbatim-in-note)$
- \VerbatimFootnotes % allows verbatim text in footnotes
- $endif$
- $if(title)$
- \title{$title$$if(subtitle)$\\\vspace{0.5em}{\large $subtitle$}$endif$}
- $endif$
- $if(author)$
- \author{$for(author)$$author$$sep$ \and $endfor$}
- $endif$
- \date{$date$}
- $for(header-includes)$
- $header-includes$
- $endfor$
- % 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
- \begin{document}
- $if(title)$
- \maketitle
- $endif$
- $if(abstract)$
- \begin{abstract}
- $abstract$
- \end{abstract}
- $endif$
- $for(include-before)$
- $include-before$
- $endfor$
- $if(toc)$
- {
- \setcounter{tocdepth}{$toc-depth$}
- \tableofcontents
- }
- $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$
- \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
- $endif$
- $endif$
- $if(biblatex)$
- \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
- $endif$
- $for(include-after)$
- $include-after$
- $endfor$
- \end{document}
|