我使用 overleaf 编译我的 Latex 文档,所以这可能是一个关于 overleaf 的问题。我经常使用我在序言中(实际上是在样式表中)定义的许多简写函数,例如“\C”表示“\mathbb{C}”,“\bracket{X}”表示“\left( X \right)”。但是,如果我想将原始 latex 发送给某人,他们学习我的所有简写会有些不方便,如果我可以让 overleaf “替换”所有简写,即在文档的所有地方用“\mathbb{C}”替换“\C”,这样我就可以仅使用本机命令发送它,这样就更有意义了。有办法吗?
答案1
你至少可以使用 pandoc 来扩展一些宏定义:
pandoc -f latex -t latex foo.tex -o foo2.tex
例如 foo.tex:
\documentclass{article}
\def\AAA{$\sqrt{x+1}$}
\newcommand\BBB{\emph{foo}}.
\begin{document}
Text with \AAA and \BBB.
\end{document}
foo2.tex 的结果为:
Text with \(\sqrt{x+1}\)and \emph{foo}.
您还可以使用独立选项 (-s) 来获取编译文档,不仅包含文档正文,还包含默认模板的长序言。但是,您也可以使用自定义模板来获取更简单的序言。