【发布时间】:2021-02-22 09:35:12
【问题描述】:
我一直在编写一个自定义的 LaTeX 阅读器 Lua 过滤器,以将一堆 LaTeX 源转换为 Pandoc Markdown,这将是我的几个文档的新源。
我运行通常的过滤器,如下所示。
pandoc file.tex \
-f latex+raw_tex \
-t markdown \
-o file.md \
--lua-filter myfilter.lua
这很好用。我已经能够将几个自定义 LaTeX 环境转换为 Divs 等。
但是,当我将标准 LaTeX 嵌套在 inside 自定义环境中时,过滤器输出保持原样,未转换。例如。
\begin{custom_environment}
\begin{itemize}
\item foo
\item bar
\end{itemize}
\end{custom_environment}
自定义环境由我的过滤器处理得很好,但内部的 itemize 或 tabular 或类似的未处理,如您所料。
有没有办法使用标准的latex 扩展(即过滤器)来处理自定义环境的内容?我认为这将是来自 Lua 过滤器的调用。
我试图避免这样做的一个想法是将内容写入临时文件并在其上运行另一个pandoc。这似乎是一个无处不在的情况,我希望有更好的方法。谢谢!
【问题讨论】:
-
我现在正在尝试
walk_block和walk_inline,看起来很有希望……会回来报告。