Основы создания таблиц
Для создания таблиц в LaTeX используется окружение tabular. Это базовое окружение, оно позволяет определить структуру таблицы, указав количество столбцов и их форматирование.
\begin{tabular}{|l|c|r|} % здесь в скобках указываются количество столбцов, их параметры и вертикальные линии
\hline % горизонтальная линия (верхняя)
Левая колонка & Центральная колонка & Правая колонка \\ % & — разделители между ячейками \\ — конец строки
\hline % горизонтальная линия (после первой строки)
Текст 1 & Текст 2 & Текст 3 \\
\hline % горизонтальная линия (после второй строки)
Текст 4 & Текст 5 & Текст 6 \\
\hline % горизонтальная линия (после последней строки)
\end{tabular}
Формат столбцов
l: выравнивание столбца по левому краю.
c: выравнивание столбца по центру.
r: выравнивание столбца по правому краю.
|: добавление вертикальной линии между столбцами.
p{ширина в см}: текст в ячейке с переносом строк и заданной шириной, используется для колонок с длинным текстом.

Объединение ячеек
Объединение по горизонтали задается командой \multicolumn. Команда имеет три параметра: \multicolumn{количество столбцов}{выравнивание}{текст}.
\begin{tabular}{|c|c|c|}
\hline
\multicolumn{3}{|c|}{Общий заголовок} \\ \hline
Колонка 1 & Колонка 2 & Колонка 3 \\ \hline
Текст 1 & Текст 2 & Текст 3 \\ \hline
\end{tabular} 
Объединение по вертикали задается командой \multirow (необходим пакет multirow):
\usepackage{multirow}
...
\begin{tabular}{|l|l|l|}
\hline
\multirow{2}{*}{Объединённые строки} & 12 & 13 \\
& 22 & 23 \\ \hline
31 & 32 & 33 \\ \hline
\end{tabular}
Подробнее возможности пакета multirow описаны в статье, посвященной этому пакету.
Автоматическая нумерация и заголовки таблиц
Для создания подписи к таблице (одновременно таблица будет автоматически нумероваться) используется окружение table:
\begin{table}[h] % в скобках указывается параметр плавания таблицы, h означает разместить здесь же (here)
\centering % центрирование всей таблицы
\caption{Пример таблицы с подписью} % подпись к таблице
\label{tab:example} % метка таблицы, на которую можно будет сослаться
\begin{tabular}{c|l|c|c|r}
\hline
№ & Продукт & Количество & Цена, руб. & Итого, руб. \\
\hline
1 & Яблоки & 10 & 100 & 1000 \\
2 & Груши & 5 & 150 & 750 \\
3 & Бананы & 8 & 80 & 640 \\
\hline
\end{tabular}
\end{table}Чтобы сослаться на эту таблицу, достаточно в тексте написать «см. таблицу \ref{tab:example}».

Расширенные возможности таблиц
Кроме обычных таблиц на основе окружения tabular, существуют и другие типы таблиц, обладающие более широкими возможностями. Два из них — tabularx и longtable — особенно полезны, так как помогают решить многие распространённые проблемы при создании таблиц в LaTeX.
Пакет tabularx
Таблица tabularx — это расширение стандартной таблицы tabular в автоматическим расчетом ширины колонок. У таблицы можно указать общую ширину (первый параметр). Автоматически вычисляемая колонка обозначается как X. Текст в таких колонках автоматически переносится. Также их можно комбинировать со стандартными колонками (l, c, r, p{}).
\usepackage{tabularx}
...
\begin{tabularx}{0.8\textwidth}{|X|c|c|}
\hline
Колонка с автоматической определяемой шириной & 2 колонка & 3 колонка \\ \hline
Текст & Текст\footnote{В окружение можно добавить подстрочное примечание, в обычной таблице оно не работает.} & Текст \\ \hline
\end{tabularx}
Пакет longtable
longtable — это пакет для многостраничных таблиц. Его возможности:
- автоматический разрыв страницы;
- преамбула как у
tabular; - повтор заголовков (
\endfirsthead,\endhead) и подписей (\endfoot,\endlastfoot); - название таблицы и ссылка на нее (
\caption,\label) внутри окружения (не нужно использовать дополнительно окружениеtable);
...
\begin{longtable}{|l|c|}
\caption{Возраст сотрудников}\label{age} \\
\hline \textbf{Имя} & \textbf{Возраст} \\ \hline \endfirsthead % Первый заголовок
\hline \textbf{Имя} & \textbf{Возраст} \\ \hline \endhead % Повторять на каждой странице (без названия таблицы)
\multicolumn{2}{r}{\textit{\footnotesize продолжение на следующей странице}}
\endfoot % Строка под таблицей
\hline\endlastfoot % Строка под окончанием таблицы, здесь дополнительная линия
Анна & 25 \\ \hline
Борис & 30 \\ \hline
Виктория & 28 \\ \hline
Георгий & 34 \\ \hline
Дмитрий & 18 \\ \hline
Евгений & 41 \\ \hline
Екатерина & 36 \\ \hline
% ... и так далее — таблица может быть длинной
\end{longtable}
В этой статье мы рассмотрели основы создания таблиц в LaTeX — от простых таблиц с объединением ячеек до автоматической нумерации и подписей. Также были представлены расширенные возможности с помощью пакетов tabularx и longtable, которые позволяют управлять шириной столбцов и создавать таблицы, переносящиеся на несколько страниц. Вместе эти инструменты делают работу с таблицами в LaTeX гибкой и удобной даже для сложных документов.