我为图形定义了一个“便利宏”:
\def\Figure#1#2#3#4#5{
\begin{figure*}[htp]
\includegraphics[scale=#4,angle=#5]{#1}
\caption{#2}
\label{#3}
\end{figure*}
}
当我更改其中的任何组件(标签、标题、文件)时,latexdiff 会将其标记如下:
\DIFdelbegin %DIFDELCMD < \Figure{figures/param_fits/c:G0.38+0.04_0_h2coratio_minaxis.pdf}
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \Figure{figures/param_fits/c:G0.38+0.04_0_h2coratio.pdf}
\DIFaddend {text}
{fig:parsonbrightness}{0.5}{0}
编译时会导致以下错误:
! Missing number, treated as zero.
<to be read again>
f
l.2042 {fig:parsonbrightness}{0.5}
{0}
我尝试了一些配置:
latexdiff --append-mboxsafecmd="Figure,RotFigureTwoAA,RotFigureThreeAA" --append-safecmd="Figure,RotFigureThreeAA,RotFigureTwoAA"
但结果是:
\DIFdelbegin \DIFdel{\mbox{%DIFAUXCMD
\Figure{figures/param_fits/c:G0.38+0.04_0_h2coratio_minaxis.pdf}
}%DIFAUXCMD
}\DIFdelend \DIFaddbegin \DIFadd{\mbox{%DIFAUXCMD
\Figure{figures/param_fits/c:G0.38+0.04_0_h2coratio.pdf}
}%DIFAUXCMD
}\DIFaddend {text}
{fig:parsonbrightness}{0.5}{0}
构建时会导致以下错误:
! Argument of \Figure has an extra }.
<inserted text>
\par
l.2036 }
\DIFdelend \DIFaddbegin \DIFadd{\mbox{%DIFAUXCMD
有人能指出我正确的方向,以保持这些宏不受影响,或者更好的是,正确处理标题并忽略文件名的更改?
(相关但未解答:http://www.latex-community.org/forum/viewtopic.php?f=5&t=24811)
答案1
避免 \Figure 的不同参数之间有空格,或者尝试 --allow-spaces 选项。
对于第二个问题(“更好的是……”):只有当您重新定义宏,使标题成为最后一个参数时,才能正确处理标题(即在那里标记更改)。然后您可以使用 --append-textcmd=Figure 如果
您无法重新定义宏,则无法执行此操作。