![我可以强制对所有命令或环境执行预处理操作,而不必手动重新定义它们吗?](https://linux22.com/image/317106/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%BC%BA%E5%88%B6%E5%AF%B9%E6%89%80%E6%9C%89%E5%91%BD%E4%BB%A4%E6%88%96%E7%8E%AF%E5%A2%83%E6%89%A7%E8%A1%8C%E9%A2%84%E5%A4%84%E7%90%86%E6%93%8D%E4%BD%9C%EF%BC%8C%E8%80%8C%E4%B8%8D%E5%BF%85%E6%89%8B%E5%8A%A8%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E5%AE%83%E4%BB%AC%E5%90%97%EF%BC%9F.png)
我正在尝试保留我在排版 html 或 pdf 文件中使用的 latex 命令和环境初始化的历史记录。有没有一种方法可以强制对我的文档或外部包中定义的所有命令执行预处理操作,而无需手动重新定义它们,或者对我的所有文件运行脚本来预处理命令(有点像lilypond
生成所有 tex 文件的修改副本的方式)?我想声明一个在每个(可扩展命令)上运行的宏,并将任何文档命令视为字符串并赋予它操作。
我认为这个问题不需要这些细节,但这些操作看起来像:
- refname 调用(并不理想,因为我认为这只适用于标签,所以也许是逐字的,如果这可以应用于的内容
#1
。 - 执行调用
- 将它们放在超链接中(或以其他方式定制两个叠加文本对象的检索)。
无效的描述性示例
\documentclass[10pt]{article}
\usepackage{xparse}
\usepackage{siunitx}
\usepackage{natbib}
\usepackage{cleveref}
\DeclareDocumentCommand{\WorkContentBlock}{ m }{%
\href{\refname{#1}}{#1}%
%refname or other custom verb command to display the command as a string
%
}
\begin{document}
Show the latex string of \cite{XXX,YYY} or \cref{label:A}
\end{document}
请注意:不是重复的显示除 href 之外的 URL 的快捷方式因为(虽然它们是同一提案的一部分)这个链接问题假定我已经成功实现了该问题的答案或手动对其进行了编码)。