キャプション内に行列を入れると、\captionに余分な}が付く。

キャプション内に行列を入れると、\captionに余分な}が付く。

画像のキャプション内にマトリックスを挿入しようとしています。

ここに画像の説明を入力してください

コンパイルされた PDF には画像が表示されますが、次のようなエラーが表示されます。

\caption@{indecipherable} には余分な } があります

ここに画像の説明を入力してください

誰か、どこに余分なものを挿入したのか教えてくれませんか}? どこにも見当たらないのですが!

\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早期に検出されます。}

より良い方法は、 のオプション引数を適用し、およびファイル\captionへの数式コンテンツの書き込みを防止することです。つまり、およびスタイルを使用します。.aux.lofshortlong 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} 

ここに画像の説明を入力してください

関連情報