Мне нужно сделать таблицу на рисунке, но я получаю несколько ошибок. Не могли бы вы объяснить, в чем мои ошибки, пожалуйста? (Я не вставил цифры в свой код... Я просто хочу понять, как это работает)
\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}
решение1
Как мы уже говорили в комментариях:
- вы должны использовать
\\
, а не//
в конце строк таблицы %
это специальный символ для LaTeX,\%
если вы используете его, вы должны написать его в процентах, в противном случае LaTeX воспримет то, что следует дальше,%
как комментарий- в верхней части таблицы, для обеспечения пробелов, следует использовать
\toprule
, а не\bottomrule
(вот почему они так названы) - не следует использовать
tabularx
, если у вас нетX
типа столбца.
Чтобы лучше объяснить последний пункт, взгляните на эти примеры:
\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}
Применяя все это, вот рабочий код (поскольку ваша таблица больше ширины строки, которую я добавил, \footnotesize
чтобы сделать шрифт меньше).
Обратите внимание, что выравнивание l
подразумевает левое, r
правое и c
центральное положение.
\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}
Конечно, есть и другие решения, вот пример с tabularx
. Поскольку X
столбец по умолчанию имеет рваный правый край, я создал новый тип столбца, R
чтобы столбцы имели рваный левый край.
*5R
— это сокращение для 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}
решение2
учитывая все комментарии ниже по вопросу ... и добавлю несколько своих предложений:
\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}
добавленные красные линии предназначены только для показа макета страницы.
решение3
Попробуй это
\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}