templates/template.tex (305 lines of code) (raw):

\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{etoolbox} \usepackage{xstring} \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[utf8x]{inputenc} $if(euro)$ \usepackage{eurosym} $endif$ \else % if luatex or xelatex \ifxetex \usepackage{mathspec} \usepackage{xltxtra,xunicode} $if(CJKmainfont)$ \usepackage{xeCJK} \setCJKmainfont{$CJKmainfont$} $endif$ \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(mathfont)$ \setmathfont(Digits,Latin,Greek){$mathfont$} $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$ $if(natbib)$ \usepackage{natbib} \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} $endif$ $if(biblatex)$ \usepackage{biblatex} $if(biblio-files)$ \bibliography{$biblio-files$} $endif$ $endif$ $if(listings)$ \usepackage{xcolor} \usepackage{listings} \lstset{ literate={_}{\_}1, basicstyle=\ttfamily, keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries, stringstyle=\color[rgb]{0.31,0.60,0.02}, commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape, numberstyle=\footnotesize, frame=single, showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces' showstringspaces=false, % underline spaces within strings only breaklines=true, postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{gray}\hookrightarrow\space}} } $endif$ $if(lhs)$ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} $endif$ $if(highlighting-macros)$ $highlighting-macros$ $endif$ $if(verbatim-in-note)$ \usepackage{fancyvrb} $endif$ $if(tables)$ \usepackage{longtable,booktabs} % set table to left-aligned \setlength\LTleft{0pt} \setlength\LTright{0pt} % fill the columns to page width \makeatletter \patchcmd\LT@array{\tabskip\z@}{\extracolsep{\fill}} \makeatletter $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$ \ifxetex \usepackage[setpagesize=false, % page size defined by xetex unicode=true, % unicode breaks when used with xetex xetex]{hyperref} \else \usepackage[unicode=true]{hyperref} \fi \hypersetup{breaklinks=true, bookmarks=true, pdfauthor={$author$}, pdftitle={$title$}, 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(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}{5} $else$ \setcounter{secnumdepth}{0} $endif$ $if(verbatim-in-note)$ \VerbatimFootnotes % allows verbatim text in footnotes $endif$ $if(lang)$ \ifxetex \usepackage{polyglossia} \setmainlanguage{$mainlang$} \else \usepackage[$lang$]{babel} \fi $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$ % quote style % http://tex.stackexchange.com/questions/179982/add-a-black-border-to-block-quotations \usepackage{framed} % \usepackage{xcolor} \let\oldquote=\quote \let\endoldquote=\endquote \colorlet{shadecolor}{orange!15} \renewenvironment{quote}{\begin{shaded*}\begin{oldquote}}{\end{oldquote}\end{shaded*}} % https://www.zhihu.com/question/25082703/answer/30038248 % no cross chapter \usepackage[section]{placeins} % no float everywhere \usepackage{float} \floatplacement{figure}{H} % we chinese write article this way \usepackage{indentfirst} \setlength{\parindent}{2em} \renewcommand{\contentsname}{目录} \renewcommand\figurename{图} % fix overlap toc number and title % https://blog.csdn.net/golden1314521/article/details/39926135 \usepackage{titlesec} \usepackage{titletoc} % \titlecontents{标题名}[左间距]{标题格式}{标题标志}{无序号标题}{指引线与页码}[下间距] % fix overlap \titlecontents{subsection} [4em] {}% {\contentslabel{3em}}% {}% {\titlerule*[0.5pc]{$$\cdot$$}\contentspage\hspace*{0em}}% \titlecontents{subsubsection} [7em] {}% {\contentslabel{3.5em}}% {}% {\titlerule*[0.5pc]{$$\cdot$$}\contentspage\hspace*{0em}}% % \usepackage[all]{background} % \backgroundsetup{contents=PingCAP Inc.,color=blue,opacity=0.2} % \backgroundsetup{contents=\includegraphics{media/pingcap-logo}, % placement=top,scale=0.2,hshift=1000pt,vshift=-150pt, % opacity=0.9,angle=0} % % line spacing % $if(linestretch)$ $else$ \usepackage{setspace} \setstretch{1.2} $endif$ % % colors % % $if(colorlinks)$ % $else$ % \usepackage[dvipsnames,svgnames*,x11names*,table]{xcolor} % $endif$ % % listing colors % %\definecolor{listing-background}{rgb}{0.97,0.97,0.97} %\definecolor{listing-rule}{HTML}{B3B2B3} %\definecolor{listing-numbers}{HTML}{B3B2B3} %\definecolor{listing-text-color}{HTML}{000000} %\definecolor{listing-keyword}{HTML}{D8006B} %\definecolor{listing-identifier}{HTML}{000000} %\definecolor{listing-string}{HTML}{006CA9} %\definecolor{listing-comment}{rgb}{0.25,0.5,0.35} %\definecolor{listing-javadoc-comment}{HTML}{006CA9} $if(mainfont)$ $else$ \usepackage[default]{sourcesanspro} \usepackage{sourcecodepro} $endif$ % % remove paragraph indention % \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt} \setlength{\emergencystretch}{3em} % prevent overfull lines % avoid level-4, 5 heading to be connected with following content % https://github.com/jgm/pandoc/issues/1658 \let\oldparagraph\paragraph \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \let\oldsubparagraph\subparagraph \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \begin{document} % no bg at title page % \NoBgThispage $if(title)$ \maketitle $endif$ $if(abstract)$ \begin{abstract} $abstract$ \end{abstract} $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ { \hypersetup{linkcolor=black} \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ $if(lot)$ \listoftables $endif$ $if(lof)$ \listoffigures $endif$ \newpage $body$ $if(natbib)$ $if(biblio-files)$ $if(biblio-title)$ $if(book-class)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ \bibliography{$biblio-files$} $endif$ $endif$ $if(biblatex)$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ \end{document}