将 .tex 文件转换为不含个人定义宏的 .tex 文件

将 .tex 文件转换为不含个人定义宏的 .tex 文件

与我的名义任务相关:

我感兴趣的原因(可能与找到我所寻找的内容有关):

  • 当通过在线文件共享程序(例如 Dropbox)协作处理单个 .tex 文件时,我不想插入我个人定义的宏(例如\newcommand{\infwrt}[2]{\inf\limits_{\scriptscriptstyle\mathclap{#2}}#1}),但我仍然想使用方便的宏,然后简单地转换我的 .tex 文件,然后复制粘贴我写作的标准定义版本。
  • 上述原因促使我寻找解决方案,但对我来说,一个更古老的原因是我更喜欢在具有自动填充等出色功能的 tex 编辑器(例如 TeXstudio)中输入内容,因此当我浏览 Math StackExchange 并找到我想要回答的问题时,如果没有编辑器,可能需要一段时间。使用编辑器,我可以快速输入答案,并且理想情况下可以将个人定义的宏转换为标准定义的命令。

我尝试研究“de-macro”,根据 CTAN 页面:

http://ctan.org/pkg/de-macro

我需要使用 Python。所以我下载了 Python 3.5.2,但不知道接下来该怎么做。我正在寻找替代解决方案,但如果您精通如何使用“de-macro”,那么指南将非常有帮助。提前致谢!

答案1

该包期望您的私有宏将放在您通过其加载的单独文件中\usepackage,该文件的结尾为-private.sty

% mydefs-private.sty
\newcommand{\trythis}[3]{I'm juggling #1, #2, and #3}
\renewcommand{\trythis}[4]{I'm juggling #1, #2, and #3 --- no! and #4}

然后以正常方式将该包加载到 .tex 文件中:

% original mytexfile.tex
\documentclass{article}
\usepackage{mydefs-private}
\begin{document}

\trythis{cats}{dogs}{parrots}{lizards}

\end{document}

然后运行命令de-macro

de-macro mytexfile.tex

这将生成一个名为 的新文件mytexfile-clean.tex,其内容如下所示:

% original mytexfile.tex
\documentclass{article}

\begin{document}

I'm juggling cats, dogs, and parrots --- no! and lizards

\end{document}

对于基本用途来说,它似乎足够简单;但我毫不怀疑您可以轻松构建使程序混乱的宏。

相关内容