不使用 tabularx 放大表格/表格

不使用 tabularx 放大表格/表格

我有以下表格,我想将其放大。表格的宽度不必像\textwidth通常那样大,但应该稍微大一点:

\documentclass{article}
\usepackage{multirow}

\begin{document}

\begin{table}[bthp]
\centering
\begin{tabular}{ccccc}
\hline
\multicolumn{2}{c}{\multirow{2}{*}{\textbf{Parameter}}} & \multicolumn{3}{c}{\textbf{Messungen in ms}}                                  \\ \cline{3-5} 
\multicolumn{2}{c}{}     & \multicolumn{1}{c}{\textbf{First}} & \multicolumn{1}{c}{\textbf{Second}} & \multicolumn{1}{c}{\textbf{Third}} \\ \hline
\multirow{2}{*}{1KB}   & A & 0,043                                 & 0,200                                              & 0,990                                       \\ \cline{2-5} 
                       & B & 0,075                                  & 0,218                                                & 0,372                                          \\ \hline
\multirow{2}{*}{100KB} & A & 4,059                               & 0,283                                              & 5,087                                       \\ \cline{2-5} 
                       & B & 7,232                                  & 0,405                                                & 7,715                                          \\ \hline
\multirow{2}{*}{1MB}   & A & 37,989                              & 0,938                                             & 39,648                                      \\ \cline{2-5} 
                       & B & 38,600                                   & 1,445                                                & 40,122                                         \\ \hline
\multirow{2}{*}{100MB} & A & 3652,048                            & 73,660                                            & 3726,602                                    \\ \cline{2-5} 
                       & B & 3647,882                               & 115,198                                              & 3763,163                                       \\ \hline
\multirow{2}{*}{1GB}   & A & 36703,907                           & 738,011                                            & 37442,66                                    \\ \cline{2-5} 
                       & B & 36326,751                              & 1117,514                                             & 37444,319                                      \\ \hline
\multirow{2}{*}{4GB}   & A & 146859,876                            & 2815,443                                            & 149676,013                                    \\ \cline{2-5} 
                       & B & 146340,339                             & 4363,830                                              & 150704,225                                     \\ \hline
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

问题是它使用了\multicolumn\multirow。我使用工具创建了表格http://www.tablesgenerator.com/latex_tables。此外,单元格中的文本位置应居中,并且tabularx我得到左边界文本。

答案1

要将表格加宽到,比如说,,0.8\textwidth您可以使用tabular*环境而不是当前tabular环境;使用指令@{\extracolsep{\fill}}让 LaTeX 充分扩展列间空白,以便表格占据第一个参数中指定的宽度tabular*

你确实应该对你的桌子做一些改进。我建议你

  • 将数字数据与小数点对齐(在本例中,是逗号而不是句点);这可以使用包dcolumn或包来完成。在下面的示例中,我对三个数字列siunitx使用了列类型。d{6.3}

  • 删除大多数\cline和指令,并使用-- 、、和-- 包\hline的宏来插入间距合适的行,以衬托标题材料并标记表格的结尾。内部指令可以完全删除;我会使用额外的垂直空格代替内部的s。booktabs\toprule\midrule\bottomrule\cmidrule\cline\hline

  • 再添加一些修饰来简化和统一材质的视觉外观

在此处输入图片描述

\documentclass[]{article}
\usepackage{multirow,dcolumn,booktabs}
\newcolumntype{d}[1]{D{,}{,}{#1}}

\begin{document}
\begin{table}[bthp]
\centering
\begin{tabular*}{0.8\textwidth}{@{} l @{\extracolsep{\fill}} l *{3}{d{6.3}} @{}}
\toprule
\multicolumn{2}{@{}l}{\textbf{Parameter}} & \multicolumn{3}{c}{\textbf{Messungen in ms}}                                  \\ \cmidrule(l){3-5}
&   
& \multicolumn{1}{r}{\textbf{First}} 
& \multicolumn{1}{r}{\textbf{Second}} 
& \multicolumn{1}{r@{}}{\textbf{Third}} \\ 
\midrule
\multirow{2}{*}{1KB}   & A & 0,043                                 & 0,200                                              & 0,990                                       \\
                       & B & 0,075                                  & 0,218                                                & 0,372                                          \\[1.5ex]
\multirow{2}{*}{100KB} & A & 4,059                               & 0,283                                              & 5,087                                       \\
                       & B & 7,232                                  & 0,405                                                & 7,715                                          \\[1.5ex]
\multirow{2}{*}{1MB}   & A & 37,989                              & 0,938                                             & 39,648                                      \\
                       & B & 38,600                                   & 1,445                                                & 40,122                                         \\[1.5ex]
\multirow{2}{*}{100MB} & A & 3652,048                            & 73,660                                            & 3726,602                                    \\
                       & B & 3647,882                               & 115,198                                              & 3763,163                                       \\[1.5ex]
\multirow{2}{*}{1GB}   & A & 36703,907                           & 738,011                                            & 37442,66                                    \\
                       & B & 36326,751                              & 1117,514                                             & 37444,319                                      \\[1.5ex]
\multirow{2}{*}{4GB}   & A & 146859,876                            & 2815,443                                            & 149676,013                                    \\ 
                       & B & 146340,339                             & 4363,830                                              & 150704,225                                     \\ 
\bottomrule
\end{tabular*}
\end{table}
\end{document} 

答案2

这使用了一种新的列类型R,它将在 2.5 厘米的 parbox 内将文本(数字)向右对齐。

展示框仅用于\textwidth比较。

其他可能性:使用更大的字体大小。

\documentclass{article}
\usepackage{multirow}
\usepackage{showframe}%
\usepackage{ragged2e}
\usepackage{array}


\newcolumntype{R}[1]{>{\RaggedLeft}p{#1}}


\begin{document}

\begin{table}[bthp]
\centering
\begin{tabular}{cc*{3}{R{2.5cm}}}
\hline
\multicolumn{2}{c}{\multirow{2}{*}{\textbf{Parameter}}} & \multicolumn{3}{c}{\textbf{Messungen in ms}}                                  \\ \cline{3-5} 
\multicolumn{2}{c}{}     & \multicolumn{1}{c}{\textbf{First}} & \multicolumn{1}{c}{\textbf{Second}} & \multicolumn{1}{c}{\textbf{Third}} \\ \hline
\multirow{2}{*}{1KB}   & A & 0,043                                 & 0,200                                              & 0,990                                       \\ \cline{2-5} 
                       & B & 0,075                                  & 0,218                                                & 0,372                                          \\ \hline
\multirow{2}{*}{100KB} & A & 4,059                               & 0,283                                              & 5,087                                       \\ \cline{2-5} 
                       & B & 7,232                                  & 0,405                                                & 7,715                                          \\ \hline
\multirow{2}{*}{1MB}   & A & 37,989                              & 0,938                                             & 39,648                                      \\ \cline{2-5} 
                       & B & 38,600                                   & 1,445                                                & 40,122                                         \\ \hline
\multirow{2}{*}{100MB} & A & 3652,048                            & 73,660                                            & 3726,602                                    \\ \cline{2-5} 
                       & B & 3647,882                               & 115,198                                              & 3763,163                                       \\ \hline
\multirow{2}{*}{1GB}   & A & 36703,907                           & 738,011                                            & 37442,66                                    \\ \cline{2-5} 
                       & B & 36326,751                              & 1117,514                                             & 37444,319                                      \\ \hline
\multirow{2}{*}{4GB}   & A & 146859,876                            & 2815,443                                            & 149676,013                                    \\ \cline{2-5} 
                       & B & 146340,339                             & 4363,830                                              & 150704,225                                     \\ \hline
\end{tabular}
\end{table}


\end{document}

在此处输入图片描述

答案3

分组行时避免使用\multirow;特别是标题“参数”不应降低,因为它是第一级,如“Messungen in ms”。空单元格被解释为“重复上面的值”。

对于间距,\hspace{...}在列之间添加;调整以适合我设置的 3em 值。

使用siunitx可以正确对齐数字。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{siunitx,booktabs}
\sisetup{output-decimal-marker={,}}

\begin{document}

\begin{table}[bthp]
\sisetup{group-four-digits} % in the table the four digit numbers should be like the longer ones

\centering

\begin{tabular}{
  l
  c@{\hspace{3em}}
  S[table-format=6.3]@{\hspace{3em}}
  S[table-format=4.3]@{\hspace{3em}}
  S[table-format=6.3]
}
\toprule
\multicolumn{2}{c}{\textbf{Parameter}} &
  \multicolumn{3}{c}{\textbf{Messungen in \si{ms}}} \\ 
\cmidrule(lr){3-5}
&& {\textbf{First}} & {\textbf{Second}} & {\textbf{Third}} \\
\midrule
1\,KB   & A &      0,043 &    0,200 &      0,990 \\
        & B &      0,075 &    0,218 &      0,372 \\
\midrule
100\,KB & A &      4,059 &    0,283 &      5,087 \\
        & B &      7,232 &    0,405 &      7,715 \\
\midrule
1\,MB   & A &     37,989 &    0,938 &     39,648 \\
        & B &     38,600 &    1,445 &     40,122 \\
\midrule
100\,MB & A &   3652,048 &   73,660 &   3726,602 \\
        & B &   3647,882 &  115,198 &   3763,163 \\
\midrule
1\,GB   & A &  36703,907 &  738,011 &  37442,660 \\
        & B &  36326,751 & 1117,514 &  37444,319 \\
\midrule
4\,GB   & A & 146859,876 & 2815,443 & 149676,013 \\
        & B & 146340,339 & 4363,830 & 150704,225 \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

相关内容