
Im Moment habe ich tatsächlich eine große Tabelle, die eigentlich mehrere kleinere Tabellen enthalten sollte. Das heißt, meine Formatierung muss verbessert werden. So oder so habe ich derzeit eine Tabelle mit 9 Spalten und 3 Zeilen. Die 9 Spalten sind in 3 Spaltenabschnitte aufgeteilt. Ich möchte, dass der Abstand zwischen jedem dieser 3 Spaltenabschnitte so angepasst wird, dass die Breite aller Tabellen (oder der einzelnen großen Tabelle, je nachdem, wie man es betrachtet) der Seitenbreite entspricht. Derzeit sind sie alle zusammen in der Mitte.
Das habe ich derzeit:
\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}
Ist es außerdem möglich, in diesem Format jedem Punkt auch Aufzählungszeichen hinzuzufügen? Vielleicht wäre ein ganz anderes Layout besser geeignet. Vorschläge sind willkommen.
Meine Erklärung ist möglicherweise etwas verworren. Wenn Sie also weitere Erklärungen benötigen, lassen Sie es mich wissen.
Antwort1
tabular
Hier ist eine mögliche Lösung, bei der ich die Tabelle in drei Umgebungen aufteile :
\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}
Wenn Sie \qquad
durch ersetzen \hfill
, wird der Abstand automatisch so groß wie möglich eingestellt, ohne dass er auf eine Seite passt. Das Ergebnis wird im folgenden Bild angezeigt (rote Linien zeigen den Rand an):
Antwort2
So etwas, basierend auf tabularx
und 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}
Antwort3
Sie können leere Spalten hinzufügen, wenn Sie nicht in separate Tabellen aufteilen möchten.
\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}
Wenn Sie den zusätzlichen Platz vergrößern (oder verkleinern) möchten, können Sie das c
„s“ durch „ c@{\hskip 1cm}
oder eine beliebige andere Länge ersetzen.
Wenn Sie die Tabellen alternativ an die Seitenränder verschieben möchten, können Sie sie in separate Tabellen aufteilen und verwenden \hfill
.
Wenn die Tabellen jedoch zu breit sind, wird die dritte Tabelle in die nächste Zeile verschoben.