A pandoc LaTeX template to convert markdown files to PDF or LaTeX.
Go to file
2017-10-05 17:03:20 +02:00
examples Accidentally switched the files to copy. 2017-10-02 18:20:27 +02:00
.travis.yml Travis: Do not install longtable with tlmgr as it breaks the build. 2017-06-13 19:53:10 +02:00
eisvogel.tex Cleaned up the table color definition. 2017-10-05 17:03:20 +02:00
icon.png Changed icon size. 2017-06-13 19:21:42 +02:00
icon.svg Changed icon size. 2017-06-13 19:21:42 +02:00
LICENSE Changed license to BSD 3-clause. 2017-02-28 15:48:51 +01:00
README.md Renamed the template file toeisvogel.tex. 2017-09-24 13:05:27 +02:00

Eisvogel

Build Status

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.

Preview

A custom title page A basic example page
A custom title page A basic example page

Installation

  1. Install pandoc from http://pandoc.org/. You also need to install LaTeX.

  2. Move the template eisvogel.tex to your pandoc templates folder and rename the file to eisvogel.latex.The location of the templates folder depends on your operating system:

    • Unix, Linux, macOS: ~/.pandoc/templates/
    • Windows XP: C:\Documents And Settings\USERNAME\Application Data\pandoc
    • Windows Vista or later: C:\Users\USERNAME\AppData\Roaming\pandoc

    If there are no folders called templates or pandoc you need to create them and put the template eisvogel.latex inside.

Usage

  1. Open the terminal and navigate to the folder where your markdown file is located.

  2. 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
tags: [Markdown, Example]
...

Here is the actual document text...

Examples

Numbered Sections

For PDFs with numbered sections use the --number-sections or -N option.

pandoc example.md -o example.pdf --template eisvogel --number-sections

Syntax Highlighting with Listings

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

Syntax Highlighting Without 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

Standalone LaTeX Document

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

Changing the Document Language

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 code 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

License

This project is open source licensed under the BSD 3-Clause License. Please see the LICENSE file for more information.