更改包,删除线文本以蓝色显示

更改包,删除线文本以蓝色显示

我正在更新一份复杂的文档,我们需要清楚地标明所有已添加或删除的文本。我正在使用 changes 包,如下所示:

\usepackage[addedmarkup=bf, deletedmarkup=sout]{changes}

我们需要使变化在灰度中可见,因为我们将制作此类印刷件。

由于某种原因,删除线文本显示为蓝色。也许是与 hyperref 不兼容?无论如何,如果能修复,我们将不胜感激。

完整文件位于:

http://www.sindark.com/350/fossil-fuel-divest-new-SE-2015-04-06.pdf (.tex 和 .bib 位于同一位置)

PDF 的第二页上有一些被删除的文字。

谢谢!

米兰


添加:这有点像 MWE,但由于某种原因,它会使添加的和删除的文本都变成蓝色,而不像我的大文档那样只对删除的文本这样做:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[10pt]{article}

\usepackage[addedmarkup=bf, deletedmarkup=sout]{changes}

\usepackage{url}
\usepackage[colorlinks=true,allcolors=navy]{hyperref}

\begin{document}

Here is some normal text

\added{Here is some added text}

\replaced{Old and broken}{New and shiny}

\end{document}

添加:

我尝试添加:

\usepackage{soul}

序言部分:

\setstcolor{black}

到主文档,但删除线的文字仍然显示为蓝色。

答案1

changes定义\definechangesauthor具有一些选项的命令,例如,color选择文本颜色并将作者姓名作为强制参数foo

但是该命令定义了计数器,其名称是根据作者名称创建的,例如Changes@AddCountfoo等,它们会自动递增。

changes.sty命令中\definechangesauthor[color=blue]{\@empty},定义一个empty具有默认蓝色标记的作者。

第二次调用 withcolor=gray将会失败,因为相关计数器已经定义。避免这种情况的一种方法是使用\undef已经定义的计数器名称。

\documentclass[10pt]{article}

\usepackage{etoolbox}

\usepackage[addedmarkup=bf, deletedmarkup=sout]{changes}

\makeatletter
\undef\c@Changes@DeleteCount%
\undef\c@Changes@AddCount%
\undef\c@Changes@ReplaceCount%
\definechangesauthor[color={gray}]{\@empty}
\makeatother



\usepackage[colorlinks=false,allcolors=navy]{hyperref}



\begin{document}

Here is some normal text

\added{Here is some added text}

\replaced{Old and broken}{New and shiny}

\end{document}

在此处输入图片描述

答案2

使用无色标记选项可以解决您的问题吗?

\documentclass{article}
\usepackage[markup=nocolor, addedmarkup=bf]{changes}
\begin{document}

  Text

  \added{added}

  \deleted{deleted}

\end{document}

相关内容