我正在为此苦苦挣扎。本质上,我想放置表格上方的标题而且还要在开头显示“表 1”并在同一行作为标题。最后,我希望标题左对齐(像往常一样),而不是居中(像现在一样)。
现在,通常情况下,我知道如何做这些事情,但包含该numprint
包似乎使我的所有经验法则都变得毫无用处:无论我将 放在哪里\begin{center}
\end{center}
,标题都位于中心。标题也始终出现在“表 1”文本下方一行。
\usepackage{numprint}
\npdecimalsign{.}
\nprounddigits{1}
\begin{table}[ht]
\centering
\begin{tabular}{|r| n{3}{1} n{3}{1} l| n{3}{1} n{3}{1} l| n{3}{1} n{3}{1} l|}
\hline
& \multicolumn{2}{c|}{\textbf{e1}}&\multicolumn{2}{ c| }{\textbf{e2}} &\multicolumn{2}{c|}{\textbf{e3}}\\
\hline
\textbf{e1}&&&1.712682&(0.9381452)&2.768738&(1.646461)\\
\textbf{e2}&0.5613594&(0.4711274)&&&1.959158&(1.001164)\\
\textbf{e3}&185.9336662&(2.1302318)&140.417800&(1.797353)&&\\
\hline
\end{tabular}
\label{tab:tab1}
\caption{this data table}
\end{table}
\npnoround
答案1
不确定这是否是你的意思...我设置了一个文本宽度规则,以显示边距范围,并创建了一个命令\leftcaption
将标题放在那里。“表格 1”一词和标题位于不同的行上没有问题。
\documentclass{article}
\usepackage{calc}
\usepackage{numprint}
\newcommand\leftcaption[1]{\caption{#1\protect\rule{\textwidth-\widthof{#1}}{0in}}}
\begin{document}
\noindent\rule{\textwidth}{.1ex}
\npdecimalsign{.}
\nprounddigits{1}
\begin{table}[ht]
\leftcaption{this data table}
\centering
\begin{tabular}{|r| n{3}{1} n{3}{1} l| n{3}{1} n{3}{1} l| n{3}{1} n{3}{1} l|}
\hline
& \multicolumn{2}{c|}{\textbf{e1}}&\multicolumn{2}{ c| }{\textbf{e2}} &\multicolumn{2}{c|}{\textbf{e3}}\\
\hline
\textbf{e1}&&&1.712682&(0.9381452)&2.768738&(1.646461)\\
\textbf{e2}&0.5613594&(0.4711274)&&&1.959158&(1.001164)\\
\textbf{e3}&185.9336662&(2.1302318)&140.417800&(1.797353)&&\\
\hline
\end{tabular}
\label{tab:tab1}
\end{table}
\npnoround
\end{document}