\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}