npround(似乎)破坏了表格标题的规则

npround(似乎)破坏了表格标题的规则

我正在为此苦苦挣扎。本质上,我想放置表格上方的标题而且还要在开头显示“表 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}

在此处输入图片描述

相关内容