我正在更新一份复杂的文档,我们需要清楚地标明所有已添加或删除的文本。我正在使用 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}