Accents 包在字幕中不起作用

Accents 包在字幕中不起作用

我正在写一篇涉及相量的文档,我想使用这篇文章中的 egreg 符号:\bar 符号下方,例如$\underaccent{\bar}{U}$

除非我将相量放在标题内,否则它工作得很好。这是一个 MWE:

\documentclass[10pt]{article}
\usepackage{accents}
\usepackage{caption}
\usepackage{tikz}

\begin{document}
\begin{itemize}
\item An ugly phasor: $\underline{U}$.
\item Another, better good-looking phasor: $\underaccent{\bar}{U}$.
\end{itemize}

\begin{figure}[h]\centering
\begin{tikzpicture}
\draw[-latex] (0,0) -- (3,0) node [right] {$\underaccent{\bar}{U}$};
\end{tikzpicture}
\caption{One phasor.}
%\caption{One phasor $\underaccent{\bar}{U}$.} % <-- NOT WORKING
\end{figure}

\begin{center}
\begin{tikzpicture}
\draw[-latex] (0,0) -- (3,0) node [right] {$\underaccent{\bar}{V}$};
\end{tikzpicture}
\captionof{figure}{Another phasor.}
%\captionof{figure}{Another phasor $\underaccent{\bar}{V}$.} % <-- NOT WORKING EITHER
\end{center}
\end{document}

如您所见,我尝试使用 caption 包来解决此问题,但无济于事。我认为日志文件中的相关行可能是以下内容,但我不明白它们的含义:

! Undefined control sequence.
\cc@@accent #1#2->\let \cc@style 
                                 =#1\cc@fetch {#2}\mathaccent \cc@code {\ifc...

! Illegal parameter number in definition of \reserved@a.

我猜想,accents 包和 captions 之间存在某种不兼容性,但我在文档中没有看到任何相关信息。有没有更好的方法来解决此问题?

顺便说一下,我正在使用 TeX Live 2020。

答案1

如果你使用\DeclareRobustCommand

\documentclass[10pt]{article}
\usepackage{accents}
\usepackage{caption}
\usepackage{tikz}

\DeclareRobustCommand{\ubar}[1]{\underaccent{\bar}{#1}}

\begin{document}

\listoffigures

\begin{itemize}
\item An ugly phasor: $\underline{U}$.
\item Another, better good-looking phasor: $\underaccent{\bar}{U}$.
\end{itemize}

\begin{figure}[h]\centering
\begin{tikzpicture}
\draw[-latex] (0,0) -- (3,0) node [right] {$\underaccent{\bar}{U}$};
\end{tikzpicture}
\caption{One phasor $\ubar{U}$.} 
\end{figure}

\begin{center}
\begin{tikzpicture}
\draw[-latex] (0,0) -- (3,0) node [right] {$\underaccent{\bar}{V}$};
\end{tikzpicture}
\captionof{figure}{Another phasor $\ubar{V}$.}
\end{center}
\end{document}

产量

在此处输入图片描述

相关内容