我在使用 beamer 和 caption 包时遇到了一个奇怪的问题。也就是说,当我使用 caption 包和 beamer 进行某些设置时,表格名称会以某种方式被图形名称覆盖:
\documentclass[11pt]{beamer}
\setbeamertemplate{caption}[numbered]
\usepackage[justification=centering]{caption}
\begin{document}
\begin{frame}
\begin{figure}
FIGURE
\caption{My figure}
\end{figure}
\begin{table}
TABLE
\caption{My table}
\end{table}
\end{frame}
\end{document}
注释掉标题包(最后一条序言行)会使事情恢复正常,但当然理由不再起作用...有人可以指出我这里发生了什么吗?
答案1
在这里,正如其他人在评论中指出的那样,您的文档产生了正确的结果(使用 TeXLive 2018、TeXLive 2019 和 TeXLive 2020)。
但您怀疑该caption
软件包是导致错误的原因,因此,作为解决方法,以下文档在不使用此软件包的情况下产生了正确的结果。它定义并使用了一个caption
名为 的新 Beamer 模板centered and numbered caption w/o caption package
,并包含非常长的标题。
\documentclass[11pt]{beamer}
\setbeamertemplate{caption}[numbered]
%\usepackage[justification=centering]{caption}
\defbeamertemplate{caption}{centered and numbered caption w/o caption package}{%
\parbox{\linewidth}{%
\centering%
{%
\usebeamerfont{caption name}%
\usebeamercolor[fg]{caption name}%
\insertcaptionname\space\insertcaptionnumber%
}%
\usebeamertemplate{caption label separator}%
\insertcaption%
}%
}
\setbeamertemplate{caption}[centered and numbered caption w/o caption package]
\begin{document}
\begin{frame}
\begin{figure}
\fbox{My figure}
\caption{My figure with a very... very... very... very... very... very very very
very very long caption}
\end{figure}
\begin{table}
\caption{My table with a very very very very very very very very
very very long caption}
\fbox{My table}
\end{table}
\end{frame}
\end{document}