我正在尝试在图像的标题内插入一个矩阵。
编译后的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
和.lof
文件,即使用short
和long 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}