“LaTeX Error: Can be used only in preamble” even though all directives before begin directive
up vote
1
down vote
favorite
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?
pandoc preamble markdown
add a comment |
up vote
1
down vote
favorite
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?
pandoc preamble markdown
In markdown you need a YAML header, notdocumentclass{article}
. Use something like- header-includes: -usepackage{unicode-math} -setmainfont{TeX Gyre Schola} -setmathfont{TeX Gyre Schola Math}
. See, for example, How to include LaTeX package in R Markdown?
– Werner
1 hour ago
@Werner - ah ya .. I have other docs doing that and will go copy and paste from them. Pls make this an answer
– javadba
1 hour ago
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
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?
pandoc preamble markdown
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?
pandoc preamble markdown
pandoc preamble markdown
edited 1 hour ago
asked 4 hours ago
javadba
1085
1085
In markdown you need a YAML header, notdocumentclass{article}
. Use something like- header-includes: -usepackage{unicode-math} -setmainfont{TeX Gyre Schola} -setmathfont{TeX Gyre Schola Math}
. See, for example, How to include LaTeX package in R Markdown?
– Werner
1 hour ago
@Werner - ah ya .. I have other docs doing that and will go copy and paste from them. Pls make this an answer
– javadba
1 hour ago
add a comment |
In markdown you need a YAML header, notdocumentclass{article}
. Use something like- header-includes: -usepackage{unicode-math} -setmainfont{TeX Gyre Schola} -setmathfont{TeX Gyre Schola Math}
. See, for example, How to include LaTeX package in R Markdown?
– Werner
1 hour ago
@Werner - ah ya .. I have other docs doing that and will go copy and paste from them. Pls make this an answer
– javadba
1 hour ago
In markdown you need a YAML header, not
documentclass{article}
. Use something like - header-includes: -usepackage{unicode-math} -setmainfont{TeX Gyre Schola} -setmathfont{TeX Gyre Schola Math}
. See, for example, How to include LaTeX package in R Markdown?– Werner
1 hour ago
In markdown you need a YAML header, not
documentclass{article}
. Use something like - header-includes: -usepackage{unicode-math} -setmainfont{TeX Gyre Schola} -setmathfont{TeX Gyre Schola Math}
. See, for example, How to include LaTeX package in R Markdown?– Werner
1 hour ago
@Werner - ah ya .. I have other docs doing that and will go copy and paste from them. Pls make this an answer
– javadba
1 hour ago
@Werner - ah ya .. I have other docs doing that and will go copy and paste from them. Pls make this an answer
– javadba
1 hour ago
add a comment |
2 Answers
2
active
oldest
votes
up vote
2
down vote
accepted
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:
---
title: "Some title"
author: "Some author"
header-includes:
- usepackage{unicode-math}
- setmainfont{TeX Gyre Schola}
- setmathfont{TeX Gyre Schola Math}
output:
pdf_document
---
## Custom F1 Score For Scoring of Graph Matching
### Overview
...
Also see How to include LaTeX package in R Markdown?
ya i forgot to add thatyaml
header.
– javadba
59 mins ago
1
In newer versions of pandoc you can set the fonts directly:mainfont: 'TeX Gyre Schola'
andmathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex
– DG'
23 mins ago
add a comment |
up vote
1
down vote
It seems you have two problems.
The first is that you need to escape the #
symbols (i.e. like #
).
The second is your pandoc command. You need to add --from latex
to it, like this:
pandoc -V fontsize=9pt --from latex --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.md
I'm not entirely sure why you are using LaTeX code in a Markdown file, however. When I change your command to:
pandoc -V fontsize=9pt --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.tex
And the file from .md
to .tex
, it also fixes the problem. It seems more natural to just keep it as a .tex
file, because it is a .tex
file. Not sure if I misunderstood something?
"escape the #" huh ? this absolutely ismarkdown
. I have truncated a couple hundred line markdown file to show just thetex
related portion of it.
– javadba
1 hour ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
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:
---
title: "Some title"
author: "Some author"
header-includes:
- usepackage{unicode-math}
- setmainfont{TeX Gyre Schola}
- setmathfont{TeX Gyre Schola Math}
output:
pdf_document
---
## Custom F1 Score For Scoring of Graph Matching
### Overview
...
Also see How to include LaTeX package in R Markdown?
ya i forgot to add thatyaml
header.
– javadba
59 mins ago
1
In newer versions of pandoc you can set the fonts directly:mainfont: 'TeX Gyre Schola'
andmathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex
– DG'
23 mins ago
add a comment |
up vote
2
down vote
accepted
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:
---
title: "Some title"
author: "Some author"
header-includes:
- usepackage{unicode-math}
- setmainfont{TeX Gyre Schola}
- setmathfont{TeX Gyre Schola Math}
output:
pdf_document
---
## Custom F1 Score For Scoring of Graph Matching
### Overview
...
Also see How to include LaTeX package in R Markdown?
ya i forgot to add thatyaml
header.
– javadba
59 mins ago
1
In newer versions of pandoc you can set the fonts directly:mainfont: 'TeX Gyre Schola'
andmathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex
– DG'
23 mins ago
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
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:
---
title: "Some title"
author: "Some author"
header-includes:
- usepackage{unicode-math}
- setmainfont{TeX Gyre Schola}
- setmathfont{TeX Gyre Schola Math}
output:
pdf_document
---
## Custom F1 Score For Scoring of Graph Matching
### Overview
...
Also see How to include LaTeX package in R Markdown?
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:
---
title: "Some title"
author: "Some author"
header-includes:
- usepackage{unicode-math}
- setmainfont{TeX Gyre Schola}
- setmathfont{TeX Gyre Schola Math}
output:
pdf_document
---
## Custom F1 Score For Scoring of Graph Matching
### Overview
...
Also see How to include LaTeX package in R Markdown?
answered 1 hour ago
Werner
434k619531639
434k619531639
ya i forgot to add thatyaml
header.
– javadba
59 mins ago
1
In newer versions of pandoc you can set the fonts directly:mainfont: 'TeX Gyre Schola'
andmathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex
– DG'
23 mins ago
add a comment |
ya i forgot to add thatyaml
header.
– javadba
59 mins ago
1
In newer versions of pandoc you can set the fonts directly:mainfont: 'TeX Gyre Schola'
andmathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex
– DG'
23 mins ago
ya i forgot to add that
yaml
header.– javadba
59 mins ago
ya i forgot to add that
yaml
header.– javadba
59 mins ago
1
1
In newer versions of pandoc you can set the fonts directly:
mainfont: 'TeX Gyre Schola'
and mathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex– DG'
23 mins ago
In newer versions of pandoc you can set the fonts directly:
mainfont: 'TeX Gyre Schola'
and mathfont: 'TeX Gyre Schola Math'
, cf. pandoc.org/MANUAL.html#variables-for-latex– DG'
23 mins ago
add a comment |
up vote
1
down vote
It seems you have two problems.
The first is that you need to escape the #
symbols (i.e. like #
).
The second is your pandoc command. You need to add --from latex
to it, like this:
pandoc -V fontsize=9pt --from latex --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.md
I'm not entirely sure why you are using LaTeX code in a Markdown file, however. When I change your command to:
pandoc -V fontsize=9pt --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.tex
And the file from .md
to .tex
, it also fixes the problem. It seems more natural to just keep it as a .tex
file, because it is a .tex
file. Not sure if I misunderstood something?
"escape the #" huh ? this absolutely ismarkdown
. I have truncated a couple hundred line markdown file to show just thetex
related portion of it.
– javadba
1 hour ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
add a comment |
up vote
1
down vote
It seems you have two problems.
The first is that you need to escape the #
symbols (i.e. like #
).
The second is your pandoc command. You need to add --from latex
to it, like this:
pandoc -V fontsize=9pt --from latex --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.md
I'm not entirely sure why you are using LaTeX code in a Markdown file, however. When I change your command to:
pandoc -V fontsize=9pt --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.tex
And the file from .md
to .tex
, it also fixes the problem. It seems more natural to just keep it as a .tex
file, because it is a .tex
file. Not sure if I misunderstood something?
"escape the #" huh ? this absolutely ismarkdown
. I have truncated a couple hundred line markdown file to show just thetex
related portion of it.
– javadba
1 hour ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
add a comment |
up vote
1
down vote
up vote
1
down vote
It seems you have two problems.
The first is that you need to escape the #
symbols (i.e. like #
).
The second is your pandoc command. You need to add --from latex
to it, like this:
pandoc -V fontsize=9pt --from latex --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.md
I'm not entirely sure why you are using LaTeX code in a Markdown file, however. When I change your command to:
pandoc -V fontsize=9pt --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.tex
And the file from .md
to .tex
, it also fixes the problem. It seems more natural to just keep it as a .tex
file, because it is a .tex
file. Not sure if I misunderstood something?
It seems you have two problems.
The first is that you need to escape the #
symbols (i.e. like #
).
The second is your pandoc command. You need to add --from latex
to it, like this:
pandoc -V fontsize=9pt --from latex --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.md
I'm not entirely sure why you are using LaTeX code in a Markdown file, however. When I change your command to:
pandoc -V fontsize=9pt --pdf-engine xelatex -V geometry:"left=2cm,right=2cm,top=2cm,bottom=2cm" -o myDoc.pdf myDoc.tex
And the file from .md
to .tex
, it also fixes the problem. It seems more natural to just keep it as a .tex
file, because it is a .tex
file. Not sure if I misunderstood something?
answered 1 hour ago
whatisit
427213
427213
"escape the #" huh ? this absolutely ismarkdown
. I have truncated a couple hundred line markdown file to show just thetex
related portion of it.
– javadba
1 hour ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
add a comment |
"escape the #" huh ? this absolutely ismarkdown
. I have truncated a couple hundred line markdown file to show just thetex
related portion of it.
– javadba
1 hour ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
"escape the #" huh ? this absolutely is
markdown
. I have truncated a couple hundred line markdown file to show just the tex
related portion of it.– javadba
1 hour ago
"escape the #" huh ? this absolutely is
markdown
. I have truncated a couple hundred line markdown file to show just the tex
related portion of it.– javadba
1 hour ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
@javadba it was difficult to tell. Looked like TeX, but you were saying Markdown, so I was a little confused what you were aiming for. I decided to go the route of the document provided, whereas Werner went the route that you said in your post :) Anyhow, glad it worked out with his answer.
– whatisit
33 mins ago
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f464444%2flatex-error-can-be-used-only-in-preamble-even-though-all-directives-before-be%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
In markdown you need a YAML header, not
documentclass{article}
. Use something like- header-includes: -usepackage{unicode-math} -setmainfont{TeX Gyre Schola} -setmathfont{TeX Gyre Schola Math}
. See, for example, How to include LaTeX package in R Markdown?– Werner
1 hour ago
@Werner - ah ya .. I have other docs doing that and will go copy and paste from them. Pls make this an answer
– javadba
1 hour ago