图题中的 TrackChanges

图题中的 TrackChanges

如何trackchanges在图形标题中使用包宏?

\documentclass{article}

\usepackage[margins]{trackchanges}
\addeditor{NH}

\begin{document}

%Non-Problematic
\begin{figure}[htbp]
    \caption{My Caption}
\end{figure}

%Problematic
\begin{figure}[htbp]
    \caption{My Caption with \change[NH]{Old}{New} Text}
\end{figure}

%Problematic
\begin{figure}[htbp]
    \change[NH]{ %
        \caption{My Caption with Old Text}
    }{
        \caption{My Caption with New Text}
    }
\end{figure}

\end{document}

答案1

正如 @Jagath AR 所指出的,第一个问题是margins选项,因为它使用了 a \marginpar,而这在浮点数中是不允许的。margins您可以做的不是关闭选项,而是重新定义内部命令,这样浮点数中的此类更正就会以内联方式打印。

对于第二个问题,使用最后的图,\caption默认情况下这不是一个脆弱的命令,因此如果将其作为另一个命令的参数包含在内,则应该使用\protect它。

示例输出

\documentclass{article}

\usepackage[margins]{trackchanges}

\newcommand{\inlineText}[2]{\footnotesize\UserLabel~#2}
\let\oldmarginText\marginText

\makeatletter
\renewcommand{\marginText}[2]{%
  \@ifundefined{@captype}{\oldmarginText{#1}{#2}}{\inlineText{#1}{#2}}%
}
\makeatother

\addeditor{NH}

\begin{document}

\begin{figure}[htbp]
    \caption{My Caption}
\end{figure}

An ordinary \change[NH]{change}{difference}.

\begin{figure}[htbp]
    \caption{My Caption with \change[NH]{Old}{New} Text}
\end{figure}

%Problematic
\begin{figure}[htbp]
  \centering
  Figure
   \change[NH]{%
        \protect\caption{My Caption with Old Text}%
    }{%
        \protect\caption{My Caption with New Text}%
    }
\end{figure}

\end{document}

答案2

包选项margins导致了问题,因为轨道更改被写为边注。这对于浮动来说是不可能的。因此,如果您删除该选项,margin第一个问题将得到解决。第三个图也导致了问题。我现在已经删除了第三个图并更改了包选项,以inline使您的 MWE 生成 PDF。

\documentclass{article}

\usepackage[inline]{../LatexPackage/trackchanges}
\addeditor{NH}

\begin{document}

%Non-Problematic
\begin{figure}[htbp]
    \caption{My Caption}
\end{figure}

%Problematic
\begin{figure}[htbp]
    \caption{My Caption with \change[NH]{Old}{New} Text}
\end{figure}

\end{document}

相关内容