markdown-academic-guide

Write academic papers in Markdown with Pandoc for multi-format output

191 stars

Best use case

markdown-academic-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Write academic papers in Markdown with Pandoc for multi-format output

Teams using markdown-academic-guide should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/markdown-academic-guide/SKILL.md --create-dirs "https://raw.githubusercontent.com/wentorai/research-plugins/main/skills/tools/document/markdown-academic-guide/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/markdown-academic-guide/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How markdown-academic-guide Compares

Feature / Agentmarkdown-academic-guideStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Write academic papers in Markdown with Pandoc for multi-format output

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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.

![System Architecture](figures/architecture.pdf){#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.