将表格标题放在顶行内

将表格标题放在顶行内
\documentclass{article}
\begin{document}
\begin{table}[!h]
\caption{Caption (not here)} 
\centering
\begin{tabular}{|cc|}
\hline 
\multicolumn{2}{|c|}{Table 1---Caption(should be here)} \\ 
Property A & Property B \\ \hline 
a1 & b1 \\ 
a2 & b2 \\ \hline 
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

代码生成了图中的表格。我知道,这很完美。但我正在撰写论文的期刊要求将标题放在应该在这里。还请注意,表格编号后面没有冒号,而是有一个破折号,它将表格编号和标题连接起来,中间没有任何空格。

我该怎么做?

答案1

一个强力解决方案,但对日志的期望(哪一个?也许它提供了一个自己的类?)非常奇怪。第一和第三张表仅用于控制适当的行为。

\documentclass{article}
\begin{document}
\begin{table}[!h]
\caption{Caption (not here)} 
\centering
\begin{tabular}{|cc|}
\hline 
\multicolumn{2}{|c|}{Table 1---Caption(should be here)} \\ 
Property A & Property B \\ \hline 
a1 & b1 \\ 
a2 & b2 \\ \hline 
\end{tabular}
\end{table}

Changes only here

\begin{table}[!h]
\refstepcounter{table} %% increment the 'table' counter first
%\caption{Caption (not here)} 
\centering
\begin{tabular}{|cc|}
\hline 
%\multicolumn{2}{|c|}{Table 1---Caption(should be here)} \\ 
\multicolumn{2}{|c|}{\tablename~\thetable---Caption(should be here)}\\
Property A & Property B \\ \hline 
a1 & b1 \\ 
a2 & b2 \\ \hline 
\end{tabular}
\end{table}



\begin{table}[!h]
\caption{Caption (not here)} 
\centering
\begin{tabular}{|cc|}
\hline 
\multicolumn{2}{|c|}{Table 1---Caption(should be here)} \\ 
Property A & Property B \\ \hline 
a1 & b1 \\ 
a2 & b2 \\ \hline 
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

答案2

在这里,我只需\vspace向上tabular覆盖标题,然后\kern在表格顶部的空白行添加一些内容,以适应标题宽度。

已编辑,在标题中提供破折号(通过编辑article的定义\@makecaption)。

\documentclass{article}
\makeatletter
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{#1---#2}%
  \ifdim \wd\@tempboxa >\hsize
    #1---#2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
\makeatother
\begin{document}
\begin{table}[!h]
\caption{Caption goes here~} 
\vspace{-12pt}
\centering
\begin{tabular}{|cc|}
\hline 
\multicolumn{2}{|c|}{\kern1.6in} \\ 
Property A & Property B \\ \hline 
a1 & b1 \\ 
a2 & b2 \\ \hline 
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容