我发现自己处在一个尴尬的境地,尽管这似乎并不罕见,但我被命令以 Word 格式编写文档,或者至少以 Word 格式结束文档。
我的 LaTeX 源文件中除了标题页外没有任何花哨的东西,我并不特别在意。不过,我确实充分利用了 LaTeX 的逻辑标记功能,使用该包使用诸如\servername#1
和\ipaddress#1
和首字母缩略词之类的东西acro
。
我没有不想导出的图表standalone
,也不需要花哨的minipage
操作 --- 只需直接使用 LaTeX。Pandoc 似乎是我最好的选择,但它完全跳过/删除了文档中的自定义命令(\servername
, 中的内容acro
)。如果不是这种情况,这将是一个不错的解决方案。
是否存在一个预处理器,它会尝试将宏定义扩展为适当的“基本调用”?(我指的是类似的东西\def\servername#1{\texttt{#1}}
)。例如,
\documentclass{article}
\newcommand{\servername}[1]{\texttt{#1}}
\begin{document}
Hi! My server is \servername{localhost}.
\end{document}
转换为
\documentclass{article}
\begin{document}
Hi! My server is \texttt{localhost}.
\end{document}
答案1
我有一个“概念证明”给你。它需要做相当多的工作才能使用。
背景:我使用 LaTeX 编写如下内容实验室帖子。那里的数学处理是简化的 LaTeX 语法,但不允许\newcommand
(或类似)。虽然这非常明智,但写了\mathbb{R}
二十次之后,你开始渴望能够写\newcommand\R{\mathbb{R}}
。所以我一直在研究一个 LaTeX 包,它将专门编写的 LaTeX 文档转换为 nLab 底层软件可以理解的内容。
现在,对于您的情况来说,重要的部分是数学处理是一种简化的 LaTeX 语法。这意味着,如果我写下“\mathbb{R}
然后”,我希望它完全按原样通过。但是,如果我输入“\newcommand\R{\mathbb{R}}
然后”,我希望\R
将其扩展为\mathbb{R}
,然后让其通过。因此,我有一个通用系统,可以声明哪些宏“通过”。
使其适应您的情况仅仅意味着提供 pandoc 理解的宏列表(及其参数,以及环境工作)。
代码目前在 github 上我刚刚添加了概念验证pandoc
模块和您的示例pandoc_test.tex
。毫不奇怪,pdflatex pandoc_test.tex
生成了一个包含所需输出的 PDF(然后可以通过转换为文本pdftotext
)。
然而,将 pandoc 理解的所有宏添加到列表中需要一些工作。