summaryrefslogtreecommitdiff
path: root/tools/latex-package-dependencies.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tools/latex-package-dependencies.lua')
-rw-r--r--tools/latex-package-dependencies.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/latex-package-dependencies.lua b/tools/latex-package-dependencies.lua
new file mode 100644
index 000000000..aaa8689f8
--- /dev/null
+++ b/tools/latex-package-dependencies.lua
@@ -0,0 +1,26 @@
+-- Print latex packages needed by pandoc's default latex template.
+-- Usage: pandoc lua tools/latex-package-dependencies.lua
+
+local templ = pandoc.template.default("latex")
+
+local packages = {}
+
+templ:gsub("\\usepackage *%b[] *%{([^}]*)%}", function(capt)
+ capt:gsub("([^,]+)", function (pkg)
+ if not pkg:find("%$") then
+ packages[pkg] = true
+ end
+ end)
+end)
+
+templ:gsub("\\usepackage *%{([^}]*)%}", function(capt)
+ capt:gsub("([^,]+)", function (pkg)
+ if not pkg:find("%$") then
+ packages[pkg] = true
+ end
+ end)
+end)
+
+for pkg,_ in pairs(packages) do
+ print(pkg)
+end