info###latexinfo.ru

Объединение строк в LaTeX — пакет multirow

Рассмотрим использование пакета 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 в качестве ширины, текст выходит за пределы ячейки.

Добавим фиксированную ширину:

...
\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}

В результате получим вот такую табличку с объединенными двумя столбцами и тремя строками:

LaTeX для всех
  • latex
  • multirow
  • tabular
  • longtable
  • таблицы
  • объединение строк и ячеек в latex

11.10.2024  ·  Оформление текста

Стиль шрифта: жирный, курсив, подчеркивание

Применение простого форматирования текста, задание стиля шрифта (курсива, жирного шрифта, подчеркивания и т. п.) и семейства шрифта (шрифты с засечками, без засечек, моноширинные) позволяет сделать акценты или обратить внимание на некоторые слова, фразы, абзацы в тексте. Рассмотрим каким образом это можно сделать в LaTeX.

читать далее

09.09.2024  ·  Оформление текста

Как изменить размер шрифта

Задать шрифт в документе LaTeX можно несколькими способами: во всем документе сразу, для отдельного слова или фразы с помощью команд и окружения. Также можно задавать высоту базовой линии. Рассмотрим каждый из этих способов.

читать далее

Находясь на нашем сайте, вы принимаете условия использования файлов cookies. Более подробная информация здесь.