文档 \changes 中的等号问题

文档 \changes 中的等号问题

当使用 doc 包 (或某些衍生包) 记录类/包时,在命令文本中包含文字等号的最佳方法是什么\changes?由于=在条目中用作特殊字符,因此其之前的任何内容都将被删除。

梅威瑟:

\documentclass[margin=10pt,varwidth=25em]{standalone}
\usepackage{doc}
\RecordChanges
\begin{document}
\changes{v1}{2020-01-01}{Before=After}
\PrintChanges
\end{document}

输出:

常规:之后...1

用括号括起来不起作用。我想到最好的办法是在前言中定义一个宏,然后将命令序列作为字符串包含在内,如下所示:

\documentclass[margin=10pt,varwidth=25em]{standalone}
\usepackage{doc}
\RecordChanges
\def\MyEquals{=}
\begin{document}
\changes{v1}{2020-01-01}{Before\string\MyEquals\space After}
\PrintChanges
\end{document}

但有没有更优雅的解决方案呢?

答案1

makeindex有一组特殊字符,并将gglo.ist设置=actualchar。您可以引用=,这样makeindex将使用 对其进行逐字处理quotechar。要为makeindex您引用一个字符,只需在其前面加上quotechar,即gglo.ist!因此您可以这样写:

\changes{v1}{2020-01-01}{Before!=After}

运行makeindex -s gglo.ist -o test.gls test.glo该文件你会得到:

在此处输入图片描述

相关内容