Filters, Filters, Filters
Yesterday—well, actually in the wee hours of today—I submitted an academic paper on pandoc-lecturenotes. We’ll see what reviewers think of it. Anyway, one of the things that make it so useful (at least to me) is that it’s just a filter: you don’t have to use a particular directory layout or specific tools with it. This means that you can combine it with whatever filters you need for your documents.
So, I wondered what filters I actually use with pandoc-lecturenotes. This varies somewhat—which is precisely the point—but here are the filters that I used for my lecture notes this semester:
- include-files
- scholarly-metadata
- include-code-files
- pandoc-croquis
- pandoc-quotations
- explicit_figures
- pandoc-conditional-notes
- pandoc-link-preview
embed-slides.lua(part of pandoc-lecturenotes)- pansv
- citeproc (built-in to pandoc)
- cite-field
This is a mix of filters I wrote myself and filters written by other—thanks to the authors of these filters!
It turns out that this list contains almost all of my publicly released filters, with the exception of
which is only needed when using numeric citation styles—such as for the paper that I submitted. For this paper I also used
for the first time rather than pandoc-crossref. It looks great!
Not a filter, but an essential part of my setup is
Pandepend is a utility for creating dependencies in makefiles, similar to makedepend(1), but for documents that are processed with pandoc.
It looks like there are no more unpublished filters I use with current documents. Not yet published are two filters I’m currently working on:
asset-tags.luais a filter for substituting references to metadata items with the corresponding values. It is not designed to be used for general variable substitution (there are other filters for this purpose, such as pandoc-curly-switch), but specifically for metadata embedded in external “assets,” i.e., primarily image files.pancarte.luais a filter for extracting definitions and the like from documents for use with Cosma.
I will eventually migrate all of these repositories to Codeberg, but this is a task for another day—I’ve got an overdue review I need to finish today!