![使用变更包的备注](https://linux22.com/image/336283/%E4%BD%BF%E7%94%A8%E5%8F%98%E6%9B%B4%E5%8C%85%E7%9A%84%E5%A4%87%E6%B3%A8.png)
使用该changes
包,我如何创建一个“注释”,该注释以相同的标记颜色格式显示,并在草稿或正常模式下包含在更改列表中,但在最终模式下被完全删除。
我希望修饰一份提交给期刊的工作论文,并处理审阅者的评论,以便在编译最终版本时完全删除这些注释。
换句话说,我可能想在某处做如下注释:
上图已根据审阅者的建议编号 XYZ 进行了修改。
此注释与最终文件无关,仅包含在草稿以便编辑能够清楚地看到审稿人的意见明确解决。
因此,如果我在序言中写上以下内容:
\usepackage{changes}
\definechangesauthor[name={Nick Hamilton}, color=red]{nh}
我可以标记新添加的内容、删除的内容或替换的内容
This is \added[id=nh,remark={has to be in it}]{new} text.
This is \deleted[id=nh,remark=obsolete]{unnecessary}text.
This is \replaced[id=nh]{nice}{bad} text.
上文中,当文档处于草稿模式时,这些更改将根据definechangesauthor
上述定义以“红色”呈现。在草稿模式下,内容将被标记,而在最终模式下,内容将照常呈现。
我真正想要的是另一个宏,它在草稿模式下以标记形式呈现(就像上面一样),而在最终模式下则完全省略。
答案1
如果有人感兴趣的话,这里有一个解决方案:
\documentclass{article}
%Packages
\usepackage{ifdraft}
\usepackage{lipsum}
\usepackage{changes}
%Define Track Changes Author, and Color
\definechangesauthor[name={Nick Hamilton}, color=red]{nh}
%New 'Remark' command
\makeatletter
\newcommand{\Changes@Markup@Remark}[1]{\textbf{NOTE TO ED.:} #1}
\newcommand{\remark}[2][\@empty]{%
\ifoptionfinal{}{
\setkeys{Changes@added}{#1}%
\Changes@output%
{\Changes@Markup@Remark{#2}}%
{#2}%
{\Changes@added@id}%
{\Changes@added@remark}%
{#2}%
{\changesaddname}%
{\Changes@added@dec}%
{\Changes@added@decid}%
{\Changes@added@decremark}%
\stepcounter{Changes@AddCount\Changes@added@id}%
}
}
\makeatother
\begin{document}
\lipsum[1]\added[id=nh]{This is some new content}%
\deleted[id=nh]{, Content to Remove}, and %
\replaced[id=nh]{replaced}{original} content. %
\remark{As requested in initial review}
\end{document}
在草稿模式下,结果如下:
在 FINAL 模式中,结果如下: