將矩陣放在標題內可以使 \caption 具有額外的 }

將矩陣放在標題內可以使 \caption 具有額外的 }

我正在嘗試在圖像標題內插入一個矩陣。

在此輸入影像描述

編譯後的 pdf 顯示圖片,但出現錯誤:

\caption@{無法破解} 有一個額外的 }

在此輸入影像描述

有人可以指出我可能在哪裡插入了額外的內容嗎}?因為我在任何地方都沒有看到它!

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{thmtools}       
\usepackage{graphicx}
\setlength\parindent{0pt}
\usepackage[linesnumbered,ruled]{algorithm2e}
\usepackage{hyperref}
\usepackage{caption} 
\usepackage{cleveref}

\begin{document}
\section{Introduction}
\begin{figure}[ht]
    \begin{center}
        \includegraphics{jpg-to-pdf.pdf}
    \end{center}
    \caption{$x^\star =\begin{bmatrix} \alpha, \beta, \gamma \end{bmatrix}$}
    \label{fig:just_picture_of_cute_cat}
\end{figure}
\end{document}

有人也知道什麼嗎伊德布拉格是?

答案1

\begin{matrix}\end{matrix}是脆弱的命令,在連接到的寫入過程中無法生存\caption- 內容將寫入.aux文件,並.lof稍後使用\@writefile.

為了防止那裡的脆弱性,命令\begin{matrix}\end{matrix}必須用\protect,即\protect\begin{matrix}和 來保護\protect\end{matrix}

如果未啟動保護,則\caption過早遇到}不是其強制參數的結束括號的情況。

更好的方法是應用可選參數\captionand 來防止將數學內容寫入.auxand.lof文件,即使用shortandlong caption樣式。

但是,如果在標題參數中寫入易碎內容short,則必須再次啟用保護。

或使用強大的命令。

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{thmtools}       
\usepackage{graphicx}
\setlength\parindent{0pt}
\usepackage[linesnumbered,ruled]{algorithm2e}
\usepackage{hyperref}
\usepackage{caption} 
\usepackage{cleveref}

\begin{document}
\listoffigures
\section{Introduction}
\begin{figure}[ht]
  \centering

  \includegraphics{ente}
  \caption{$x^\star =\protect\begin{bmatrix} \alpha, \beta, \gamma \protect\end{bmatrix}$}
  \caption[Foo content]{$x^\star =\begin{bmatrix} \alpha, \beta, \gamma \end{bmatrix}$}
  \label{fig:just_picture_of_cute_cat}
\end{figure}
\end{document}

在此輸入影像描述

和一隻貓在一起:-P

在此輸入影像描述

答案2

新增\protect進入和離開環境:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{graphicx}
\setlength\parindent{0pt}
\usepackage{caption}
\usepackage{hyperref}
\usepackage{cleveref}

\begin{document}

\begin{figure}[ht]
\centering
        \includegraphics[scale=0.5]{vent_cat}
    \caption{$x^\star =\protect\begin{bmatrix} \alpha, \beta, \gamma \protect\end{bmatrix}$}
    \label{fig:just_picture_of_cute_cat}
\end{figure}

\end{document} 

在此輸入影像描述

相關內容