Ich habe diese Tabelle, die etwa 10 Spalten hat und Spaltenüberschriften hat, die sich überschneiden
wie kann ich Spalten trennen, ohne das Tabellendesign zu ändern (dieses Design muss vorhanden sein)
hier ist das Skript
\documentclass[computers,article,submit,moreauthors,pdftex]{Definitions/mdpi}
% MDPI internal commands - do not modify
\firstpage{1}
\makeatletter
\setcounter{page}{\@firstpage}
\makeatother
\pubvolume{1}
\issuenum{1}
\articlenumber{0}
\pubyear{2023}
\copyrightyear{2023}
\datereceived{ }
\daterevised{ } % Comment out if no revised date
\dateaccepted{ }
\datepublished{ }
\hreflink{https://doi.org/} % If needed use \linebreak
\Title{Test}
\begin{document}
\section{Background}
This the table \ref{table_FinalDataset}
\begin{table}[H]
\caption{xxxxxxxxxxxxxxxxxxxxx.}
\label{table_FinalDataset}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{tabularx}{\textwidth}{CCCCCCCCCCC}
\toprule
\multirow{2}{*}{\textbf{Report ID}}
& \multicolumn{5}{c}{\textbf{Features}}
& \multicolumn{5}{c}{\textbf{Labels}} \\
\cline{2-11}
& \textbf{C0004482} & \textbf{C0224473} & \textbf{C0719349}
& \textbf{C0230431} & \textbf{C0420607} & \textbf{295}
& \textbf{300} & \textbf{303} & \textbf{540}
& \textbf{560}\\
\midrule
1012 &6 &0 &0 &4 &2 &0 &1 &1 &0 &0\\
1013 &0 &2 &2 &8 &0 &1 &1 &0 &0 &1 \\
1014 &0 &0 &4 &4 &9 &1 &0 &1 &0 &0 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Antwort1
Ihr Problem besteht darin, dass die „Features“ lange Spalteneinträge sind und der X
Spaltentyp (den Sie definieren C
) alle Spalten gleich breit macht. Wenn Sie zu c
Spalten wechseln, sind diese breit genug für ihren Inhalt, aber die Tabelle ist (höchstwahrscheinlich) zu breit für den Textbereich. „Wie soll der Text passen?“ ist eine Frage, die Sie beantworten müssen, bevor Sie sich an TeX wenden, um dieses „Wie“ umzusetzen.
Eine Möglichkeit besteht darin, die Spaltenbeschriftungen für die Funktionen zu rotieren. Das wird normalerweise nicht gern gesehen, daher werde ich Sie bitten, das nachzuschlagen, wenn Sie es möchten. Eine zweite Möglichkeit wäre, die Spaltenbeschriftungen für die Funktionen in abwechselnden Zeilen anzuordnen. Eine dritte Möglichkeit (meine Präferenz) wäre, den Abschnitt „Funktionen“ und „Beschriftungen“ in separate Tabellen aufzuteilen.
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\begin{document}
\section{Background}
This the table \ref{table_FinalDataset}
% option 2
\begin{table}
\caption{xxxxxxxxxxxxxxxxxxxxx.}
\label{table_FinalDataset}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{tabularx}{\textwidth}{cCCCCCccccc}
\toprule
\textbf{Report}
& \multicolumn{5}{c}{\textbf{Features}}
& \multicolumn{5}{c}{\textbf{Labels}} \\
\cmidrule(lr){2-6}\cmidrule(l){7-11}
\textbf{ID} & & \makebox[0pt]{\textbf{C0224473}} &
& \makebox[0pt]{\textbf{C0230431}} & & \textbf{295}
& \textbf{300} & \textbf{303} & \textbf{540}
& \textbf{560}\\
& \makebox[0pt]{\textbf{C0004482}} & & \makebox[0pt]{\textbf{C0719349}} && \makebox[0pt]{\textbf{C0420607}} \\
\midrule
1012 &6 &0 &0 &4 &2 &0 &1 &1 &0 &0\\
1013 &0 &2 &2 &8 &0 &1 &1 &0 &0 &1 \\
1014 &0 &0 &4 &4 &9 &1 &0 &1 &0 &0 \\
\bottomrule
\end{tabularx}
\end{table}
\clearpage
% option 3a
\begin{table}[h]\small
\caption{Features by Report ID.}
\label{table_FinalDataset_features}
\begin{tabular*}{\textwidth}{cccccc}
\toprule
\textbf{Report ID}
& \textbf{C0004482} & \textbf{C0224473} & \textbf{C0719349}
& \textbf{C0230431} & \textbf{C0420607} \\
\midrule
1012 &6 &0 &0 &4 &2\\
1013 &0 &2 &2 &8 &0\\
1014 &0 &0 &4 &4 &9\\
\bottomrule
\end{tabular*}
\end{table}
% option 3b
\begin{table}[h]\centering
\caption{Labels by Report ID.}
\label{table_FinalDataset_labels}
\begin{tabular}{cccccc}
\toprule
\textbf{Report ID} & \textbf{295}
& \textbf{300} & \textbf{303} & \textbf{540}
& \textbf{560}\\
\midrule
1012 &0 &1 &1 &0 &0\\
1013 &1 &1 &0 &0 &1 \\
1014 &1 &0 &1 &0 &0 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}