Pandoc Templates

(pandoc-templates.org)

347 points | by ankitg12 12 hours ago

17 comments

  • ifh-hn 7 hours ago
    I used to use pandoc for my bachelors papers, which needed to be submitted as word documents. I never used templates but had a rather large "one-liner" pandoc command to convert my markdown files.

    At the time I'd not got round to understanding the yaml front matter etc. I even user Zettlr for a while [0].

    I then discovered quarto [1] and this changed everything. Much nicer experience. I used this for my masters papers.

    I think the tooling around pandoc is what makes it such a good tool. I remember attempting restructured text and latex and having a right hard time.

    [0] https://zettlr.com/ [1] https://quarto.org/

    • Loic 5 hours ago
      pandoc is my "document converter" go-to tool.

      Quarto is my documentation tool.

      For me, they are both massively used, but cover different usages.

    • thibaut_barrere 6 hours ago
      Neat. Now I need Quarto, but with Elixir and Livebook!
      • apwheele 5 hours ago
        I have my crazy notes on Quarto and word documents here, https://github.com/apwheele/Blog_Code/tree/master/Quarto/Rep.... Hopefully useful for others reading these comments.

        I don't even know what magic buttons I need to push to get that template to correctly inherit the table format I wanted from pandoc, but it does. I tend to have other scripts though for more complicated tables though. So if I want a table to have a certain row highlighted a different color, I would write a Powershell script to run after the table was generated.

        I was never able to figure out how to use LibreOffice to insert the table of contents and then export to PDF (although I can do it via the GUI).

  • ktzar 10 hours ago
    Pandoc is such an amazing piece of software. I used it to format my novel and made it part of a GitHub action to produce all the formats I required. I wasn't aware of templates, but some look really sleek.

    I keep thinking that modern text editors are just flawed and markdown, with all its downsides and limitations, is what 99% is the people need.

    • adamddev1 8 hours ago
      Haskell thriving in the wild!
    • abyssin 8 hours ago
      You may be overestimating technical abilities of 99% of the people. I tried to convert some to pandoc and failed miserably. Personally I love it, markdown is becoming more and more central to my workflows.
    • noosphr 8 hours ago
      You should be aware that pandoc markdown has extensive non-standard additions to the language to make it usable.

      If you want a pure markup language that is simple, plain text readable and able to produce text more complex than what a type writer could manage in 1920 then restructured text is the way to go.

      • applicative 3 hours ago
        pandoc has infinitely many devices for including various commands. A lua filter - to take one standard example - can manage basically anything you cook up. The going AIs can write them for you and your triggering syntax at the drop of a hat. Inter alia, you can write your restructured text in markdown and include bits like this.

        Here is normal Pandoc Markdown text.

        ```{=rst} .. note:: This is a native reStructuredText directive! Pandoc will not parse or change this text. It goes straight to the rST output writer. ```

        Back to normal Markdown text.

    • maxerickson 9 hours ago
      For the short, simple documents that most people make, a versioned, wysiwyg word processor is going to beat everything else.

      I mean, they don't want to think about building the output, never mind controlling the process.

      • troyvit 8 hours ago
        Building my resume in a wysiwyg editor was an exercise in frustration. Formatting was inconsistent, they were only searchable from inside the editor and versioning was useless because diff had no meaning.

        My markdown resume has its own problems but having this level of control has been a huge load off my mind.

      • limagnolia 9 hours ago
        For most of the short simple documents I create, I don't want to redo the formating for every document. Simply writing it in something simple like Markdown ( possibly a markdown wysiwig editor) and having my software automatically apply appropriate standard formats to it is ideal.
        • maxerickson 8 hours ago
          Right, most people don't want to do that, they want the burden of applying styles to the couple headings or whatever.

          Unfortunately, most people don't use paragraph styles, but if you do, it's a couple clicks.

          • sgc 8 hours ago
            Agreed. There is actually a lot better control in openoffice / libreoffice than most people know. You just have to set up your styles and be systematic about (virtually) never using direct formatting, instead always applying a pre-configured style. There is a distinct value in seeing your final product as you work, when the final product is visual.
            • noosphr 8 hours ago
              This is more of a utopia than expecting the average office drone to learn emacs.
            • masfuerte 6 hours ago
              And if you define shortcut keys for your styles it's as quick to type as markdown.
      • kzrdude 8 hours ago
        I'm a programmer and even I like writing in a non-programmable environment. Programming in the document system just stimulates the more primitive parts of my brain that love the processing and programming more than the writing itself. So it's distracting in that way.
  • chlaunchla 9 hours ago
    Pandoc is an impressive piece of software but I could never quite get PDF generation working nicely with it.

    Table layouts were often broken, with text overlapping into adjacent fields. Unicode font fallback didn't work properly, with characters like "→" being silently dropped because they didn't exist in the main font. Having predictable control of page breaks, to avoid situations where header text didn't stick to the following paragraph and instead had header and paragraph text split over a page boundary, was pretty much impossible.

    I ended up concluding that Markdown isn't a sufficiently powerful markup language for page-based documents, and went back to using Word in all its WYSIWYG delight.

    That said, maybe there were ways of doing all of the above but I couldn't figure it out and found the whole process of wrestling with with both Markdown and LaTeX templates, and Pandoc configuration, unintuitive and annoying.

    • applicative 1 hour ago
      "→" is standard unicode; pandoc would have put it into the internal AST. If you were writing a pdf e.g. via pdflatex and tex fonts in olden times, a number of things might have gone wrong. Such a thing will pass unproblematically into the things like the going luatex - but similarly if you write the pdf via e.g. typst or one of the other engines.

      It is true one ends up familiarizing oneself with peculiarities of the typesetting engine. The LLMs are lately teaching me bits and pieces about typst and typst+pandoc which I'm using for a writing project. They all seem infallible about pandoc curiosa.

      Tables I agree are a nightmare in any plain text representation whatsoever - except with editor support which alas Word makes easy.

    • __mharrison__ 7 hours ago
      Use Pandoc w/ Typst. I've published many books using it.

      In fact, just had a friend with a traditionally published book who is now self-pubbing ask me yesterday about my tools. I recommended Pandoc and Typst. He (surprisingly to me) had never heard of Typst, but within the hour replied that (with the use of AI) he had a great-looking template for the book. (Try doing that with LaTeX).

      • mrkwse 6 hours ago
        Could you elaborate on your workflow? Which tool do you start in (presumably it's a sequential flow?)? When is it that you go across the tools?
        • __mharrison__ 4 hours ago
          Jupyter to markdown to typst. Pandoc does the last conversation. (Pandoc also creates epubs for me).

          I have some custom filters for index entries and code formatting.

    • cwmoore 8 hours ago
      I broke out a little HTML/CSS for this with page-break: after, now deprecated but the improved directives look better:

      https://stackoverflow.com/questions/1664049/can-i-force-a-pa...

    • thibaut_barrere 7 hours ago
      To address that, a long while back I used a Markdown to Ruby Prawn to PDF generator. I could not find a generic mainstream tool supporting this…
    • Ametrin 2 hours ago
      [dead]
  • thibaut_barrere 10 hours ago
    Somehow related is https://www.metanorma.org/ (using Markdown to produce norms-compatible outputs).
  • falsaberN1 9 hours ago
    Oh wow, I use Pandoc fairly extensively, and have my own templates, and I never knew you could make things as colorful as some of these.

    Oh no, inspiration has arrived. Guess I know what I'm wasting my weekend into, hah.

    Also this page seems to have existed for a while and I never heard of it! I'm glad I stumbled upon this. A lot of nice ideas here.

  • malteg 7 hours ago
  • wodenokoto 9 hours ago
    I’ve been looking for a template to use for fancy business reports, so I can do my stuff in R/Python/QMD and management can get something colorful to look at without me having to copy paste everything into PowerPoint
  • NK_MAK 3 hours ago
    Pandoc can be a bit painful to set up, but once it’s in your workflow, it’s hard to replace. Especially when you care about repeatable formatting and multiple outputs.
  • ntnsndr 10 hours ago
    I have been relying on pandoc for many years and had no idea I could use templates like this, which I suppose is pathetic but also indicates just how powerful the defaults are on their own.
  • galaxyLogic 2 hours ago
    Looks very nice but still takes some effort to undertsand how to use it. Isn't it simpler to ask the AI to create the PDFs for you?
  • submeta 10 hours ago
    I am a heavy user of Pandoc. As I write all my text in markdown using Obsidian, but have to create content for the MS Office environment, I use Pandoc to convert my markdown content into ms office formated content.

    I would be lost had I have to use the Office tools to edit and format my text.

    So thank you to all the maintainers of Pandoc.

    • ltrg 10 hours ago
      I used it to output my doctoral thesis in LaTeX from Markdown 10 years ago, and similarly for going back and forth between my supervisor's Word documents and the main thesis text.

      Embarrassingly, a horrible little script for converting Pandoc's Markdown endnotes to inline format remains my most-starred GitHub repo: https://github.com/ltrgoddard/inliner/

    • maxerickson 9 hours ago
      Basic familiarity with the paragraph styles in Word is like a 20 minute task.

      If you are using markdown, you already understand the conceptual basis for it, so you just need to understand how it's implemented over there.

      I'm not arguing that it is something you should do, just rolling my eyes at "I would be lost".

      • submeta 9 hours ago
        Not lost because it's hard to learn, but because I don't like writing in ms office products. It's not just word, I write formated long emails in outlook as well.
    • mkovach 10 hours ago
      [dead]
  • FailMore 8 hours ago
    I’ve been building something somewhat adjacent to this. It’s https://sdocs.dev. It’s as 100% private browser based Markdown renderer
  • ckarpati 7 hours ago
    Pandoc templates need an update for better logical operators. The supported yaml and conditionals are poor for even light use cases.
  • djyde 9 hours ago
    I've always wanted to make a GUI client for pandoc
  • abyssin 8 hours ago
    typst templates would be a great addition to these.
  • IamCompliant 1 hour ago
    [flagged]
  • raffael_de 10 hours ago
    2 hours, 56 points and not a single comment?
    • RadiozRadioz 10 hours ago
      Perhaps people are quasi-bookmarking it