首先,如果这个问题之前已经得到解答,我深表歉意。我尝试在任何地方寻找它,但找不到任何解决方案。
无论如何,当我包含子标题包时,我的表格的标题出现了问题。
这是代码的摘录:
\documentclass{ifacconf}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{table}[hb]
\centering
\caption{Test eheh blah}
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}
\end{table}
\end{document}
输出是
带字幕 http://imageshack.com/scaled/800x600/513/0o0l.jpg
但是,如果我删除了 subcaption 包,输出将符合预期
无字幕 http://imageshack.com/scaled/800x600/513/75c3.jpg
因此,我非常感激任何帮助。谢谢。
干杯。
編輯:
按照 Harish Kumar 的回答,虽然它确实解决了我表格中的标题问题,但它导致了我其他子图的标题出现问题。这是子图的代码。
\usepackage{epstopdf}
\begin{figure}[htb!]
\centering
\begin{subfigure}{0.38\textwidth}
\centering
\includegraphics[width=\textwidth]{pic1.eps}
\caption{test caption}
\label{fig:pic1}
\end{subfigure}
\\
\begin{subfigure}{0.38\textwidth}
\centering
\includegraphics[width=\textwidth]{pic2.eps}
\caption{test caption}
\label{fig:pic2}
\end{subfigure}
\caption{Long caption Long caption.}
\label{fig:pictures}
\end{figure}
输出
答案1
该类ifacconf
与不兼容caption
,如警告
Package caption Warning: Unsupported document class (or package) detected,
(caption) usage of the caption package is not recommended.
See the caption package documentation for explanation.
告诉你。这意味着也subcaption
不能使用。
在这些情况下,好的旧subfig
包通常可以解决问题,但有一个问题:类定义\captionwidth
为命令,而将subfig
其定义为维度寄存器。此外,类错误地
\let\endfigure\end@float
\let\endtable\end@float
这也导致该类不兼容subfig
。
解决方法:
\documentclass{ifacconf}
\usepackage{natbib}
\usepackage{graphicx}
\makeatletter
\def\endfigure{\end@float}
\def\endtable{\end@float}
\makeatother
\let\ifacconfcaptionwidth\captionwidth
\usepackage[caption=false]{subfig}
\let\captionwidth\ifacconfcaptionwidth
\begin{document}
\begin{table}[htbp]
\centering
\caption{Test eheh blah}
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}
\end{table}
\begin{table}[htbp]
\centering
\caption{Test eheh blah}
\subfloat[A subcaption]{%
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}%
}
\subfloat[B subcaption]{%
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}%
}
\end{table}
\end{document}
只要您不使用subfig
选项来更改子标题的外观,这就足够了。
也许更好的解决方法可能是
\documentclass{ifacconf}
\usepackage{natbib}
\usepackage{graphicx}
\makeatletter
\def\endfigure{\end@float}
\def\endtable{\end@float}
\makeatother
\usepackage[caption=false]{subfig}
\usepackage{etoolbox}
\AtBeginEnvironment{figure}{\setlength{\captionwidth}{0.8\linewidth}}
\AtBeginEnvironment{table}{\setlength{\captionwidth}{0.8\linewidth}}
\captionsetup[subfloat]{width=.7\captionwidth}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Test eheh blah}
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}
\end{table}
\begin{table}[htbp]
\centering
\caption{Test eheh blah}
\subfloat[A subcaption]{%
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}%
}
\subfloat[B subcaption]{%
\begin{tabular}{|c|c|c|c|} \hline
\multicolumn{4}{|c|}{Margin settings} \\
\hline
Page & Top & Bottom & Left/Right \\ \hline
First & 3.5 & 2.5 & 1.5 \\ \hline
Rest & 2.5 & 2.5 & 1.5 \\ \hline
\end{tabular}%
}
\end{table}
\end{document}
但我的建议是“不要在此类中使用子浮点数”。