This repository contains a simple template for building Pandoc documents; Pandoc is a suite of tools to compile markdown files into readable files (PDF, EPUB, HTML...).
Please, check this page for more information. On ubuntu, it can be installed as the pandoc package:
sudo apt-get install pandoc
This template uses make to build the output files, so don't forget to install it too:
sudo apt-get install make
To export to PDF files, make sure to install the following packages:
sudo apt-get install texlive-latex-base texlive-latex-recommended \
texlive-latex-extra texlive-fonts-recommended
Here's a folder structure for a Pandoc book:
my-book/ # Root directory.
|- build/ # Folder used to store builded (output) files.
|- chapters/ # Markdowns files; one for each chapter.
|- images/ # Images folder.
| |- cover.png # Cover page for epub.
|- metadata.yml # Metadata content (title, author...).
|- Makefile # Makefile used for building our books.
Edit the metadata.yml file to set configuration data:
---
title: My book title
author: Daniel Herzog
rights: Creative Commons Attribution 4.0 International
language: en-US
tags: [book, my-book, etc]
abstract: |
Your summary text.
---
You can find the list of all available keys on this page.
Creating a new chapter is as simple as creating a new markdown file in the chapters/ folder; you'll end up with something like this:
chapters/01-introduction.md
chapters/02-installation.md
chapters/03-usage.md
chapters/04-references.md
Pandoc and Make will join them automatically ordered by name; that's why the numeric prefixes are being used.
All you need to specify for each chapter at least one title:
# Introduction
This is the first paragraph of the introduction chapter.
## First
This is the first subsection.
## Second
This is the second subsection.
Each title (#) will represent a chapter, while each subtitle (##) will represent a chapter's section. You can use as many levels of sections as markdown supports.
Anchor links can be used to link chapters within the book:
// chapters/01-introduction.md
# Introduction
For more information, check the [Usage] chapter.
// chapters/02-installation.md
# Usage
...
If you want to rename the reference, use this syntax:
For more information, check [this](#usage) chapter.
Anchor names should be downcased, and spaces, colons, semicolons... should be replaced with hyphens. Instead of Chapter title: A new era
, you have: #chapter-title-a-new-era
.
It's the same as anchor links:
# Introduction
## First
For more information, check the [Second] section.
## Second
...
Or, with al alternative name:
For more information, check [this](#second) section.
Text. That's cool. What about images and tables?
Use Markdown syntax to insert an image with a caption:
![A cool seagull.](images/seagull.png)
Pandoc will automatically convert the image into a figure (image + caption).
If you want to resize the image, you may use this syntax, available in Pandoc 1.16:
![A cool seagull.](images/seagull.png){ width=50% height=50% }
Also, to reference an image, use LaTeX labels:
Please, admire the gloriousnes of Figure \ref{seagull_image}.
![A cool seagull.\label{seagull_image}](images/seagull.png)
Use markdown table, and use the Table: <Your table description>
syntax to add a caption:
| Index | Name |
| ----- | ---- |
| 0 | AAA |
| 1 | BBB |
| ... | ... |
Table: This is an example table.
If you want to reference a table, use LaTeX labels:
Please, check Table /ref{example_table}.
| Index | Name |
| ----- | ---- |
| 0 | AAA |
| 1 | BBB |
| ... | ... |
Table: This is an example table.\label{example_table}
Wrap a LaTeX math equation between $
delimiters for inline (tiny) formulas:
This, $\mu = \sum_{i=0}^{N} \frac{x_i}{N}$, the mean equation, ...
Pandoc will transform them automatically into images using online services.
If you want to center the equation instead of inlining it, use double $$
delimiters:
$$\mu = \sum_{i=0}^{N} \frac{x_i}{N}$$
Here's an online equation editor.
This template uses Makefile to automatize the building process. Instead of using the pandoc cli util, we're going to use some make commands.
Use this command:
make pdf
The generated file will be placed in build/pdf.
Please, note that PDF file generation requires some extra dependencies (~ 800 MB):
sudo apt-get install texlive-latex-base texlive-fonts-recommended texlive-latex-extra
Use this command:
make epub
The generated file will be placed in build/epub.
Use this command:
make html
The generated file(s) will be placed in build/html.
If you want to configure the output, you'll probably have to look the Pandoc Manual for further information about pdf (LaTeX) generation, custom styles, etc.
This project has been developed by:
Avatar | Name | Nickname | |
---|---|---|---|
Daniel Herzog | Wikiti | info@danielherzog.es |