pandoc/test/writer.latex
Andrew Dunning 96892ea8d7 LaTeX template: Simplify fontspec usage (#5218)
Simplify the approach of #5212, ensuring that `mainfont` is used as the base font for scaling and that LuaLaTeX does not display the mono font with TeX ligatures (as it does not use the `Mapping=tex-ansi` option).

With a modified version of `\defaultfontfeatures`, fontspec will continue to report scaling against the old default font in the log, but it nonetheless displays main font at the specified size. Using this rather than setting `Scale=MatchLowercase` for each family individually means that users will not lose scaling when upgrading to the new template if they were using other font options. Scaling can be disabled for an individual family by adding the option `Scale=1` to `sansfontoptions`, `monofontoptions`, etc.

Remove the `\setromanfont` command added in #4665, as this is not documented in the fontspec manual and appears to be a deprecated alias for `\setmainfont`.

For the release notes, I should also add that one can imitate the previous appearance with `-V mainfontoptions="Scale=MatchLowercase"`.
2019-01-12 17:39:47 -08:00

1003 lines
18 KiB
Text

\PassOptionsToPackage{unicode=true}{hyperref} % options for packages loaded elsewhere
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[
]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provides euro and other symbols
\else % if luatex or xelatex
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{fancyvrb}
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
pdftitle={Pandoc Test Suite},
pdfauthor={John MacFarlane; Anonymous},
pdfborder={0 0 0},
breaklinks=true}
\urlstyle{same} % don't use monospace font for urls
\VerbatimFootnotes % allows verbatim text in footnotes
\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}
\usepackage[normalem]{ulem}
% avoid problems with \sout in headers with hyperref:
\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{0}
% 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
% set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother
\title{Pandoc Test Suite}
\author{John MacFarlane \and Anonymous}
\date{July 17, 2006}
\begin{document}
\maketitle
This is a set of tests for pandoc. Most of them are adapted from John Gruber's
markdown test suite.
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{headers}{%
\section{Headers}\label{headers}}
\hypertarget{level-2-with-an-embedded-link}{%
\subsection{\texorpdfstring{Level 2 with an \href{/url}{embedded
link}}{Level 2 with an embedded link}}\label{level-2-with-an-embedded-link}}
\hypertarget{level-3-with-emphasis}{%
\subsubsection{\texorpdfstring{Level 3 with
\emph{emphasis}}{Level 3 with emphasis}}\label{level-3-with-emphasis}}
\hypertarget{level-4}{%
\paragraph{Level 4}\label{level-4}}
\hypertarget{level-5}{%
\subparagraph{Level 5}\label{level-5}}
\hypertarget{level-1}{%
\section{Level 1}\label{level-1}}
\hypertarget{level-2-with-emphasis}{%
\subsection{\texorpdfstring{Level 2 with
\emph{emphasis}}{Level 2 with emphasis}}\label{level-2-with-emphasis}}
\hypertarget{level-3}{%
\subsubsection{Level 3}\label{level-3}}
with no blank line
\hypertarget{level-2}{%
\subsection{Level 2}\label{level-2}}
with no blank line
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{paragraphs}{%
\section{Paragraphs}\label{paragraphs}}
Here's a regular paragraph.
In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item.
Because a hard-wrapped line in the middle of a paragraph looked like a list
item.
Here's one with a bullet. * criminey.
There should be a hard line break\\
here.
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{block-quotes}{%
\section{Block Quotes}\label{block-quotes}}
E-mail style:
\begin{quote}
This is a block quote. It is pretty short.
\end{quote}
\begin{quote}
Code in a block quote:
\begin{verbatim}
sub status {
print "working";
}
\end{verbatim}
A list:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
item one
\item
item two
\end{enumerate}
Nested block quotes:
\begin{quote}
nested
\end{quote}
\begin{quote}
nested
\end{quote}
\end{quote}
This should not be a block quote: 2 \textgreater{} 1.
And a following paragraph.
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{code-blocks}{%
\section{Code Blocks}\label{code-blocks}}
Code:
\begin{verbatim}
---- (should be four hyphens)
sub status {
print "working";
}
this code block is indented by one tab
\end{verbatim}
And:
\begin{verbatim}
this code block is indented by two tabs
These should not be escaped: \$ \\ \> \[ \{
\end{verbatim}
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{lists}{%
\section{Lists}\label{lists}}
\hypertarget{unordered}{%
\subsection{Unordered}\label{unordered}}
Asterisks tight:
\begin{itemize}
\tightlist
\item
asterisk 1
\item
asterisk 2
\item
asterisk 3
\end{itemize}
Asterisks loose:
\begin{itemize}
\item
asterisk 1
\item
asterisk 2
\item
asterisk 3
\end{itemize}
Pluses tight:
\begin{itemize}
\tightlist
\item
Plus 1
\item
Plus 2
\item
Plus 3
\end{itemize}
Pluses loose:
\begin{itemize}
\item
Plus 1
\item
Plus 2
\item
Plus 3
\end{itemize}
Minuses tight:
\begin{itemize}
\tightlist
\item
Minus 1
\item
Minus 2
\item
Minus 3
\end{itemize}
Minuses loose:
\begin{itemize}
\item
Minus 1
\item
Minus 2
\item
Minus 3
\end{itemize}
\hypertarget{ordered}{%
\subsection{Ordered}\label{ordered}}
Tight:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
First
\item
Second
\item
Third
\end{enumerate}
and:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
One
\item
Two
\item
Three
\end{enumerate}
Loose using tabs:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
First
\item
Second
\item
Third
\end{enumerate}
and using spaces:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
One
\item
Two
\item
Three
\end{enumerate}
Multiple paragraphs:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
Item 1, graf one.
Item 1. graf two. The quick brown fox jumped over the lazy dog's back.
\item
Item 2.
\item
Item 3.
\end{enumerate}
\hypertarget{nested}{%
\subsection{Nested}\label{nested}}
\begin{itemize}
\tightlist
\item
Tab
\begin{itemize}
\tightlist
\item
Tab
\begin{itemize}
\tightlist
\item
Tab
\end{itemize}
\end{itemize}
\end{itemize}
Here's another:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
First
\item
Second:
\begin{itemize}
\tightlist
\item
Fee
\item
Fie
\item
Foe
\end{itemize}
\item
Third
\end{enumerate}
Same thing but with paragraphs:
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
First
\item
Second:
\begin{itemize}
\tightlist
\item
Fee
\item
Fie
\item
Foe
\end{itemize}
\item
Third
\end{enumerate}
\hypertarget{tabs-and-spaces}{%
\subsection{Tabs and spaces}\label{tabs-and-spaces}}
\begin{itemize}
\item
this is a list item indented with tabs
\item
this is a list item indented with spaces
\begin{itemize}
\item
this is an example list item indented with tabs
\item
this is an example list item indented with spaces
\end{itemize}
\end{itemize}
\hypertarget{fancy-list-markers}{%
\subsection{Fancy list markers}\label{fancy-list-markers}}
\begin{enumerate}
\def\labelenumi{(\arabic{enumi})}
\setcounter{enumi}{1}
\item
begins with 2
\item
and now 3
with a continuation
\begin{enumerate}
\def\labelenumii{\roman{enumii}.}
\setcounter{enumii}{3}
\tightlist
\item
sublist with roman numerals, starting with 4
\item
more items
\begin{enumerate}
\def\labelenumiii{(\Alph{enumiii})}
\tightlist
\item
a subsublist
\item
a subsublist
\end{enumerate}
\end{enumerate}
\end{enumerate}
Nesting:
\begin{enumerate}
\def\labelenumi{\Alph{enumi}.}
\tightlist
\item
Upper Alpha
\begin{enumerate}
\def\labelenumii{\Roman{enumii}.}
\tightlist
\item
Upper Roman.
\begin{enumerate}
\def\labelenumiii{(\arabic{enumiii})}
\setcounter{enumiii}{5}
\tightlist
\item
Decimal start with 6
\begin{enumerate}
\def\labelenumiv{\alph{enumiv})}
\setcounter{enumiv}{2}
\tightlist
\item
Lower alpha with paren
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
Autonumbering:
\begin{enumerate}
\tightlist
\item
Autonumber.
\item
More.
\begin{enumerate}
\tightlist
\item
Nested.
\end{enumerate}
\end{enumerate}
Should not be a list item:
M.A.~2007
B. Williams
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{definition-lists}{%
\section{Definition Lists}\label{definition-lists}}
Tight using spaces:
\begin{description}
\tightlist
\item[apple]
red fruit
\item[orange]
orange fruit
\item[banana]
yellow fruit
\end{description}
Tight using tabs:
\begin{description}
\tightlist
\item[apple]
red fruit
\item[orange]
orange fruit
\item[banana]
yellow fruit
\end{description}
Loose:
\begin{description}
\item[apple]
red fruit
\item[orange]
orange fruit
\item[banana]
yellow fruit
\end{description}
Multiple blocks with italics:
\begin{description}
\item[\emph{apple}]
red fruit
contains seeds, crisp, pleasant to taste
\item[\emph{orange}]
orange fruit
\begin{verbatim}
{ orange code block }
\end{verbatim}
\begin{quote}
orange block quote
\end{quote}
\end{description}
Multiple definitions, tight:
\begin{description}
\tightlist
\item[apple]
red fruit
computer
\item[orange]
orange fruit
bank
\end{description}
Multiple definitions, loose:
\begin{description}
\item[apple]
red fruit
computer
\item[orange]
orange fruit
bank
\end{description}
Blank line after term, indented marker, alternate markers:
\begin{description}
\item[apple]
red fruit
computer
\item[orange]
orange fruit
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
sublist
\item
sublist
\end{enumerate}
\end{description}
\hypertarget{html-blocks}{%
\section{HTML Blocks}\label{html-blocks}}
Simple block on one line:
foo
And nested without indentation:
foo
bar
Interpreted markdown in a table:
This is \emph{emphasized}
And this is \textbf{strong}
Here's a simple block:
foo
This should be a code block, though:
\begin{verbatim}
<div>
foo
</div>
\end{verbatim}
As should this:
\begin{verbatim}
<div>foo</div>
\end{verbatim}
Now, nested:
foo
This should just be an HTML comment:
Multiline:
Code block:
\begin{verbatim}
<!-- Comment -->
\end{verbatim}
Just plain comment, with trailing spaces on the line:
Code:
\begin{verbatim}
<hr />
\end{verbatim}
Hr's:
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{inline-markup}{%
\section{Inline Markup}\label{inline-markup}}
This is \emph{emphasized}, and so \emph{is this}.
This is \textbf{strong}, and so \textbf{is this}.
An \emph{\href{/url}{emphasized link}}.
\textbf{\emph{This is strong and em.}}
So is \textbf{\emph{this}} word.
\textbf{\emph{This is strong and em.}}
So is \textbf{\emph{this}} word.
This is code: \texttt{\textgreater{}}, \texttt{\$}, \texttt{\textbackslash{}},
\texttt{\textbackslash{}\$}, \texttt{\textless{}html\textgreater{}}.
\sout{This is \emph{strikeout}.}
Superscripts: a\textsuperscript{bc}d a\textsuperscript{\emph{hello}}
a\textsuperscript{hello~there}.
Subscripts: H\textsubscript{2}O, H\textsubscript{23}O,
H\textsubscript{many~of~them}O.
These should not be superscripts or subscripts, because of the unescaped
spaces: a\^{}b c\^{}d, a\textasciitilde{}b c\textasciitilde{}d.
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{smart-quotes-ellipses-dashes}{%
\section{Smart quotes, ellipses, dashes}\label{smart-quotes-ellipses-dashes}}
``Hello,'' said the spider. ``\,`Shelob' is my name.''
`A', `B', and `C' are letters.
`Oak,' `elm,' and `beech' are names of trees. So is `pine.'
`He said, ``I want to go.''\,' Were you alive in the 70's?
Here is some quoted `\texttt{code}' and a
``\href{http://example.com/?foo=1\&bar=2}{quoted link}''.
Some dashes: one---two --- three---four --- five.
Dashes between numbers: 5--7, 255--66, 1987--1999.
Ellipses\ldots{}and\ldots{}and\ldots{}.
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{latex}{%
\section{LaTeX}\label{latex}}
\begin{itemize}
\tightlist
\item
\cite[22-23]{smith.1899}
\item
\(2+2=4\)
\item
\(x \in y\)
\item
\(\alpha \wedge \omega\)
\item
\(223\)
\item
\(p\)-Tree
\item
Here's some display math:
\[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\]
\item
Here's one that has a line break in it: \(\alpha + \omega \times x^2\).
\end{itemize}
These shouldn't be math:
\begin{itemize}
\tightlist
\item
To get the famous equation, write \texttt{\$e\ =\ mc\^{}2\$}.
\item
\$22,000 is a \emph{lot} of money. So is \$34,000. (It worked if ``lot'' is
emphasized.)
\item
Shoes (\$20) and socks (\$5).
\item
Escaped \texttt{\$}: \$73 \emph{this should be emphasized} 23\$.
\end{itemize}
Here's a LaTeX table:
\begin{tabular}{|l|l|}\hline
Animal & Number \\ \hline
Dog & 2 \\
Cat & 1 \\ \hline
\end{tabular}
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{special-characters}{%
\section{Special Characters}\label{special-characters}}
Here is some unicode:
\begin{itemize}
\tightlist
\item
I hat: Î
\item
o umlaut: ö
\item
section: §
\item
set membership: ∈
\item
copyright: ©
\end{itemize}
AT\&T has an ampersand in their name.
AT\&T is another way to write it.
This \& that.
4 \textless{} 5.
6 \textgreater{} 5.
Backslash: \textbackslash{}
Backtick: `
Asterisk: *
Underscore: \_
Left brace: \{
Right brace: \}
Left bracket: {[}
Right bracket: {]}
Left paren: (
Right paren: )
Greater-than: \textgreater{}
Hash: \#
Period: .
Bang: !
Plus: +
Minus: -
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{links}{%
\section{Links}\label{links}}
\hypertarget{explicit}{%
\subsection{Explicit}\label{explicit}}
Just a \href{/url/}{URL}.
\href{/url/}{URL and title}.
\href{/url/}{URL and title}.
\href{/url/}{URL and title}.
\href{/url/}{URL and title}
\href{/url/}{URL and title}
\href{/url/with_underscore}{with\_underscore}
\href{mailto:nobody@nowhere.net}{Email link}
\href{}{Empty}.
\hypertarget{reference}{%
\subsection{Reference}\label{reference}}
Foo \href{/url/}{bar}.
With \href{/url/}{embedded {[}brackets{]}}.
\href{/url/}{b} by itself should be a link.
Indented \href{/url}{once}.
Indented \href{/url}{twice}.
Indented \href{/url}{thrice}.
This should {[}not{]}{[}{]} be a link.
\begin{verbatim}
[not]: /url
\end{verbatim}
Foo \href{/url/}{bar}.
Foo \href{/url/}{biz}.
\hypertarget{with-ampersands}{%
\subsection{With ampersands}\label{with-ampersands}}
Here's a \href{http://example.com/?foo=1\&bar=2}{link with an ampersand in the
URL}.
Here's a link with an amersand in the link text:
\href{http://att.com/}{AT\&T}.
Here's an \href{/script?foo=1\&bar=2}{inline link}.
Here's an \href{/script?foo=1\&bar=2}{inline link in pointy braces}.
\hypertarget{autolinks}{%
\subsection{Autolinks}\label{autolinks}}
With an ampersand: \url{http://example.com/?foo=1\&bar=2}
\begin{itemize}
\tightlist
\item
In a list?
\item
\url{http://example.com/}
\item
It should.
\end{itemize}
An e-mail address:
\href{mailto:nobody@nowhere.net}{\nolinkurl{nobody@nowhere.net}}
\begin{quote}
Blockquoted: \url{http://example.com/}
\end{quote}
Auto-links should not occur here:
\texttt{\textless{}http://example.com/\textgreater{}}
\begin{verbatim}
or here: <http://example.com/>
\end{verbatim}
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{images}{%
\section{Images}\label{images}}
From ``Voyage dans la Lune'' by Georges Melies (1902):
\begin{figure}
\centering
\includegraphics{lalune.jpg}
\caption{lalune}
\end{figure}
Here is a movie \includegraphics{movie.jpg} icon.
\begin{center}\rule{0.5\linewidth}{\linethickness}\end{center}
\hypertarget{footnotes}{%
\section{Footnotes}\label{footnotes}}
Here is a footnote reference,\footnote{Here is the footnote. It can go
anywhere after the footnote reference. It need not be placed at the end of
the document.} and another.\footnote{Here's the long note. This one contains
multiple blocks.
Subsequent blocks are indented to show that they belong to the footnote (as
with list items).
\begin{Verbatim}
{ <code> }
\end{Verbatim}
If you want, you can indent every line, but you can also be lazy and just
indent the first line of each block.} This should \emph{not} be a footnote
reference, because it contains a space.{[}\^{}my note{]} Here is an inline
note.\footnote{This is \emph{easier} to type. Inline notes may contain
\href{http://google.com}{links} and \texttt{{]}} verbatim characters, as
well as {[}bracketed text{]}.}
\begin{quote}
Notes can go in quotes.\footnote{In quote.}
\end{quote}
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
And in list items.\footnote{In list.}
\end{enumerate}
This paragraph should not be part of the note, as it is not indented.
\end{document}