Ich versuche, eine Matrix in die Beschriftung eines Bildes einzufügen.
Das kompilierte PDF zeigt das Bild an, gibt jedoch einen Fehler aus, der besagt:
\caption@{indecipherable} hat ein zusätzliches }
Kann mir bitte jemand zeigen, wo ich möglicherweise ein zusätzliches eingefügt habe }
? Ich kann es nämlich nirgends sehen!
\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}
Weiß jemand auch wasAbonnierenIst?
Antwort1
\begin{matrix}
und \end{matrix}
sind fragile Befehle, die den Schreibvorgang nicht überstehen, wenn sie mit verbunden sind \caption
-- der Inhalt wird in die .aux
Datei geschrieben und .lof
später mit wieder in die Datei zurückgeschrieben \@writefile
.
Um dort die Fragilität zu verhindern, müssen die Befehle \begin{matrix}
und mit , also und geschützt werden .\end{matrix}
\protect
\protect\begin{matrix}
\protect\end{matrix}
Wenn der Schutz nicht aktiviert ist, \caption
tritt vorzeitig ein Fehler auf }
, der nicht die schließende Klammer des obligatorischen Arguments ist.
Besser ist es, das optionale Argument von anzuwenden \caption
und das Schreiben von mathematischen Inhalten in die .aux
und .lof
Datei zu verhindern, d. h. den short
und den long caption
Stil zu verwenden.
Wenn jedoch fragile Inhalte in das Caption-Argument geschrieben werden sollen short
, muss der Schutz erneut aktiviert werden.
Alternativ können Sie robuste Befehle verwenden.
\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}
Mit einer Katze :-P
Antwort2
Ergänzung \protect
zum Betreten und Verlassen der Umgebung:
\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}