使用 latexdiff 我遇到了一个问题,通过添加新的\section
,我尝试运行 pdflatex 时出现以下错误。
! Argument of \UL@word has an extra }.
<inserted text>
\par
l.69 \subsection{\DIFadd{Some Text}}
在这里您可以看到重新定义的\section
命令...
\renewcommand{\section}{%
\@startsection{section}%
{1} % Structure level
{0mm} % Indention
{2ex plus 1ex minus 1ex} % Pre-Margin
{0.5ex plus 0.5ex minus 0.5ex} % Post-Margin
{\chapterheadfont\Large\bfseries} % Style
}
\renewcommand{\subsection}{%
\@startsection{subsection}%
{2} % Structure level
{0mm} % Indention
{1.5ex plus 1ex minus 0.5ex} % Pre-Margin
{0.3ex plus 0.3ex minus 0.3ex} % Post-Margin
{\chapterheadfont\large\bfseries} % Style
}
我该如何解决这个问题?对我来说,忽略更改的部分名称也是可行的。
答案1
(原帖作者的回答,从问题中移出。)
我以为这会更复杂,但我找到了一个解决方案。使用--exclude-textcmd
允许忽略标签。它现在可以工作了。
--exclude-textcmd="section,subsection"
答案2
如果没有 MWE 的话会很困难,但我认为困难在于hyperref
,它会尝试将带下划线/划掉的文本作为超链接包含在内,因为它是章节的一部分。
解决方案是使用texorpdfstring
,它告诉 hyperref 使用纯文本作为超链接。我不记得latexdiff
definds 的确切命令,但请尝试以下方法:
% Redefine these commands for chapter/sections and change below
\DeclareRobustCommand{\hsout}[1]{\texorpdfstring{\sout{#1}}{#1}}
\DeclareRobustCommand{\hwave}[1]{\texorpdfstring{\uwave{#1}}{#1}}
%DIF PREAMBLE EXTENSION ADDED BY LATEXDIFF
%DIF UNDERLINE PREAMBLE %DIF PREAMBLE
\RequirePackage[normalem]{ulem}% DIF PREAMBLE
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}%DIF PREAMBLE
\providecommand{\DIFadd}[1]{{\protect\textcolor{blue}{\hwave{#1}}}}% DIF PREAMBLE
\providecommand{\DIFdel}[1]{{\protect\textcolor{red}{\hsout{#1}}}}% DIF PREAMBLE
...
答案3
我遇到了问题
\section{\DIFdelbegin \DIFdel{Conclusion}\DIFdelend \DIFaddbegin \DIFadd{Conclusions}\DIFaddend }
和Jörg 的解决方案对我来说没用。有效的是手动替换:
\section{\texorpdfstring{\DIFdelbegin \DIFdel{Conclusion}\DIFdelend \DIFaddbegin \DIFadd{Conclusions}\DIFaddend }{Conclusions}}
答案4
我有类似这样的事情:
\subsection{\DIFadd{Experimental results added}}
,然后 MiKTeX 出现错误。
我将其改为:
\section*{\DIFadd{Experimental results added}}
或者\subsection*{\DIFadd{Experimental results added}}
,那么就可以了,但没有章节编号。
所以我再次更改它:
\section[]{\DIFadd{Experimental results added}}
或者\subsection[]{\DIFadd{Experimental results added}}
。
希望这可以解决您的问题(不完美:部分编号颜色仍然是黑色)。