05.28.08
Вертикальное выравнивание и объединение ячеек таблицы в latex
Задача: Ценрировать текст в ячейке таблицы (окружение tabular) по вертикали.
Решение:
Используем пакет multirow. Имеется два случая.
- Необходимо объединить несколько ячеек таблицы. Для этого используется команда
\multirow{row}*{text}, которая создает ячейку, содержащуюtextи объединяющуюrowстрок.
Существует так же вариант команды\multirow{row}{width}*{text}, где задается ширинаwidthячейки. - Нужно центрировать текст по вертикали в одной строке. Воспользуемся опцией
m{width}по центру которой необходимо выровнять всю строку таблицы.
Пример: Код, идущий ниже, создает две таблицы. В первой объединяются ячейки по вертикали, во второй — текст в них центрируется по наиболее высокой ячейке.
\documentclass[a4paper, 12pt]{article}
\usepackage{multirow}
\usepackage{array}\begin{document}
We want to centre text in table cells:
\begin{center}
\begin{tabular}{clc}
\hline
Object & Behaviours & Examples \\
\hline
\multirow{3}{Metals} & conduct current & Fe \\
\cline{2-3}
& solid & Cu \\
\cline{2-3}
& strong & Al \\
\hline
\multirow{2}*{Dielectrics} & may be gaseous & Air \\
\cline{2-3}
& may be solid & Plastics \\
\hline
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{cm{3cm}c}
\hline
Object & Behaviours & Examples \\
\hline
Metals & Metals can be shine and strong. It conducts current well. & Al \\
\hline
Semiconductors & Conductiviti of semiconductors increase with increasing of temperature. & Ge \\
\hline
\end{tabular}
\end{center}
We can do it!
\end{document}
Источник: Lapo Filippo Mori, Tables in LATEX2(epsilon): Packages and Methods, The PracTEX Journal, 2007, No. 1.
nertb сказал,
Пятница, 23 Январь, 2009 в 14:30
непонятно
Engraver сказал,
Пятница, 23 Январь, 2009 в 17:45
2nertb
Эммм, что именно?