使用 changes 包更改最终的文本颜色或样式

使用 changes 包更改最终的文本颜色或样式

我刚刚发现更改包非常适合协作写作(我有 MikTEX 2.9)。论文的修订版本应该在样式或颜色上与文档的其余部分有所不同。是否可以强制\usepackage[final]{changes}删除所有标记(通常如此,效果很好),但保留用户指定的样式/颜色来添加/删除/替换文本?

\documentclass{article}
\usepackage[draft]{changes}
%\usepackage[final]{changes}
\definechangesauthor[name={John Doe}, color=red]{jd}
\setremarkmarkup{(#2)}

\begin{document}    
I would like it \replaced[id=jd]{in a different color}{in the same color} when the final mode in on.    
\end{document}

答案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}. \deleted {some deleted text.}


\end{document}

答案2

从哲学层面上讲,最终的选项应该输出与不使用该包时一样的文本。

话虽如此,这个解决方案怎么样?这样你就不会改变包的默认行为,而且我使用自己的命令,你可以相当轻松地打开/关闭颜色。

\documentclass{article}
% \usepackage[draft]{changes}
\usepackage[final]{changes}
\definechangesauthor[name={John Doe}, color=red]{jd}

\newcommand{\myreplaced}[3]{\replaced[id=#1]{\textcolor{red}{#2}}{#3}}

\begin{document}
I would like it \myreplaced{jd}{in a different color}{in the same color} when the final mode in on.
\end{document}

相关内容