我使用 来latexdiff
突出显示 tex 文档两个版本之间的差异,使用默认样式UNDERLINE
。此样式将添加的文本格式化为蓝色,并带有波浪下划线,将删除的文本格式化为红色,并带有删除线。
我感兴趣的是格式化输出,使得添加的文本为蓝色,但是没有波浪下划线(删除的文本与之前一样为红色)。是否有命令可以实现此目的?我无法从手册页。
另一种方法是修改CCHANGEBAR
样式,将添加的文本格式化为蓝色,将删除的文本格式化为红色,但没有删除线,然后为删除的文本添加删除线(我的问题是如何)。
答案1
没有标准选项可以执行此操作,但您可以创建自己的前言文件来latexdiff
替换突出显示命令。在标准运行之后,您需要做的latexdiff
就是将写入的行复制latexdiff
到 diff 文件的标题中,并更改那些不符合您风格的行。对于您来说,要更改的命令是\DIFadd
默认的
\providecommand{\DIFadd}[1]{{\protect\color{blue}\uwave{#1}}} %DIF PREAMBLE
波浪下划线是由 生成的\uwave{...}
,因此删除它我们得到
\providecommand{\DIFadd}[1]{{\protect\color{blue}#1}}
完整的前言文件如下
\RequirePackage[normalem]{ulem}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{{\protect\color{blue}#1}}
\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}}
\providecommand{\DIFaddbegin}{}
\providecommand{\DIFaddend}{}
\providecommand{\DIFdelbegin}{}
\providecommand{\DIFdelend}{}
\providecommand{\DIFaddFL}[1]{\DIFadd{#1}}
\providecommand{\DIFdelFL}[1]{\DIFdel{#1}}
\providecommand{\DIFaddbeginFL}{}
\providecommand{\DIFaddendFL}{}
\providecommand{\DIFdelbeginFL}{}
\providecommand{\DIFdelendFL}{}
如果你调用它,preamble.tex
可以latexdiff
通过
latexdiff -p preamble.tex old.tex new.tex > diff.tex
和new.tex
\documentclass{article}
\begin{document}
The text now starts with this.
\end{document}
和old.tex
\documentclass{article}
\begin{document}
The text started with this.
\end{document}
这会产生diff.tex
一个
答案2
另一个选择是使用文本编辑器编辑文件 latexdiff,将行从
\providecommand{\DIFadd}[1]{{\protect\color{blue}\uwave{#1}}} %DIF PREAMBLE
到
\providecommand{\DIFadd}[1]{{\protect\color{blue}#1}}
如上所述。这样,就不需要创建任何可渗透的文件了。