Рассмотрим использование пакета multirow со стандартным элементом LaTeX tabular. Данный пакет нужен в тех случаях, когда нужно объединить ячейки по вертикали. Обычно он применяется только для одного столбца, но в сочетании с командой \multicolumn может объединять в том числе и несколько столбцов.
Подключение пакета
\usepackage{multirow}Синтаксис вызова
\multirow[vpos]{nrows}[bigstruts]{width}[vmove]{text}где:
- vpos - выравнивание по вертикали, может принимать значение c, t, b, которые соответственно обозначают по центру, по верхнему краю и по нижнему краю
- nrows - количество объединяемых строк
- bigstruts - используется только при использовании команды \bigstrut
- width - определяет ширину текста. Использование специального символа
*показывает, что должно быть использована естественная ширина текста - vmove - сдвиг текста по вертикали, если отрицательное, то вверх, если положительное, то вниз
- text - текст ячейки
Параметры, взятые в [ ] - не обязательные
Примеры
Создадим таблицу некоторых данных с использованием multirow. Для начала не будем использовать никаких лишних параметров, пишем:
\usepackage{multirow}
...
\begin{tabular}{|p{4cm}|p{3cm}|p{3cm}|c|c|c|c|c|c|} \hline
\textbf{Наименование операции} & \textbf{Сотрудник} & \textbf{Фамилия И.О.} & \textbf{13} & \textbf{15} & \textbf{17} & \textbf{20} & \textbf{22} & \textbf{24} \\ \hline
Операция первая, важная & Директор & Петров В.В. & + & + & + & + & + & + \\ \hline
\multirow{2}{*}{Операция вторая, которую могут делать несколько разных сотрудников, второстепенная} & Сотрудник & Иванова С.С. & + & + & + & & & \\ \cline{2-9}
& Сотрудник & Ласточкина Л.Л. & & & & + & + & + \\ \hline
\end{tabular}

Добавим фиксированную ширину:
...
\multirow{2}{4cm}{Операция вторая, которую могут делать несколько разных сотрудников, второстепенная} & Сотрудник & Иванова С.С. & + & + & + & & & \\ \cline{2-9}
...В результате получим вот такую таблицу:

Как видно, получилось опять не совсем то, что ожидалось. Нужно сделать так, чтобы содержимое полностью оказалось в таблице. Используем bigstruts:
...
\setlength{\bigstrutjot}{0.3cm}
...
\multirow{2}{4cm}[0.15cm]{Операция вторая, которую могут делать несколько разных сотрудников, второстепенная} & Сотрудник \bigstrut & Иванова С.С. & + & + & + & & & \\ \cline{2-9}
& Сотрудник \bigstrut & Ласточкина Л.Л. & & & & + & + & + \\ \hline
\end{tabular}

Обратите внимание, что в данном примере мы также воспользовались вертикальным сдвигом внутри multirow, чтобы визуально сделать содержимое ячейки более привлекательным.
Или в данном случае можно было бы воспользоваться выравниванием по нижнему краю:
\multirow[b]{2}{4cm}{...Еще одна полезная команда при использовании multirow – \multirowsetup. Она позволяет задать выравнивание по горизонтали для всех используемых ячеек multirow, например, выравнивание по правому краю:
\renewcommand\multirowsetup{\raggedleft}Если нужно объединить группу ячеек по вертикали и по горизонтали, то в сочетании с multicolumn необходимо использовать multirow внутри multicolumn. Иначе работать не будет:
\begin{tabular}{|c|c|c|} \hline
1 & 2 & 3 \\ \hline
\multicolumn{2}{|c|}{\multirow{3}{*}{Мульти-пульти}} & A \\ \cline{3-3}
\multicolumn{2}{|c|}{} & B \\ \cline{3-3}
\multicolumn{2}{|c|}{} & С \\ \hline
\end{tabular}В результате получим вот такую табличку с объединенными двумя столбцами и тремя строками:
