diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-10-04 15:41:41 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-10-04 15:41:41 +0200 |
| commit | fd1475aaec33e717a3721679008bc42bb96d0998 (patch) | |
| tree | 6036f0b86e0aa5bdd1837c861749ef3bf6e1d395 /pandoc | |
| parent | d3a3ad033eca9229b9df1cea6f4595b78b7b462b (diff) | |
| download | unterricht-fd1475aaec33e717a3721679008bc42bb96d0998.tar.gz unterricht-fd1475aaec33e717a3721679008bc42bb96d0998.zip | |
pandoc allow markdown in LaTex environments
TODO: pass arguments to the LaTeX environments
Diffstat (limited to 'pandoc')
| -rw-r--r-- | pandoc/filters/div-class-to-env.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/pandoc/filters/div-class-to-env.lua b/pandoc/filters/div-class-to-env.lua new file mode 100644 index 00000000..1a87777b --- /dev/null +++ b/pandoc/filters/div-class-to-env.lua @@ -0,0 +1,31 @@ +--- div-class-to-env.lua – filter to convert classes to LaTeX environments +--- +--- Copyright: © 2026 Florian Fischer +--- License: MIT – see LICENSE file for details + +if FORMAT:match('beamer') then + function Div(d) + -- ignore code blocks which are not of class "env". + if not d.classes:includes 'env' then + return + end + + local env + for _, v in ipairs(d.classes) do + if v ~= 'env' then + env = v + break + end + end + + if not env then + return + end + + return { + pandoc.RawInline('latex', '\\begin{'..env..'}'), + d, + pandoc.RawInline('latex', '\\end{'..env..'}') + } + end +end |
