Write academic papers in Markdown with Pandoc for multi-format output
Scanned 6/6/2026
Install via CLI
openskills install brycewang-stanford/Auto-Empirical-Research-Skills---
name: markdown-academic-guide
description: "Write academic papers in Markdown with Pandoc for multi-format output"
metadata:
openclaw:
emoji: "📄"
category: "tools"
subcategory: "document"
keywords: ["Markdown", "Pandoc", "academic writing", "document conversion", "scholarly Markdown", "plain text"]
source: "wentor-research-plugins"
---
# Academic Writing in Markdown with Pandoc
A skill for writing academic papers in plain-text Markdown and converting them to PDF, Word, LaTeX, and HTML using Pandoc. Covers YAML metadata, citation management, cross-references, templates, and workflows for collaborative academic writing.
## Why Markdown for Academic Writing?
### Advantages
```
1. Plain text: Version-controllable with Git (diff-friendly)
2. Portable: Works on any OS, any editor
3. Pandoc: Convert to PDF, DOCX, LaTeX, HTML, EPUB
4. Focus: Content-first writing without formatting distractions
5. Citations: Pandoc-citeproc handles bibliography automatically
6. Collaboration: Easy to review diffs in pull requests
```
### When to Use Markdown vs. LaTeX
```
Use Markdown when:
- You need multi-format output (PDF + Word + HTML)
- Collaborators prefer Word but you prefer plain text
- The paper has standard formatting needs
- You want a simpler syntax than LaTeX
Use LaTeX directly when:
- The journal provides a mandatory LaTeX template
- You need advanced typesetting (complex math layouts, custom floats)
- You are writing a thesis with institutional LaTeX requirements
```
## Document Structure
### YAML Front Matter
```yaml
---
title: "Your Paper Title: A Markdown-Based Approach"
author:
- name: Jane Smith
affiliation: Department of Computer Science, University X
email: jane@university.edu
orcid: 0000-0002-1234-5678
- name: John Doe
affiliation: School of Engineering, University Y
date: 2026-03-09
abstract: |
This paper demonstrates how academic manuscripts can be written
in plain Markdown and converted to publication-quality documents
using Pandoc. We show that this approach reduces formatting overhead
while maintaining full citation and cross-reference capabilities.
keywords: [academic writing, Markdown, Pandoc, reproducible research]
bibliography: references.bib
csl: apa-7th-edition.csl
link-citations: true
numbersections: true
---
```
### Body Text with Citations
```markdown
# Introduction
Academic writing often involves tedious formatting tasks that
distract from content creation [@smith2024; @jones2023, pp. 45-50].
Recent tools enable plain-text workflows that separate content
from presentation [see @garcia2022, chap. 3].
## Background
As @lee2021 demonstrated, Markdown-based workflows reduce
formatting errors by 40% compared to WYSIWYG editors.
### Subsection Example
Inline math: $E = mc^2$
Display math:
$$
\hat{\beta} = (X^T X)^{-1} X^T y
$$
```
### Citation Syntax
```
[@key] -> (Author, 2024)
@key -> Author (2024)
[@key, p. 42] -> (Author, 2024, p. 42)
[@key1; @key2] -> (Author1, 2024; Author2, 2023)
[-@key] -> (2024) -- suppress author name
[see @key] -> (see Author, 2024)
```
## Pandoc Conversion
### Basic Commands
```bash
# Markdown to PDF (via LaTeX)
pandoc paper.md -o paper.pdf \
--citeproc \
--number-sections \
--pdf-engine=xelatex
# Markdown to Word (DOCX)
pandoc paper.md -o paper.docx \
--citeproc \
--reference-doc=template.docx
# Markdown to LaTeX
pandoc paper.md -o paper.tex \
--citeproc \
--standalone
# Markdown to HTML
pandoc paper.md -o paper.html \
--citeproc \
--standalone \
--mathjax
```
### Custom LaTeX Template
```bash
# Extract default template for customization
pandoc -D latex > custom-template.tex
# Use custom template
pandoc paper.md -o paper.pdf \
--template=custom-template.tex \
--citeproc \
--pdf-engine=xelatex
```
## Cross-References and Figures
### Using pandoc-crossref
```markdown
See @fig:architecture for the system overview.
{#fig:architecture width=80%}
Results are shown in @tbl:results.
| Method | Accuracy | F1 Score |
|--------|----------|----------|
| Ours | 0.95 | 0.93 |
| Baseline| 0.88 | 0.85 |
: Comparison of methods. {#tbl:results}
As proven in @eq:main, the relationship holds.
$$y = \alpha + \beta x + \epsilon$$ {#eq:main}
```
```bash
# Compile with cross-references
pandoc paper.md -o paper.pdf \
--filter pandoc-crossref \
--citeproc \
--pdf-engine=xelatex
```
## Collaborative Workflow
### Git-Based Collaboration
```python
def markdown_collaboration_workflow() -> dict:
"""
Recommended workflow for multi-author Markdown papers.
"""
return {
"setup": [
"Create a Git repository for the paper",
"Add .gitignore for PDF output and LaTeX aux files",
"Store references.bib in the repo",
"Include a Makefile for reproducible builds"
],
"writing": [
"Each author works on a branch",
"Use pull requests for section drafts",
"Review diffs in GitHub/GitLab (plain text diffs are readable)",
"Resolve merge conflicts in plain text (much easier than .docx)"
],
"makefile_example": (
"all: paper.pdf paper.docx\n"
"paper.pdf: paper.md references.bib\n"
"\tpandoc paper.md -o paper.pdf --citeproc --pdf-engine=xelatex\n"
"paper.docx: paper.md references.bib\n"
"\tpandoc paper.md -o paper.docx --citeproc --reference-doc=template.docx\n"
"clean:\n"
"\trm -f paper.pdf paper.docx"
)
}
```
## Tips and Limitations
Pandoc handles most academic writing needs, but has limitations with complex table layouts, advanced figure placement, and journal-specific LaTeX class features. For final submission, you may need to fine-tune the generated LaTeX or DOCX output. Keep your Markdown source as the canonical version and treat generated files as disposable build artifacts.
No comments yet. Be the first to comment!