Latexdiff 错误(由多段落 \sout 引起):段落在 \UL@on 完成之前结束

Latexdiff 错误(由多段落 \sout 引起):段落在 \UL@on 完成之前结束

我尝试使用 latexdiff 向需要阅读并给我建议的其他人指出我在文档中所做的更改...但是,我一直收到此错误:

Runaway argument?
{En rajoutant aux interactions la seconde main, qui dans notre cas es\ETC.
! Paragraph ended before \UL@on was complete.
<to be read again> 
               \par 
l.8 }
   %DIFDELCMD <
?

关于 latexdiff 生成的这部分代码:

 \DIFdelbegin \DIFdel{En rajoutant aux interactions la seconde main, qui dans notre cas est la main gauche, l'interface pourrait devenir plus intuitive et plus facile à utiliser.

}%DIFDELCMD < 

%DIFDELCMD < %%%
\DIFdelend

其中\DIFdelbegin,,定义为(在我的主.tex中,由 latexdiff 自动添加)\DIFdel\DIFdelend

\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}} %DIF PREAMBLE
\providecommand{\DIFdelbegin}{} %DIF PREAMBLE
\providecommand{\DIFdelend}{} %DIF PREAMBLE

出了什么问题?我现在该怎么办?

\sout{#1}编辑:如果我用just替换#1(即删除删除线格式),它就可以正常工作,但删除线可能是它的最佳功能,可以很容易地发现删除的内容。是否有其他不会因新段落而中断的格式命令?

如果有删除线环境,我可能会使用它(通过放置一个\begin{strikethrough}in\DIFdelbegin和一个\end{strikethrough}in \DIFdelend),但我不认为有。

答案1

我遇到了完全相同的问题。Latexdiff 似乎引入了 Windows 行尾,这似乎导致了问题。

我现在在生成的 latexdiff tex 文件上运行 dos2unix,问题就消失了。

我正在运行 latexdiff 0.5 (Algorithm::Diff 1.15 所以)

答案2

我在 Mac 上使用 difflatex 时也遇到了同样的问题。完全相同的错误!我所做的就是将"}"导致问题的符号上移到段落末尾,这样就成功了。不要问我为什么,但对我来说,这样做是有效的 !!!

答案3

而不是\sout,尝试\st灵魂包裹。

答案4

我遇到了由插入的引用后命令引起的相同问题\hspace,不幸的是,这里的其他答案没有帮助。对于快速且相对合理的解决方法,修改“安全命令”列表latexdiff效果很好。就我而言,添加此选项已修复此问题:

latexdiff --exclude-safecmd='cite,citep,citet'   [....]

相关内容