Pandoc

Pandoc emerges as a kind of “ffmpeg for documents,” a command-line tool that can convert between an enormous range of formats—Markdown, LaTeX, Word, HTML, PDF, EPUB and more—powering everything from academic theses and books to static websites, invoices, and slide decks. Commenters praise its reliability, flexibility, and ecosystem (templates, Lua filters, tools like Quarto and RMarkdown), often using it to keep a single plain-text source of truth while exporting to multiple publication formats. The main downsides cited are its large binary size, a steepish learning curve, and occasional edge cases or complexity when fine-tuning layouts, but most see these as acceptable trade-offs for the control and automation it provides.

Overall sentiment

  • Very strong enthusiasm; many call Pandoc one of their most useful tools.
  • Often compared to ffmpeg for documents and described as a “Swiss‑army knife” for markup.
  • Praised for solid CLI design, code quality, and responsive maintenance.

Common use cases

  • Converting Markdown to HTML, PDF (via LaTeX), EPUB, DOCX, slides, and ODT.
  • Academic and technical writing: theses, papers, course notes, scientific reports, novels, textbooks.
  • Static site/blog generation with simple shell/Make wrappers, sometimes replacing full SSGs.
  • Email workflows: unwrapping/reflowing text, improving formatting, or escaping GUI clients.
  • One‑off conversions: Word → Markdown/LaTeX, PDF → RTF, HTML → text, etc.
  • Invoice and report generation via Markdown/HTML → PDF (sometimes with other tools like WeasyPrint or puppeteer).

Workflows & toolchains

  • Markdown + inline LaTeX is a very popular input format; some prefer Org-mode, AsciiDoc, or DOCX.
  • Common pipelines:
    • Markdown → Pandoc → LaTeX → PDF
    • Markdown → Pandoc → DOCX → Google Docs
    • Org/asciidoc → HTML/Markdown → Pandoc → other formats
    • RMarkdown / Quarto / Codebraid / RStudio frontends that call Pandoc under the hood.
  • Used as a backend for static sites, ebook generation, slide decks, and literate programming.

Editing and authoring debates

  • Large subthread on Word vs Markdown/LaTeX vs plain text:
    • Some prefer Word for long-form writing, styles, comments, and collaboration, then Pandoc for final conversion.
    • Others insist writing should happen in plain text/Markdown/LaTeX (often with Vim/Emacs) to avoid WYSIWYG distraction and formatting chaos.
    • Consensus that Pandoc helps bridge ecosystems (plain text ↔ Word/Google Docs/InDesign).

Extensions & ecosystem

  • Lua filters and scripting used to customize AST transformations, implement slide systems, bespoke tables, chapter breaks, etc.
  • Integrated into tools like Quarto, RMarkdown, and various static-site templates and browser/editor extensions.
  • Docker images are widely used to isolate dependencies (especially LaTeX) and avoid system conflicts.

Pain points & limitations

  • Complaints about binary size and Haskell dependency “bloat”; some want a “lite” version.
  • Learning curve, many options, and template system can feel idiosyncratic; users often re‑learn it per project.
  • Some formats (e.g., complex Org-mode, tricky tables for invoices, niche PDF layout needs) don’t convert perfectly and require manual tweaking or additional tooling.
  • Licensing (GPLv3) raises integration questions for closed-source desktop apps.