我想在 Beamer 中调整标题和表格/图形之间的间距。但是我无法克服警告
包标题警告:\caption 将不会被重新定义,因为它已经(caption)由文档类或包重新定义,而该文档类或包对于 caption 包来说是未知的。
我尝试使用caption
和subfig
包。我使用了命令\captionsetup{skip=0pt,belowskip=0pt}
。我无法克服警告。编辑:我想补充一下,我正在尝试修改(减少)此框架中的间距。对于其他框架,我可以使用默认间距。
我的框架需要以下格式。
MWE
在我看来
\documentclass{beamer}
\mode<presentation> {\usetheme{Madrid}}
\usepackage{graphicx} % Allows including images
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables
\usepackage{lmodern}% http://ctan.org/pkg/lm
\usepackage{bm}
\usepackage{subfig}
% \usepackage{caption}
\graphicspath{{Images/}} % path for images
\begin{document}
\begin{frame}
\frametitle{Results: Measurement of Length}
\begin{picture}(0,200)
\put(-5,210){
\begin{minipage}[t]{0.48\linewidth}
\setbeamerfont{caption}{size=\tiny}
\captionsetup[figure]{skip=0pt}%,belowskip=0pt}
\begin{figure}
\includegraphics[width=4.5cm, height=3cm]{C5.S.Results/Slide1.png}
\caption{Calibration: 1mm $\approx$\ 247 pixels.}
\end{figure}
\end{minipage}
}
\put(175,210){
\begin{minipage}[t]{0.48\linewidth}
\centering
\tiny{
\begin{table}[H]
\setbeamerfont{caption}{size=\tiny}
\captionsetup{skip=0pt,belowskip=0pt}
\caption{Mean of measurements shown in Fig.\ 1}
\begin{tabular}{cc}
\specialrule{1pt}{0pt}{3pt}
\textbf{Reading} & \textbf{Measurements from } \\
\textbf{Number}& \textbf{Fig. A \ ($\bm\mu$m)} \\
\specialrule{1.5pt}{2pt}{4pt}
1 & 121.6\\
2 & 117.6\\
3 & 121.6\\
4 & 137.8\\
5 & 121.6\\\specialrule{0.25pt}{2pt}{4pt}
\textbf{Mean diameter :} & \textbf{124}\\
\specialrule{1pt}{2pt}{2pt}
\end{tabular}
\end{table}
}
\end{minipage}
}
\end{picture}
\end{frame}
\end{document}
框架如下所示
答案1
这里最好的方法是本地重新定义\abovecaptionskip
和\belowcaptionskip
(默认值= 7pt
)。以下示例显示了此重新定义(它是本地的,因为它是在环境内完成的):
\documentclass{beamer}
\mode<presentation> {\usetheme{Madrid}}
\usepackage{graphicx} % Allows including images
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables
\usepackage{lmodern}% http://ctan.org/pkg/lm
\usepackage{bm}
\setbeamertemplate{caption}[numbered]
\begin{document}
\begin{frame}
\frametitle{Results: Measurement of Length}
\begin{picture}(0,200)
\setlength\abovecaptionskip{-5pt}
\setlength\belowcaptionskip{0pt}
\put(-5,210){
\begin{minipage}[t]{0.48\linewidth}
\setbeamerfont{caption}{size=\tiny}
\begin{figure}
\includegraphics[width=4.5cm, height=3cm]{example-image-a}
\caption{Calibration: 1mm $\approx$\ 247 pixels.}
\label{fig:calibration}
\end{figure}
\end{minipage}
}
\put(175,200){
\begin{minipage}[t]{0.48\linewidth}
\centering
\tiny{
\begin{table}[H]
\setbeamerfont{caption}{size=\tiny}
\caption{Mean of measurements shown in Fig.~\ref{fig:calibration}}
\begin{tabular}{cc}
\specialrule{1pt}{0pt}{3pt}
\textbf{Reading} & \textbf{Measurements from } \\
\textbf{Number}& \textbf{Fig. A \ ($\bm\mu$m)} \\
\specialrule{1.5pt}{2pt}{4pt}
1 & 121.6\\
2 & 117.6\\
3 & 121.6\\
4 & 137.8\\
5 & 121.6\\\specialrule{0.25pt}{2pt}{4pt}
\textbf{Mean diameter :} & \textbf{124}\\
\specialrule{1pt}{2pt}{2pt}
\end{tabular}
\end{table}
}
\end{minipage}
}
\end{picture}
\end{frame}
\end{document}
结果:
最好不要手动对对象进行编号以进行交叉引用;推荐的方法是使用标准\label
,\ref
机制。在您的图中,我放置了一个\label
:
\caption{Calibration: 1mm $\approx$\ 247 pixels.}
\label{fig:calibration}
然后,在表格中,我使用\ref
\caption{Mean of measurements shown in Fig.~\ref{fig:calibration}}
(需要运行两次才能出现交叉引用)。我添加了
\setbeamertemplate{caption}[numbered]
至序言部分,因此图表均有明确的编号。