
Я хотел бы начать с того, что мой опыт работы с LaTeX весьма ограничен. Я прочитал документацию, но она довольно сложна для моего понимания.
Моя таблица выглядит следующим образом:
Несколько вещей здесь. Как вы можете видеть, мой интервал между столбцами очень неверен, когда дело доходит до значений, и они не совпадают с заголовками столбцов. Я подумал, что мне нужно использовать, \multiplerows{}
возможно, чтобы исправить это. Это правильный путь? Как бы мне это реализовать?
Также, интервал между каждой новой записью в порядке, но слишком велик. Есть ли однострочный код, который я мог бы реализовать, чтобы немного уменьшить интервал по сравнению с тем, что, как я предполагаю, является настройкой по умолчанию?
Вот мой код (адаптирован из шаблона в Интернете):
\begin{document}
\begin{slide*}
\begin{table}
\centering
\footnotesize
\caption{Breakdown by Voivodeship}
\label{tab:kathoden}
\begin{tabular}{@{}nd{1.1}*{4}{d{1.2}}d{1.1}d{3.2}@{}}
\toprule
\multicolumn{1}{N}{\bf{Voivodeship}} &
\multicolumn{1}{N}{Total Cases} &
\multicolumn{1}{N}{Cases 100k} &
\multicolumn{1}{N}{Total Deaths} &
\multicolumn{1}{N}{Deaths 100k} &
\multicolumn{1}{N}{Total Tests} &
\multicolumn{1}{N}{Total Tests} &
\multicolumn{1}{N}{Case Fatality} \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}%
\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}
Lower Silesia & 1100 & 1.15 & 1.25 & 1.45 & 1 & 220 & 20 \\
Kuyavian-Pomeranian & 1.5 & 1.8 & 1.9 & 2.2 & 1.5 & 20 & 20 \\
Lublin & 2 & 2.3 & 2.5 & 2.9 & 2 & 20 & 20 \\
Lubusz & 3 & 2.9 & 3.1 & 3.6 & 2.5 & 20 & 20 \\
Lodz & 3.5 & 3.5 & 10.8 & 4.3 & 20 & 20 & 20 \\
Lesser Poland & 3.5 & 3.5 & 3.8 & 4.3 & 20 & 20 & 29\\
Mazowieckie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Opole & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Subcarpathian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Podlasie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
\bottomrule
\end{tabular}
\end{table}
\end{slide*}
\end{document}
решение1
Поскольку вы новичок в мире таблиц LaTeX, я дам вам свой рецепт.
Во-первых, LaTeX предназначен для создания красивых печатных материалов или слайдов. Для реальной работы с числами я использую Excel. (Другие люди используют R или какой-либо другой статистический пакет.)
В электронной таблице вы можете выполнять вычисления, изменять порядок столбцов, задавать цвет заголовков или ячеек, устанавливать линии и т. д., пока не получите конечный результат в соответствии со своим вкусом или оригиналом, который вы воспроизводите, или стилем, которому вы должны соответствовать в итоговом отчете или диссертации.
Затем вы переходите в LaTeX. Вы можете вручную ввести таблицу ячейка за ячейкой, строка за строкой или экспортировать ее из источника (настоятельно рекомендуется).
Я использую надстройку Excel excel2latex, которая производит (почти) финальный код. Самое важное то, что она точно экспортирует содержимое, так что ничего не теряется при переводе.
https://ctan.org/pkg/excel2latex?lang=en
Скопируйте в буфер обмена и вставьте в свой код LateX. Он скомпилируется без ошибок. (В этом случае вам нужно добавить пакет booktabs
).
Затем вы можете работать с многочисленными пакетами LaTex, предназначенными для таблиц, чтобы подогнать таблицу под размер страницы, изменить стиль и т. д. Но самое главное, исходное содержимое останется нетронутым!
Для этого примера я добавил более короткие правила столбцов и подпись (вырезал и вставил из оригинала). Остальные украшения оставлены для читателя. :)
\documentclass[landscape]{article}
\usepackage{booktabs} %required
\usepackage{multirow} %not needed here but useful
\usepackage{geometry} % to fit the table in the page
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
\centering
\caption{Breakdown by Voivodeship}
\begin{tabular}{lccccccc}
\toprule
\textbf{Voivodeship} & Total Cases & Cases 100k & Total Deaths & Deaths 100k & Total Tests & Total Tests & Case Fatality \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}%
\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}
% \midrule
Lower Silesia & 1100 & 1.15 & 1.25 & 1.45 & 1 & 220 & 20 \\
Kuyavian-Pomeranian & 1.5 & 1.8 & 1.9 & 2.2 & 1.5 & 20 & 20 \\
Lublin & 2 & 2.3 & 2.5 & 2.9 & 2 & 20 & 20 \\
Lubusz & 3 & 2.9 & 3.1 & 3.6 & 2.5 & 20 & 20 \\
Lodz & 3.5 & 3.5 & 10.8 & 4.3 & 20 & 20 & 20 \\
Lesser Poland & 3.5 & 3.5 & 3.8 & 4.3 & 20 & 20 & 29 \\
Mazowieckie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Opole & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Subcarpathian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Podlasie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
решение2
Я бы написал вашу таблицу прямо в LaTeX.
Используя S
тип столбца, определенный в siunitx
пакете, левый расчет \tabcolsep
макроса \extracolsep{\fill}}
, для заголовков столбцов используйте \thead
команду, определенную в makecell
пакете. Эту таблицу можно вписать в слайд, для размера шрифта используется \scriptsize
:
\documentclass{beamer}
\usepackage{array, booktabs, makecell}
\renewcommand\theadfont{\scriptsize\bfseries}
\renewcommand\theadgape{}
\usepackage{siunitx}
\begin{document}
\begin{frame}
\frametitle{My beautiful table}
\begin{table}
\centering
\scriptsize
\setlength\tabcolsep{0pt}
\caption{Breakdown by Voivodeship}
\label{tab:kathoden}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} l
S[table-format=4.1]
S[table-format=1.2]
S[table-format=2.2]
S[table-format=1.2]
S[table-format=2.1]
S[table-format=3.0]
S[table-format=2.0]
}
\toprule
\thead{Voivodeship}
& {\thead{Total\\ Cases}}
& {\thead{\\Cases\\ 100k}}
& {\thead{Total\\ Deaths}}
& {\thead{Deaths \\100k}}
& {\thead{Total\\ Tests}}
& {\thead{Total\\ Tests}}
& {\thead{Case\\ Fatality}} \\
\midrule
% \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}%
% \cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}
Lower Silesia
& 1100 & 1.15 & 1.25 & 1.45 & 1 & 220 & 20 \\
Kuyavian-Pomeranian
& 1.5 & 1.8 & 1.9 & 2.2 & 1.5 & 20 & 20 \\
Lublin
& 2 & 2.3 & 2.5 & 2.9 & 2 & 20 & 20 \\
Lubusz
& 3 & 2.9 & 3.1 & 3.6 & 2.5 & 20 & 20 \\
Lodz
& 3.5 & 3.5 & 10.8 & 4.3 & 20 & 20 & 20 \\
Lesser Poland
& 3.5 & 3.5 & 3.8 & 4.3 & 20 & 20 & 29 \\
Mazowieckie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Opole
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Subcarpathian
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Podlasie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Silesian
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Silesian
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
\bottomrule
\end{tabular*}
\end{table}
\end{frame}
\end{document}