Academic Pandoc template

Quarto templates for academic articles, presentations, and theses. The repository keeps editable sources and rendered outputs together so users can write in plain text and still commit PDFs, Word files, slide decks, and TeX output.

GitHub issues GitHub forks GitHub stars GitHub license DOI

source article presentation thesis
edit Article markdown Presentation markdown Thesis markdown
html Article HTML Presentation HTML
docx Article DOCX Thesis DOCX
epub Thesis EPUB
pdf Article PDF Presentation PDF Thesis PDF
pptx Presentation PPTX
tex Article TeX Presentation TeX Thesis TeX

Getting Started

You can use this template entirely on GitHub, or build the documents locally if you are comfortable installing tools.

Use The Template On GitHub

  1. Click Use this template to create your own copy of this repository. You can also fork this repository.
  2. Edit the document you want to write:
  3. Edit titles, authors, dates, and other document settings in the matching _metadata.yml file:
  4. Edit references in the matching references.bib file:
  5. Commit your changes.
  6. Open the repository’s Actions tab, select the Quarto workflow, and click Run workflow.
  7. When the workflow finishes, the rendered files such as PDF, Word, HTML, EPUB, PowerPoint, and TeX are committed back to the repository.

You can edit Markdown files online on GitHub, with Zettlr, or with another Markdown editor. If you are new to Markdown, start with The Markdown Guide. You can edit BibTeX references online, with JabRef, or with your favorite BibTeX editor.

Build Locally

Use this template, edit one of the document sources, and run the Quarto build. The npm scripts render the root documentation site and each document-specific Quarto project.

Prerequisites

  • Quarto
  • TinyTeX for PDF output: quarto install tinytex
  • Node.js and npm for formatting, rendering, and changelog tooling

Build

npm run render

Preview the documentation site locally:

npm run preview

Document-specific previews are available with npm run preview:article, npm run preview:presentation, and npm run preview:thesis.

Useful render scripts:

  • npm run render:article renders all article formats.
  • npm run render:presentation renders RevealJS, Beamer PDF, PowerPoint, and TeX outputs.
  • npm run render:thesis renders Word, EPUB, PDF, and TeX thesis outputs.
  • npm run render:article:pdf, npm run render:presentation:pptx, or npm run render:thesis:docx render a single format.

You can also call Quarto directly:

quarto render
quarto render article --to pdf

Structure

  • _quarto.yml defines the root Quarto documentation website.
  • _brand.yml defines shared branding metadata for the documentation website.
  • article/_quarto.yml, presentation/_quarto.yml, and thesis/_quarto.yml define the render targets for each document type.
  • article/_metadata.yml, presentation/_metadata.yml, and thesis/_metadata.yml hold document metadata.
  • article/index.qmd is an ordinary Quarto document entrypoint that includes article.md.
  • presentation/index.qmd renders presentation.md to RevealJS, Beamer, PowerPoint, and TeX.
  • thesis/index.qmd includes chapter files such as 00_Introduction.md and keeps separate bibliographies for sources and literature.
  • assets/csl/ contains citation styles shared by the examples.

Configuration

Edit the relevant _metadata.yml file to change titles, authors, and bibliographies. Render targets and format options belong in the document-specific _quarto.yml files.

Quarto-native cross-reference labels use hyphens:

![Caption](image.png){#fig-example}

See @fig-example.

Linting And Formatting

Install dependencies:

npm install

Check or format files:

npm run check
npm run format

Continuous Integration

The Quarto workflow installs npm dependencies, Quarto, and TinyTeX, runs formatting checks, renders all documents with npm run render, and commits updated artifacts back to the repository when manually triggered.

Built With

Contributing

Please read CONTRIBUTING.md for details on the code of conduct and pull request process.

License

This project is licensed under the MIT License. See LICENSE.md for details.

Acknowledgments

Back to top