Leosar
Leosar

Reputation: 2072

Set double spacing and line numbers when converting from Markdown to PDF with pandoc

I am using markdown & pandoc for scientific writing, I know I can change margins of the final pdf using

Set margin size when converting from Markdown to PDF with pandoc

but very often the journals require double lines and line numbers in submitted manuscripts, the question is how to change these, I don't know much about LaTex so I am lost in that jungle.

Thanks!

Upvotes: 21

Views: 20931

Answers (3)

naught101
naught101

Reputation: 19553

In more recent version of Pandoc, you can use a YAML header and include a bunch of metadata in that, instead of using options on the command line. So, for instance, you can put this at the top of your .md file:

---
title: The Document Title
author:
    - Your Name
    - Co Author
date: \today{}
geometry: margin=2cm
header-includes:
    - \usepackage{setspace}
    - \doublespacing
    - \usepackage{lineno}
    - \linenumbers
---

Document Text

and pandoc will read those options and apply them automatically.

Upvotes: 41

Leosar
Leosar

Reputation: 2072

There is maybe an easy way: generate a file with the packages we need

 \usepackage{setspace}
 \doublespacing
 \usepackage[vmargin=1in,hmargin=1in]{geometry}
 \usepackage{lineno}
 \linenumbers

I named it options.sty. And use the -H FILE option that includes the content of the FILE at the end of the preamble. (as used in https://github.com/karthikram/smb_git)

 pandoc -H options.sty --bibliography mypaper.bib mypaper.md -o mypaper.pdf 

The advantage is that we don't need to edit the template. To add linenumbers, change margins, and set spacing it works.

Upvotes: 24

John MacFarlane
John MacFarlane

Reputation: 8937

You'll need to use a custom LaTeX template. First, use pandoc to create a copy of the default template:

pandoc -D latex > mytemplate.latex

Now edit this template. Somewhere in the preamble (between \documentclass{...} and \begin{document}), insert the lines

\usepackage{setspace}
\doublespacing

Then, to use your custom template:

pandoc --template mytemplate.latex mypaper.txt -o mypaper.tex

Upvotes: 13

Related Questions