Sitting in the Heart of the Universe

28 Среда Май 2008
Метки
Задача: Ценрировать текст в ячейке таблицы (окружение tabular ) по вертикали.
Решение:
Используем пакет multirow . Имеется два случая.
- Необходимо объединить несколько ячеек таблицы. Для этого используется команда multirow
*
, которая создает ячейку, содержащую text и объединяющую row строк.
Существует так же вариант команды multirow* , где задается ширина width ячейки. - Нужно центрировать текст по вертикали в одной строке. Воспользуемся опцией m
по центру которой необходимо выровнять всю строку таблицы.
Пример: Код, идущий ниже, создает две таблицы. В первой объединяются ячейки по вертикали, во второй — текст в них центрируется по наиболее высокой ячейке.
documentclass[a4paper, 12pt]
usepackage
We want to centre text in table cells:
egin
egin
hline
Object & Behaviours & Examples \
hline
multirow<3>*
cline<2-3>
& solid & Cu \
cline<2-3>
& strong & Al \
hline
multirow<2>*
cline<2-3>
& may be solid & Plastics \
hline
end
end
egin
egin
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
end
We can do it!
end
Источник: Lapo Filippo Mori, Tables in LATEX2(epsilon): Packages and Methods, The PracTEX Journal, 2007, No. 1.
I can compile this table separately but when I want to compile the whole file, it gives me an error, which is fixed by removing multirow .

1 Answer 1
There are some errors in your code; you need to give a second argument to multirow (an explicit value for the cell width or * to use the natural width of the contents); also, label must always appear after caption in floating environments:

It is not clear why you are using p <. >columns if the cells are not containing paragraphs.
As a side note, I used centering instead of the center environment to avoid adding extra vertical spacing (which in most cases is not desired).
You are not using all the columns you declared, but I guess that this was just for the example.
У меня очень простая таблица:
Это работает почти «идеально», единственная проблема, которая у меня есть, заключается в том, что линия все еще проходит первые две ячейки, которые я слил. В принципе, это выглядит так
Однако, это должно быть так:
Кто-нибудь знает, как избавиться от строки в первом столбце?
2 ответов
Требуемая команда: cline
В частности, вы захотите использовать cline <2-4>, чтобы нарисовать горизонтальную линию только по столбцам, которые вы упомянули. Вот ваш код с одним изменением:
Ну, чтобы , а не ответить на ваш вопрос, я отмечу, что многие власти предлагают минимизировать количество внутренних чернил в вашей таблице (т.е. е. зачеркните hline с между обычными рядами), и с помощью чего-нибудь линии последняя цифра здесь .
Если вас не ограничивает какое-то строго определенное руководство по стилю, это будет моим решением.