In the following simplified version of a `markdown`

doc intended for `pandoc`

/`latex`

generation to `pdf:

```
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Schola}
\setmathfont{TeX Gyre Schola Math}
\begin{document}
## Custom F1 Score For Scoring of Graph Matching
### Overview
The `F1 Score` is intended to compare two sets:
- Truth Set
- Actuals Set
Its calculation is:
$$F_{\beta} = (1 + \beta^2) \cdot \frac{\mathrm{precision_k} \cdot \mathrm{recall_k^2}}{(\beta^2 \cdot \mathrm{precision_k}) + \mathrm{recall_k}}$$
\end{document}
```

Notice that all of the `preamble`

directives happen before the

`begin{document}`

The *pdf* is generated via `pandoc`

:

```
$pandoc -V fontsize=9pt --pdf-engine xelatex -V
geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.md
```

The following error is produced:

```
Error producing PDF.
! LaTeX Error: Can be used only in preamble.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.60 \documentclass
```

What is incorrect here for bringing in a mathsy font?

## Best Answer

The conversion of a markdown document places content within a YAML header within the preamble. However, since there is no YAML header specified, the contents is assumed to form part of the regular document body. As such,

`\documentclass`

(and the rest) ends up after`\begin{document}`

and not in the preamble. Hence, the error "Can be used only in preamble" and pointing to`\documentclass`

...You'll need something like this:

Also see How to include LaTeX package in R Markdown?