我正在使用该changes
软件包。我希望生成的最终文档是这样的
- 突出显示更改的文本
- 具有变更列表、添加的命名和替换的文本。
这可以通过更改命令来实现\replaced
,这样它只会显示新文本,而不显示旧文本。我不能使用\added
替换,因为那样会在更改列表中显示为已添加。
这是我的 MWE
\documentclass{article}
\usepackage{changes}
\begin{document}
Alas my love you do me wrong, to cast me off discourteously. For I have loved you well \added{and long}, delighted in your \replaced{company}{corporation} .
\listofchanges
\end{document}
我想要实现的输出是这样的(我通过作弊,MWE 不会生成它:
答案1
以下是产生所需结果的版本:
\documentclass{article}
\usepackage{changes}
\makeatletter
\let\Changes@Markup@Deleted\@gobble
\makeatother
\begin{document}
Alas my love you do me wrong, to cast me off discourteously.
For I have loved you well \added{and long}, delighted in your \replaced{company}{corporation}.
\listofchanges
\end{document}
输出:
该\Changes@Markup@Deleted
宏会生成突出显示的替换文本(基于所设置的任何样式)。我们只需将其定义为忽略其参数,这样生成的文本始终为空。
答案2
@siracusa 的解决方案在较新版本的 中不再有效changes
。虽然我不太确定这个新命令是何时添加的,但现在 (2020 年 2 月) 可以按\setdeletedmarkup
如下方式完成此操作:
\makeatletter
\setdeletedmarkup{\@gobble{#1}}
\makeatother