Whitespace.
[ttfautohint.git] / doc / template.tex
blobb825583875e1e244bf12cf3ebfcefbde625a0879
1 % This template only works with luatex or XeTeX if you use non-ASCII
2 % characters.
4 \documentclass[$if(fontsize)$$fontsize$,$endif$%
5 $if(lang)$$lang$,$endif$%
6 DIV=13]{scrreprt}
8 \usepackage{ifxetex,ifluatex}
9 \usepackage[T1]{fontenc}
10 \usepackage{fixltx2e}
11 \usepackage{libertine}
13 % Libertine Mono is too ugly; we use lmodern instead
14 \renewcommand{\ttfamily}{\fontfamily{lmtt}\selectfont}
16 \setkomafont{sectioning}{\normalfont\bfseries}
17 \setkomafont{descriptionlabel}{\normalfont}
18 \setkomafont{caption}{\normalfont\small}
20 $if(highlighting-macros)$
21 $highlighting-macros$
22 $endif$
24 $if(verbatim-in-note)$
25 \usepackage{fancyvrb}
26 $endif$
28 $if(fancy-enums)$
29 % Redefine labelwidth for lists; otherwise, the enumerate package will cause
30 % markers to extend beyond the left margin.
31 \makeatletter
33 \AtBeginDocument{%
34 \renewcommand{\@listi}
35 {\setlength{\labelwidth}{4em}}%
38 \makeatother
40 \usepackage{enumerate}
41 $endif$
43 $if(tables)$
44 % We use a patched version of longtable until a serious clash with
45 % floats get fixed.
46 \usepackage{longtable-patched}
47 \usepackage{booktabs}
49 % pandoc inserts \addlinespace after each line...
50 \defaultaddspace=1pt
52 % XXX The \addlinespace macro, as used in the LaTeX code generated by
53 % pandoc, overrides any vertical space adjustments for \toprule and friends,
54 % which is quite unfortunate. I consider this a bug in pandoc 1.12.2.1.
55 % It's not too difficult to fix this, but I had to redefine a lot of
56 % booktabs commands, which I don't want. Since the layout degradation is
57 % minor, I simply wait until it gets fixed in pandoc.
59 %\aboverulesep=0.3em
60 %\belowrulesep=0.3em
61 $endif$
63 $if(url)$
64 \usepackage{url}
65 $endif$
67 $if(graphics)$
68 \usepackage{graphicx}
70 % We will generate all images so they have a width 0.6\maxwidth. This means
71 % that they will get their normal width if they fit onto the page, but are
72 % scaled down if they would overflow this limit.
73 \makeatletter
75 \def\maxwidth{%
76 \ifdim\Gin@nat@width>\linewidth
77 \linewidth
78 \else
79 \Gin@nat@width
80 \fi}
82 \makeatother
84 \let\Oldincludegraphics\includegraphics
85 \renewcommand{\includegraphics}[1]{%
86 \Oldincludegraphics[width=0.6\maxwidth]{#1}}
87 $endif$
89 \ifxetex
90 \usepackage[setpagesize=false, % page size defined by xetex
91 unicode=false, % unicode breaks when used with xetex
92 xetex,
93 colorlinks=true,
94 linkcolor=blue]{hyperref}
95 \else
96 \usepackage[unicode=true,
97 colorlinks=true,
98 linkcolor=blue]{hyperref}
99 \usepackage{microtype}
101 \hypersetup{breaklinks=true,
102 pdfauthor={$author-meta$},
103 pdftitle={$title-meta$},
104 pdfborder={0 0 0}}
106 % We want the names `section 2', `subsection 4.1', and the like in local
107 % links, omitting the original link text. To do that, we redefine
108 % \hyperref.
109 \makeatletter
111 % We transform
113 % \hyperref[foo]{bar}
115 % into
117 % bar (\autoref{foo})
119 \def\label@hyperref[#1]#2{%
120 #2 (\autoref{#1})}
122 \makeatother
124 $if(subscript)$
125 \newcommand{\textsubscr}[1]{%
126 \ensuremath{_{\scriptsize\textrm{#1}}}}
127 $endif$
129 \setlength{\parindent}{0pt}
130 \setlength{\parskip}{6pt plus 2pt minus 1pt}
131 \setlength{\emergencystretch}{3em} % prevent overfull lines
133 % We want a break after the description label (if there is one).
134 \makeatletter
136 \let\original@item\@item
137 \def\description@item[#1]{%
138 \if@noparitem
139 \@donoparitem
140 \else
141 \if@inlabel
142 \indent \par
144 \ifhmode
145 \unskip\unskip \par
147 \if@newlist
148 \if@nobreak
149 \@nbitem
150 \else
151 \addpenalty\@beginparpenalty
152 \addvspace\@topsep
153 \addvspace{-\parskip}%
155 \else
156 \addpenalty\@itempenalty
157 \addvspace\itemsep
159 \global\@inlabeltrue
161 \everypar{%
162 \@minipagefalse
163 \global\@newlistfalse
164 \if@inlabel
165 \global\@inlabelfalse
166 {\setbox\z@\lastbox
167 \ifvoid\z@
168 \kern-\itemindent
169 \fi}%
170 \box\@labels
171 \penalty\z@
173 \if@nobreak
174 \@nobreakfalse
175 \clubpenalty \@M
176 \else
177 \clubpenalty \@clubpenalty
178 \everypar{}%
179 \fi}%
180 \if@noitemarg
181 \@noitemargfalse
182 \if@nmbrlist
183 \refstepcounter\@listctr
186 \sbox\@tempboxa{\makelabel{#1}}%
187 \global\setbox\@labels\hbox{%
188 \unhbox\@labels
189 \hskip \itemindent
190 \hskip -\labelwidth
191 \hskip -\labelsep
192 \ifdim \wd\@tempboxa >\labelwidth
193 \box\@tempboxa
194 \else
195 \hbox to\labelwidth {\unhbox\@tempboxa}%
197 \hskip \labelsep}%
198 \def\reserved@a{#1}%
199 \def\reserved@b{\@itemlabel}%
200 \ifx\reserved@a \reserved@b
201 \else
202 \leavevmode\\
204 \ignorespaces}
206 \renewenvironment{description}{%
207 \list{}{\labelwidth\z@ \itemindent-\leftmargin
208 \let\makelabel\descriptionlabel
209 \let\@item\description@item}%
211 \let\@item\original@item
212 \endlist
215 \makeatother
217 % we want block quotes formatted as italic
218 \renewenvironment{quote}{%
219 \list{}{\rightmargin\leftmargin}%
220 \item\relax
221 \itshape
223 \endlist
228 $if(numbersections)$
229 \setcounter{secnumdepth}{5}
230 $else$
231 \setcounter{secnumdepth}{0}
232 $endif$
234 $if(verbatim-in-note)$
235 \VerbatimFootnotes % allows verbatim text in footnotes
236 $endif$
238 $if(lang)$
239 \ifxetex
240 \usepackage{polyglossia}
241 \setmainlanguage{$mainlang$}
242 \else
243 \usepackage[$lang$]{babel}
245 $endif$
247 $for(header-includes)$
248 $header-includes$
249 $endfor$
251 $if(title)$
252 \title{$title$}
253 $endif$
254 \author{$for(author)$$author$$sep$ \and $endfor$}
255 $if(version)$
256 \date{Version $version$}
257 $endif$
259 \begin{document}
260 $if(title)$
261 \maketitle
262 $endif$
264 $for(include-before)$
265 $include-before$
266 $endfor$
268 $if(toc)$
269 \tableofcontents
270 $endif$
272 $body$
274 $for(include-after)$
275 $include-after$
276 $endfor$
278 \end{document}