83 lines
3.1 KiB
TeX
83 lines
3.1 KiB
TeX
% The pandoc command line (see configure.py) can communicate variables to this
|
|
% LaTeX skelaton, by using the "-V varname=value" command line parameter, and
|
|
% there are also some builtin variables defined by other options. With such a
|
|
% variable, we can use "$varname$" for the value, and $if(varname)$...$endif$
|
|
% for conditional code when this varname is defined.
|
|
%
|
|
% For an example of a more complete LaTeX template covering more of pandoc's
|
|
% features, check out the example templates/default.latex in pandoc's
|
|
% installation, or pandoc.org/demo/mytemplate.tex on their site.
|
|
|
|
\documentclass[11]{article}
|
|
\usepackage[a4paper, margin=1in]{geometry}
|
|
\usepackage{lmodern}
|
|
\usepackage{microtype}
|
|
|
|
% In code snippets, show backtick (`, grave accent) as a short straight line,
|
|
% not a curved quote. I could have used \IfFileExists{upquote.sty}{...}{}
|
|
% to make this package optional, but I really think it's important, and
|
|
% the user in a modern Linux distribution should be able to get it easily.
|
|
\usepackage{upquote}
|
|
|
|
% Nice header with document's name and section name, and footer
|
|
% with page number.
|
|
\usepackage{fancyhdr}
|
|
\pagestyle{fancy}
|
|
\lhead{\itshape Seastar}
|
|
\chead{}
|
|
\rhead{\itshape{\nouppercase{\leftmark}}}
|
|
\lfoot{}
|
|
\cfoot{}
|
|
\rfoot{\thepage}
|
|
|
|
$if(highlighting-macros)$
|
|
$highlighting-macros$
|
|
$endif$
|
|
|
|
% Support links in PDF files
|
|
\usepackage[]{hyperref}
|
|
\hypersetup{breaklinks=true,
|
|
bookmarks=true, % show bookmark bar (i.e, TOC sidebar) in PDF viewer
|
|
pdfstartview=FitH, % cause Adobe Acrobat to do "fit to width"
|
|
pdfauthor={ScyllaDB},
|
|
pdftitle={Asynchronous Programming with Seastar},
|
|
colorlinks=true, % if false, uses boxed links
|
|
urlcolor=blue, % color of external links
|
|
linkcolor=magenta % color of internal links (to other sections)
|
|
}
|
|
|
|
% Indentation went out of style with Disco music... It is especially
|
|
% inconvenient in text which includes a lot of code snippets, etc, which
|
|
% causes a lot of indents not preceeded by a text paragraph. So replace
|
|
% the indentation with increased spacing between paragraphs. Note that this
|
|
% also makes the TOC more spacious, I'm not sure it's a great idea.
|
|
\setlength{\parindent}{0pt}
|
|
\setlength{\parskip}{6pt plus 2pt minus 1pt}
|
|
|
|
% Apparently, newer versions of pandoc use a "\tightlist" command, and
|
|
% we need to implement it.
|
|
\providecommand{\tightlist}{%
|
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
|
|
|
% Fancy-formatted title, but take the author list and date (if set) from the
|
|
% preable in the markdown file.
|
|
\title{\textbf{\fontsize{0.75cm}{1.5em}\selectfont Asynchronous Programming} \\ \textbf{\fontsize{0.75cm}{1.5em}\selectfont with} \\ \textbf{\fontsize{3cm}{1.5em}\selectfont Seastar}}
|
|
\author{$for(author)$$author$$sep$ \and $endfor$}
|
|
\date{$date$}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
|
|
% Table of contents, before the body of the document. Make the TOC clickable,
|
|
% with links to the respective sections, but override the internal link color
|
|
% set above (magenta) by normal black color, because the entire TOC being in
|
|
% a different color looks rather conspicuous.
|
|
{
|
|
\hypersetup{linkcolor=black}
|
|
\tableofcontents
|
|
}
|
|
|
|
$body$
|
|
|
|
\end{document}
|