我有以下表格,我想将其放大。表格的宽度不必像\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}