Academic Pandoc template
Pandoc markdown templates for academic articles, presentations and theses to write distraction-free while maintaining beautiful typesetting.
from md | article | presentation | thesis |
---|---|---|---|
to html | |||
to docx | |||
to epub | |||
to pdf | |||
to pptx | |||
to tex |
Getting Started
Follow the The Markdown Guide and make sure you have a Markdown editor like Zettlr and a Bibtex editor like JabRef installed.
Use it online
- Use this template or fork this repository.
- Edit article/article.md, presentation/presentation.md or thesis/ according to the The Markdown Guide online, with Zettlr or another Markdown editor
- Edit article/references.bib, presentation/references.bib or thesis/references.bib online, with JabRef or with your favorite Bibtex editor
- Commit your changes
- Manually run the Pandoc GitHub actions to build your document. They will be commited to main branch as well.
a. Click on Actions in the top menu
b. Click on Pandoc in the left menu
c. Click on
Run workflow
in the top right corner
Use it locally
Install all prerequisites
Open your command line and execute on of the following commands.
make all
to build all documentsmake article
to build the articlemake article-docx article-pdf article-tex
to build the article in different formatsmake presentation
to build the presentationmake presentation-html presentation-pdf presentation-pptx presentation-tex
to build the presentation in different formatsmake thesis
to build the thesismake thesis-docx thesis-epub thesis-pdf thesis-tex
to build the thesis in different formatsmake help
to get a list of all available commands
Linting and formatting
Install the latest version of Node and all dependencies.
npm install
To use linting and formatting, use the following commands.
npm run check
npm run format
Configuration
Change the variables in the frontmatter in article/article.md, presentation/presentation.md or thesis/00.md to configure your document.
author:
- '[Eleanor Roosevelt](eleanor.eoosevelt@domain.com)'
- '[John Peters Humphrey](jph@domain.com)'
bibliography: references.bib # bibliography to use for resolving references
csl: https://www.zotero.org/styles/chicago-note-bibliography
date: 1 January 2023
keywords: # list of keywords to be included in HTML, PDF, ODT, pptx, docx and AsciiDoc metadata; repeat as for author, above
lang: en-US
Change the default files to your needs:
- default.yaml for the default configuration
- article/docx.yaml for the article docx configuration
- article/pdf.yaml for the article pdf configuration
- article/tex.yaml for the article tex configuration
- presentation/html.yaml for the presentation html configuration
- presentation/ppxt.yaml for the presentation pptx configuration
- presentation/pdf.yaml for the presentation pdf configuration
- presentation/tex.yaml for the presentation tex configuration
- thesis/docx.yaml for the thesis docx configuration
- thesis/epub.yaml for the thesis epub configuration
- thesis/pdf.yaml for the thesis pdf configuration
- thesis/tex.yaml for the thesis tex configuration
Conventional Commits
Use Conventional Commits for adding human and machine readable meaning to commit messages. To use commitizen, use the following commands.
npm run commit
Support
This project is maintained by @maehr. Please understand that we won't be able to provide individual support via email. We also believe that help is much more valuable if it's shared publicly, so that more people can benefit from it.
Type | Platforms |
---|---|
🚨 Bug Reports | GitHub Issue Tracker |
🎁 Feature Requests | GitHub Issue Tracker |
🛡 Report a security vulnerability | GitHub Issue Tracker |
Built With
- commitizen
- git-cliff
- husky
- Pandoc a universal document converter and
- Pandoc GitHub action
- Prettier an opinionated code formatter
- Tectonic a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive
- Tectonic GitHub action
Roadmap
- Refactoring of the article template
- Templates for presentation and thesis
- Change name of master branch to main
- Improve documentation
- Improve caching in
.github/workflows/pandoc.yml
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Moritz Mähr - Initial work - maehr
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- Sarah Simpkin, "Getting Started with Markdown," Programming Historian 4 (2015), https://doi.org/10.46430/phen0046.
- Dennis Tenen and Grant Wythoff, "Sustainable Authorship in Plain Text using Pandoc and Markdown," Programming Historian 3 (2014), https://doi.org/10.46430/phen0041.