Ich muss die Tabelle in der Abbildung erstellen, aber ich erhalte mehrere Fehler. Könnten Sie mir bitte erklären, was meine Fehler sind? (Ich habe die Zahlen nicht in meinen Code eingefügt... Ich möchte nur verstehen, wie das funktioniert)
\begin{document}
\begin{tabularx} {\textwidth} {cccccc}
\bottomrule
Regione & Assistiti & di cui over 65 & di cui under 65 & % anziani & % under 65
\midrule
Italia & x & x & x & x& x //
Nord & x & x & x & x& x //
Centro & x & x & x & x& x //
Sud & x & x & x & x& x //
Basilicata & x & x & x & x& x //
\bottomrule
end{tabularx}
\end{document}
Antwort1
Wie wir in den Kommentaren sagten:
- Sie sollten verwenden
\\
, nicht//
am Ende der Tabellenzeilen %
ist ein spezielles Zeichen für LaTeX, das Sie schreiben sollten,\%
wenn Sie es als Prozentsatz verwenden, sonst betrachtet LaTeX das Folgende%
als Kommentar- aus Platzgründen sollten Sie oben in einer Tabelle verwenden und
\toprule
nicht\bottomrule
(deshalb haben sie diese Bezeichnung). - Sie sollten es nicht verwenden
tabularx
, wenn Sie keinenX
Spaltentyp haben.
Um den letzten Punkt besser zu erklären, sehen Sie sich diese Beispiele an:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{tabularx}
\begin{document}
In the following example, since the table is longer than the line width
(we have an \verb|Overfull \hbox| error), the lines stop before the text
ends:
\begin{center}
\begin{tabularx}{\linewidth}{cc}
\toprule
Don't try this at home, this is wrong! & Non fatelo, è sbagliato!\\
\midrule
Example of wrong use of \texttt{tabularx} & Esempio di un uso sbagliato di \texttt{tabularx}\\
\bottomrule
\end{tabularx}
\end{center}
In the following example, since the table is too much shorter than the
line width, the lines go too much ahead w.r.t. the text:
\begin{center}
\begin{tabularx}{\linewidth}{cc}
\toprule
This is wrong! & Questo è sbagliato!\\
\midrule
Wrong use & Uso sbagliato\\
\bottomrule
\end{tabularx}
\end{center}
Whereas, with \verb|X| columns:
\begin{center}
\begin{tabularx}{\linewidth}{XX}
\toprule
Try this at home, this is correct! & Questo si può fare, è giusto!\\
\midrule
Example of correct use of \texttt{tabularx} & Esempio di un uso corretto di \texttt{tabularx}\\
\bottomrule
\end{tabularx}
\end{center}
\begin{center}
\begin{tabularx}{\linewidth}{XX}
\toprule
This is correct! & Questo è corretto!\\
\midrule
Correct use & Uso corretto\\
\bottomrule
\end{tabularx}
\end{center}
\end{document}
Wenn Sie all dies anwenden, erhalten Sie hier einen funktionierenden Code (da Ihre Tabelle größer ist als die Linienbreite, die ich hinzugefügt habe, \footnotesize
um die Schrift kleiner zu machen).
Beachten Sie bei der Ausrichtung, dass l
diese links, r
rechts und c
mittig bedeutet.
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{center}
\footnotesize\begin{tabular}{lrrrrr}
\toprule
Regione & Assistiti & di cui over 65 & di cui under 65 & \% anziani & \% under 65\\
\midrule
Italia & x & x & x & x& x \\
Nord & x & x & x & x& x \\
Centro & x & x & x & x& x \\
Sud & x & x & x & x& x \\
Basilicata & x & x & x & x& x \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
Natürlich gibt es auch andere Lösungen, hier ist ein Beispiel mit tabularx
. Da die X
Spalte standardmäßig rechtsbündig ausgerichtet ist, habe ich einen neuen Spaltentyp erstellt, R
um die Spalten linksbündig auszurichten.
*5R
ist eine Abkürzung für RRRRR
.
\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{booktabs}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}
\begin{tabularx}{\linewidth}{l*5R}
\toprule
Regione & Assistiti & di cui over 65 & di cui under 65 & \% anziani & \% under 65\\
\midrule
Italia & x & x & x & x& x \\
Nord & x & x & x & x& x \\
Centro & x & x & x & x& x \\
Sud & x & x & x & x& x \\
Basilicata & x & x & x & x& x \\
\bottomrule
\end{tabularx}
\end{document}
Antwort2
Berücksichtigen Sie alle Kommentare unter der Frage ... und fügen Sie einige meiner Vorschläge hinzu:
\documentclass{article}
\usepackage{adjustbox}
%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{table}[htb]
\sisetup{group-minimum-digits=4,
group-separator={.},
output-decimal-marker={,}}
\setlength\tabcolsep{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
l
*{2}{S[table-format=6.0]}
S[table-format=5.0]
*{2}{S[table-format=2.2]}
}
\toprule
Regione & {Assistiti} & {di cui over 65} & {di cui under 65} & {\% anziani} & {\% under 65} \\
\midrule
Italia & 123456 & 12345 & 1234 & 12,34 & 12,34 \\
Nord & 12345 & 123456 & 123 & 12,34 & 12,34 \\
Centro & 123456 & 12345 & 12345 & 12,34 & 12,34 \\
Sud & 123456 & 12345 & 1234 & 12,34 & 12,34 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
Die hinzugefügten roten Linien dienen nur dem Seitenlayout.
Antwort3
Versuche dies
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\begin{document}
\begin{tabularx} {\textwidth} {cccccc}
\hline
Regione & Assistiti & di cui over 65 & di cui under 65 & \% anziani & \% under 65 \\
\hline
Italia & x & x & x & x & x \\
Nord & x & x & x & x & x \\
Centro & x & x & x & x & x \\
Sud & x & x & x & x & x \\
Basilicata & x & x & x & x & x \\
\hline
\end{tabularx}
\end{document}