A clean pandoc LaTeX template to convert your markdown files to PDF or LaTeX. It is designed for lecture notes and exercises with a focus on computer science. The template is compatible with pandoc 2.
A custom title page | A basic example page |
---|---|
Install pandoc from http://pandoc.org/. You also need to install LaTeX.
Download the latest version of the Eisvogel template from the release page.
Extract the downloaded ZIP archive and open the folder.
Move the template eisvogel.latex
to your pandoc templates folder. The location of the templates folder depends on your operating system:
/Users/USERNAME/.local/share/pandoc/templates/
or /Users/USERNAME/.pandoc/templates/
C:\Users\USERNAME\AppData\Roaming\pandoc\templates\
If there are no folders called templates
or pandoc
you need to create them and put the template eisvogel.latex
inside. You can find the default user data directory on your system by looking at the output of pandoc --version
.
Open the terminal and navigate to the folder where your markdown file is located.
Execute the following command
pandoc example.md -o example.pdf --from markdown --template eisvogel --listings
where example.md
is the markdown file you want to convert to PDF.
In order to have nice headers and footers you need to supply metadata to your document. You can do that with a YAML metadata block at the top of your markdown document (see the example markdown file). Your markdown document may look like the following:
---
title: "The Document Title"
author: [Example Author, Another Author]
date: "2017-02-20"
keywords: [Markdown, Example]
...
Here is the actual document text...
This template defines some new variables to control the appearance of the resulting PDF document. The existing template variables from pandoc are all supported and their documentation can be found in the pandoc manual.
titlepage
(defaults to false
)
turns on the title page when true
titlepage-color
the background color of the title page. The color value must be given as an HTML hex color like D8DE2C
without the leading number sign (#
). When specifying the color in YAML, it is advisable to enclose it in quotes like so titlepage-color: "D8DE2C"
to avoid the truncation of the color (e.g. 000000
becoming 0
).
titlepage-text-color
(defaults to 5F5F5F
)
the text color of the title page
titlepage-rule-color
(defaults to 435488
)
the color of the rule on the top of the title page
titlepage-rule-height
(defaults to 4
)
the height of the rule on the top of the title page (in points)
titlepage-background
the path to a background image for the title page. The background image is scaled to cover the entire page. In the examples folder under titlepage-background
are a few example background images.
page-background
the path to a background image for any page. The background image is scaled to cover the entire page. In the examples folder under page-background
are a few example background images.
page-background-opacity
(defaults to 0.2
)
the background image opacity
caption-justification
(defaults to raggedright
)
justification setting for captions (uses the justification
parameter of the caption package)
toc-own-page
(defaults to false
)
begin new page after table of contents, when true
listings-disable-line-numbers
(defaults to false
)
disables line numbers for all listings
listings-no-page-break
(defaults to false
)
avoid page break inside listings
disable-header-and-footer
(default to false
)
disables the header and footer completely on all pages
header-left
(defaults to the title)
the text on the left side of the header
header-center
the text in the center of the header
header-right
(defaults to the date)
the text on the right side of the header
footer-left
(defaults to the author)
the text on the left side of the footer
footer-center
the text in the center of the footer
footer-right
(defaults to the page number)
the text on the right side of the footer
footnotes-pretty
(defaults to false
)
prettifies formatting of footnotes (requires package footmisc
)
footnotes-disable-backlinks
(defaults to false
)
disables making the reference from the footnote at the bottom of the page into a link back to the occurence of the footnote in the main text (enabling requires package footnotebackref
).
book
(defaults to false
)
typeset as book
logo
path to an image that will be displayed on the title page. The path is always relative to where pandoc is executed. The option --resource-path
has no effect.
logo-width
(defaults to 35mm
)
the width of the logo. One needs to specify the width with a (TeX) unit e.g. 100pt
or 35mm
. The following units can be used:
pt
: Pointpc
: pica (12 pt
)in
: inch (72.27 pt
)bp
: Big point (72 bp
= 1 in
)cm
: Centimetermm
: Millimeterdd
: Didot pointcc
: cicero (12 dd
)sp
: Scaled point (65,536 sp
= 1 pt
)ex
: Nomimal x-heightem
: Nominal m-widthpx
: Pixel (only for pdfTeX and LuaTeX) The dimension given to the \pdfpxdimen
primitive; default value is 1 bp
, corresponding to a pixel density of 72 dpi.A visual overview of the length units is available at https://github.com/tweh/tex-units.
first-chapter
(defaults to 1
)
if typesetting a book with chapter numbers, specifies the number that will be assigned to the first chapter
float-placement-figure
(defaults to H
)
Reset the default placement specifier for figure environments to the supplied value e.g. htbp
. The available specifiers are listed below. The first four placement specifiers can be combined.
h
: Place the float here, i.e., approximately at the same point it occurs in the source text.t
: Place the float at the top of the page.b
: Place the float at the bottom of the page.p
: Place the float on the next page that will contain only floats like figures and tables.H
: Place the float HERE (exactly where it occurs in the source text). The H
specifier is provided by the float package and may not be used in conjunction with any other placement specifiers.table-use-row-colors
(defaults to false
)
enables row colors for tables. The default value is false
because the coloring extends beyond the edge of the table and there is currently no way to change that.
code-block-font-size
(defaults to \small
)
LaTeX command to change the font size for code blocks. The available values are \tiny
, \scriptsize
, \footnotesize
, \small
, \normalsize
, \large
, \Large
, \LARGE
, \huge
and \Huge
. This option will change the font size for default code blocks using the verbatim environment and for code blocks generated with listings.
LaTeX manages addons and additional functionality in so called packages. Youmight get the following error when compiling a document with the Eisvogeltemplate:
! LaTeX Error: File `footnotebackref.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
Enter file name:
! Emergency stop.
<read *>
LaTeX informs you that the additional package footnotebackref
is required torender the document.
Eisvogel requires a full texlive distribution that can be installed by runningapt-get install texlive-full
in the terminal. Because texlive-full
is verylarge (about 5 Gigabytes) you can also install the smaller texlive bundles andadd any missing packages manually.
A smaller texlive bundle is texlive-latex-extra
. With texlive-latex-extra
you also need to install these packages manually:
adjustbox babel-german background bidi collectbox csquotes everypage filehook
footmisc footnotebackref framed fvextra letltxmacro ly1 mdframed mweights
needspace pagecolor sourcecodepro sourcesanspro titling ucharcat ulem
unicode-math upquote xecjk xurl zref
Install them with the following command:
tlmgr install adjustbox babel-german background bidi collectbox csquotes everypage filehook footmisc footnotebackref framed fvextra letltxmacro ly1 mdframed mweights needspace pagecolor sourcecodepro sourcesanspro titling ucharcat ulem unicode-math upquote xecjk xurl zref
Additional information about the different texlive packages can be found atthis TeX-StackExchange answer: https://tex.stackexchange.com/a/504566
If you don't want to install all missing packages manually, MiKTeX might bean alternative.
MiKTeX has the ability to automatically install missing packages.You can turn this feature on or off. And you can let MiKTeX ask you each time a package has to be installed:
- Click
Settings
to navigate to the settings page.- Click the
General
tab.- Click one of the radio buttons:
Ask me
Always install missing packages on-the-fly
Never install missing packages on-the-fly
For PDFs with numbered sections use the --number-sections
or -N
option.
pandoc example.md -o example.pdf --template eisvogel --number-sections
You can get syntax highlighting of delimited code blocks by using the LaTeX package listings with the option --listings
. This example will produce the same syntax highlighting as in the example PDF.
pandoc example.md -o example.pdf --template eisvogel --listings
The following examples show syntax highlighting of delimited code blocks without using listings. To see a list of all the supported highlight styles, type pandoc --list-highlight-styles
.
pandoc example.md -o example.pdf --template eisvogel --highlight-style pygments
pandoc example.md -o example.pdf --template eisvogel --highlight-style kate
pandoc example.md -o example.pdf --template eisvogel --highlight-style espresso
pandoc example.md -o example.pdf --template eisvogel --highlight-style tango
To produce a standalone LaTeX document for compiling with any LaTeX editor use .tex
as an output file extension.
pandoc example.md -o example.tex --template eisvogel
The default language of this template is American English. The lang
variable identifies the main language of the document, using a code according to BCP 47 (e.g. en
or en-GB
). For an incomplete list of the supported language codes see the documentation for the hyph-utf8 package (Section 2). The following example changes the language to British English:
pandoc example.md -o example.pdf --template eisvogel -V lang=en-GB
The following example changes the language to German:
pandoc example.md -o example.pdf --template eisvogel -V lang=de
To typeset a book supply the template variable -V book
from the command line or via book: true
in the metadata.
To get the correct chapter headings you need to tell pandoc that it should convert first level headings (indicated by one #
in markdown) to chapters with the command line option --top-level-division=chapter
. Chapter numbers start at 1. If you need to change that, specify first-chapter
in the template variables.
There will be one blank page before each chapter because the template is two-sided per default. So if you plan to publish your book as a PDF and don’t need a blank page you should add the class option onesided
which can be done by supplying a template variable -V classoption=oneside
.
A green title page | A background image on the title page |
---|---|
images and tables | Code blocks styled without listings |
---|---|
A book | Code blocks styled with listings |
---|---|
A background images on all pages | CJK Support (when using XeLaTeX) |
---|---|
The following section lists common errors and their solutions when using theEisvogel template.
Missing endcsname inserted
or File x not found
when using titlepage-background
or logo
Error producing PDF.
! Missing endcsname inserted.
<to be read again>
protect
Error producing PDF.
! Package pdftex.def Error: File `logo\T1\textunderscoreimage.pdf' not fou
nd: using draft setting.
See the pdftex.def package documentation for explanation.
Type H <return> for immediate help.
These errors occur when one includes a background image on the title page or alogo that has an underscore (_
) in the filename.
A quick fix would be to replace all underscores in the filename of the imagewith a hyphen (-
). If the background image is specified in your YAML frontmatter like so,
titlepage-background: "background_image.pdf"
you can advise pandoc to interpret this as LaTeX and include it in the documentwithout parsing.
titlepage-background: "`background_image.pdf`{=latex}"
The same fix can be used for the logo image as well:
logo: "`logo_image.pdf`{=latex}"
Corresponding issues:
Missing \begin{document}
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.7 <
!DOCTYPE html>
! ==> Fatal error occurred, no output PDF file produced!
This error indicates that you try to use some text file for conversion that isnot the Eisvogel template. Please download the latest Eisvogel template from the releases page and start the conversion again.
auto expansion is only possible with scalable fonts
Error producing PDF.
! pdfTeX error (font expansion): auto expansion is only possible with scalable
fonts.
\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
\fi \fi
l.643 \begin{lstlisting}
This error likely occurs on Windows with MiKTeX installed. StackOverflow userKrebto provided the following fix:
To solve the problem navigate to
C:\Program Files\MiKTeX 2.9\miktex\bin\x64
and runupdmap.exe
. The program may seem as it hangs for a while, but its probably because it tries to update the whole font tree. This solved the problem for me. After re-compiling everything should work fine.
Corresponding issue:
cannot find image file
Error producing PDF.
! error: (file "/tmp/tex2pdf.-be734e802ef6d0c3/""fdcfc29edcf252186f1b0a52f18f50
43abaeb2d0".png) (pdf backend): cannot find image file '"/tmp/tex2pdf.-be734e802
ef6d0c3/""fdcfc29edcf252186f1b0a52f18f5043abaeb2d0".png'
! ==> Fatal error occurred, no output PDF file produced!
In general this error means that LaTeX is unable to find the included imagefile. Please check all image references and file names for correctness.
This error also occurs if you use an old version of Eisvogel with the packagegrffile
and have an old LaTeX distribution installed. Please update Eisvogeland your LaTeX distribution.
Corresponding issues:
This project is open source licensed under the BSD 3-Clause License. Please see the LICENSE file for more information.
pandoc转pdf文件用的latex模板介绍(Linux环境) 关于pandoc工具使用latex模板将md文件转pdf文件还是有很长路要走的,如果执着于用它来做精美排版啥的那就是长路漫漫! 本篇主要讲pandoc使用的latex模板以及使用模板过程中遇到的一些问题 我也是不断学习摸索将此过程中遇到的问题进行总结,便于后续查看,如有不足,还请不吝赐教。 latex模板 pandoc用户指南tem
环境所使用的插件有pandoc,tlmgr,fc-listcss brew install pandoc 由于mac ox 系统生成pdf 须要找到对应的编码集 全部还须要去下载LaTeX,进行安装html5 使用tlmgr工具安装全部要的包先进行更新,若是提示所须要的字体没有找到安装git sudo tlmgr update --self tlmgr install collection-fon
使用命令: pandoc ai_my_version.tex -o output.docx -w docx \ --reference-doc 02-Springer-Paper-Template.docx \ --filter pandoc-crossref \ --bibliography=ref.bib \ --citeproc --csl springer-
利用pandoc把latex文件转换为word的基本操作:https://blog.csdn.net/weixin_39504048/article/details/80999030?utm_source=blogxgwz3
1. 需求 下载pandoc Eisvogel Eisvogel模版,用于将markdown文件转化为pdf和tex 以及MikTex 安装宏包时,提示/**/sw-vers不是文件或者文件夹,在PATH中添加/usr/bin后解决 2. 使用 在开头进行定制 --- title: "如何使用 pandoc 和 latex 制作漂亮的 pdf" subtitle: "" author: [Tuya
Pandoc 可将多种文档格式,包括:markdown, reStructuredText, textile, HTML, DocBook, or LaTeX 转成: HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, Slideous, S5, or DZSlides. Word processor formats: Mic
我正在构建一个Rails应用程序,我正在寻找一种方法,将带有html和内联MathJax math(TeX)的数据库条目转换为LaTeX,以便创建pdf。 我发现了类似的问题: 使用pandoc将html mathjax转换为markdown 如何使用pandoc将带有mathjax的HTML转换为latex 我在这里看到两个选择: 创建一个Haskell可执行文件,在将html转换为LaTeX时
Pandoc Markdown template This repository is a small collection of personal Markdown templates for Pandoc. Each directory contains a working template and example PDF output. Requirements Be sure to hav
来源:Markdown+Pandoc,打通写作界的任督二脉! Markdown+Pandoc,可以把自己的写作内容,变成世界上已有的任何格式的文件,包括很炫的slide,html5。没有人(或者我没看到)总结过这些内容,导致我走了很多弯路才最终打通任督二脉,特此纪念。 了解Markdwon以后,我的写作世界,只有它;看到Pandoc格式转换以后,对生成的slide和pdf羡慕的不行。那时,自己期望
pandoc-plot A Pandoc filter to generate figures from code blocks in documents pandoc-plot turns code blocks present in your documents (Markdown, LaTeX, etc.) into embedded figures, using your plotting
Pandoc Starter This repository contains a number of files for getting started with Pandoc. Eachexample comes with: A README.md, describing the type of document and usage A Makefile, for building the d