
目前,我實際上擁有一張大表,其中包含多個較小的表。也就是說,我的格式需要改進。不管怎樣,我目前有一個 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
.
但如果表格太寬,這會將第三個表格推到下一行。