Poner una matriz dentro del título da \caption tiene un extra}

Poner una matriz dentro del título da \caption tiene un extra}

Estoy intentando insertar una matriz dentro del título de una imagen.

ingrese la descripción de la imagen aquí

El pdf compilado muestra la imagen, pero da un error que dice:

\caption@{indescifrable} tiene un } adicional

ingrese la descripción de la imagen aquí

¿Puede alguien indicarme dónde podría haber insertado un extra }? ¡Porque no lo veo por ningún lado!

\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}

¿Alguien sabe también quéydblag¿es?

Respuesta1

\begin{matrix}y \end{matrix}son comandos frágiles que no sobreviven al proceso de escritura al que se está conectando \caption: el contenido se escribe en el .auxarchivo y .lofposteriormente en el archivo \@writefile.

Para evitar la fragilidad allí, los comandos \begin{matrix}y \end{matrix}deben protegerse con \protect, es decir, \protect\begin{matrix}y \protect\end{matrix}.

Si la protección no está activada, \captionencuentra prematuramente un }que no es el corchete final de su argumento obligatorio.

Una mejor manera es aplicar el argumento opcional de \captiony evitar la escritura de contenido matemático en el archivo .auxand .lof, es decir, usar el estilo shortand long caption.

Sin embargo, si se debe escribir contenido frágil en el shortargumento del título, la protección debe habilitarse nuevamente.

Alternativamente, utilice comandos robustos.

\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}

ingrese la descripción de la imagen aquí

Con un gato :-P

ingrese la descripción de la imagen aquí

Respuesta2

Agregue \protectal entrar y salir del entorno:

\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} 

ingrese la descripción de la imagen aquí

información relacionada