带有数学公式的标题会导致错误

带有数学公式的标题会导致错误

我有以下 Latex 代码片段,出现错误 Argument of \caption@ydblarg has an extra }. ...I\\-I&0 \end{pmatrix}$. \end{minipage} }

\begin{figure}[h]
    \centering
    \begin{tikzpicture}[domain=2.5:5.4] 
        \draw[very thin,color=gray] (2.0,0.0) grid (5.9,3.9);
        \draw[->] (2.0,0) -- (6.5,0) node[right] {$\mathbf{q}$}; 
        \draw[->] (2.0,0.0) -- (2.0,4.2) node[above] {$\mathbf{p}$};
        \draw[color=blue]   plot (\x,{0.3+0.01*exp(\x)}) ;   
        \draw[color=orange] plot (\x,{0.7+0.015*exp(\x)}) ;
        \filldraw (2.7,0.45) circle (2pt) node[align=left,   below] {$(\mathbf{q}_0,\mathbf{p}_0)=\mathbf{x}_0$};
        \filldraw (5.0,1.77) circle (2pt) node[align=right,   below] {$(\mathbf{q}(h),\mathbf{p}(h))=\mathbf{x}(h)$};
    \end{tikzpicture}
    \caption{\leavevmode\\
       \begin{minipage}{\linewidth}
            The flow map $\varphi(\mathbf{x}_0,h)=\mathbf{x}(h)$ is a symplectic transformation, i.e.
            $(\text{D}\varphi)^TJ\text{ D}\varphi=J=\begin{pmatrix}0&I\\-I&0 \end{pmatrix}$.  
        \end{minipage} 
    }
end{figure}

错误是由于 pmatrix 部分引起的。有人知道如何更改它吗?

答案1

如果要在“图 1”之后加换行符,请使用适当的方式,并配合包使用caption

该代码与最新的 TeX 发行版完美兼容,因此我猜你用的是一个过时的版本(2018 或更早版本)。

在这种情况下,使用\protect\begin{pmatrix}\protect\end{pmatrix}

这是一个更好的编码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{caption}

\captionsetup{labelsep=newline}

\begin{document}

\begin{figure}[htp]
\centering

\begin{tikzpicture}[domain=2.5:5.4] 
  \draw[very thin,color=gray] (2.0,0.0) grid (5.9,3.9);
  \draw[->] (2.0,0) -- (6.5,0) node[right] {$\mathbf{q}$}; 
  \draw[->] (2.0,0.0) -- (2.0,4.2) node[above] {$\mathbf{p}$};
  \draw[color=blue]   plot (\x,{0.3+0.01*exp(\x)}) ;   
  \draw[color=orange] plot (\x,{0.7+0.015*exp(\x)}) ;
  \filldraw (2.7,0.45) circle (2pt) node[align=left,below]
    {$(\mathbf{q}_0,\mathbf{p}_0)=\mathbf{x}_0$};
  \filldraw (5.0,1.77) circle (2pt) node[align=right,below]
    {$(\mathbf{q}(h),\mathbf{p}(h))=\mathbf{x}(h)$};
\end{tikzpicture}

\caption{The flow map $\varphi(\mathbf{x}_0,h)=\mathbf{x}(h)$ is a symplectic transformation,
   i.e., $(\mathrm{D}\varphi)^TJ\,\mathrm{D}\varphi=J=\begin{pmatrix}0&I\\-I&0 \end{pmatrix}$.}
\end{figure}

\end{document}

如上所述,使用

\caption{The flow map $\varphi(\mathbf{x}_0,h)=\mathbf{x}(h)$ is a symplectic transformation,
   i.e., $(\mathrm{D}\varphi)^TJ\,\mathrm{D}\varphi=J=\protect\begin{pmatrix}0&I\\-I&0 \protect\end{pmatrix}$.}

如果您无法更新您的 TeX 发行版。

在此处输入图片描述

如果没有\usepackage{caption}\captionsetup线,你会得到

在此处输入图片描述

相关内容