![在相邻表格之间插入空格](https://linux22.com/image/392459/%E5%9C%A8%E7%9B%B8%E9%82%BB%E8%A1%A8%E6%A0%BC%E4%B9%8B%E9%97%B4%E6%8F%92%E5%85%A5%E7%A9%BA%E6%A0%BC.png)
目前,我实际上有一个大表格,其中包含多个较小的表格。也就是说,我的格式需要改进。无论如何,我目前有一个包含 9 列、3 行的表格。这 9 列分为 3 个列部分。我想要的是调整这 3 个列部分之间的间隙,以便所有表格(或单个大表格,取决于您如何看待它)的宽度等于页面宽度。目前它们都集中在中心。
这是我目前拥有的:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\noindent\begin{tabular}{lllllllll}
%\toprule
\multicolumn{3}{c}{\textbf{Computer Language}} & \multicolumn{3}{c}{\textbf{Tools}} & \multicolumn{3}{c}{\textbf{Hardware}} \\
\cmidrule(r){1-3}\cmidrule(l){4-6}\cmidrule(l){7-9}
%\midrule
C \& C++ & Java & Python & item & item & item & item & item & item\\
MIPS Assembly & Bash & Verilog & something & item & item & item & item & item \\
%\bottomrule
\end{tabular}
\end{document}
此外,是否也可以在此格式中为每个项目添加项目符号?也许完全不同的布局更合适。欢迎提出建议。
我的解释可能有点复杂,所以如果需要进一步解释,请告诉我。
答案1
这是一个可能的解决方案,我将表分成三个tabular
环境:
\documentclass{article}
\usepackage{geometry}
\usepackage{booktabs}
\begin{document}
\noindent\begin{tabular}{lll}
\multicolumn{3}{c}{\textbf{Computer Language}}\\
\midrule
C \& C++ & Java & Python \\
MIPS Assembly & Bash & Verilog\\
\end{tabular} \qquad
\begin{tabular}{lll}
\multicolumn{3}{c}{\textbf{Tools}}\\
\midrule
item & item & item \\
item & item & item \\
\end{tabular} \qquad
\begin{tabular}{lll}
\multicolumn{3}{c}{\textbf{Hardware}}\\
\midrule
item & item & item \\
item & item & item \\
\end{tabular}
\end{document}
如果您\qquad
用替换\hfill
,距离会自动调整到尽可能大,同时仍然适合一页。结果如下图所示(红线表示边距):
答案2
类似这样的,基于tabularx
和geometry
??
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{ragged2e}
\usepackage{siunitx}
\usepackage{tabularx, booktabs}
\setlength{\extrarowheight}{3pt}
\newcolumntype{Y}{>{\hsize=0.98\hsize\RaggedRight \arraybackslash}X}
\newcolumntype{Z}{>{\hsize=0.98\hsize\RaggedRight \arraybackslash\textbullet~}X}
\setlength{\tabcolsep}{3pt}
\begin{document}
\noindent\begin{tabularx}{\linewidth}{>{\hsize=1.16\hsize\RaggedRight\arraybackslash}XYY*{2}{!{\quad}ZZZ}}
%\toprule
\multicolumn{3}{c}{\textbf{Computer Language}} & \multicolumn{3}{c}{\textbf{Tools}} & \multicolumn{3}{c}{\textbf{Hardware}} \\
\cmidrule(r{1.5em}){1-3}\cmidrule(lr{1.5em}){4-6}\cmidrule(lr{1.5em}){7-9}
%Methods & {Time [\si{\second}]} & {RunCount} & {Time [\si{\second}]} & {RunCount} \\
%\midrule
C \& C++ & Java & Python & item & item & item & item & item & item\\
MIPS Assembly & Bash & Verilog & some\-thing & item & item & item & item & item \\
%\bottomrule
\end{tabularx}
\end{document}
答案3
如果您不想拆分成单独的表,可以添加空列。
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\noindent\begin{tabular}{lllclllclll}
%\toprule
\multicolumn{3}{c}{\textbf{Computer Language}} && \multicolumn{3}{c}{\textbf{Tools}} && \multicolumn{3}{c}{\textbf{Hardware}} \\
\cmidrule(r){1-3}\cmidrule(l){5-7}\cmidrule(l){9-11}
%\midrule
C \& C++ & Java & Python && item & item & item && item & item & item\\
MIPS Assembly & Bash & Verilog && something & item & item && item & item & item \\
%\bottomrule
\end{tabular}
如果您想要增加(或减少)额外空间的数量,您可以将 s 替换c
为c@{\hskip 1cm}
,或您想要的任何长度。
或者,如果您想将表格推至页边距,您可以拆分成单独的表格并使用\hfill
。
但是如果表格太宽,这会将第三个表格推到下一行。