latex объединение ячеек таблицы

Sitting in the Heart of the Universe

28 Среда Май 2008

Метки

Задача: Ценрировать текст в ячейке таблицы (окружение tabular ) по вертикали.

Решение:
Используем пакет multirow . Имеется два случая.

  1. Необходимо объединить несколько ячеек таблицы. Для этого используется команда multirow* , которая создает ячейку, содержащую text и объединяющую row строк.
    Существует так же вариант команды multirow* , где задается ширина width ячейки.
  2. Нужно центрировать текст по вертикали в одной строке. Воспользуемся опцией m по центру которой необходимо выровнять всю строку таблицы.

Пример: Код, идущий ниже, создает две таблицы. В первой объединяются ячейки по вертикали, во второй — текст в них центрируется по наиболее высокой ячейке.

documentclass[a4paper, 12pt]

usepackage
usepackageegin
We want to centre text in table cells:
egin

egin
hline
Object & Behaviours & Examples \
hline
multirow<3>* & conduct current & Fe \
cline<2-3>
& solid & Cu \
cline<2-3>
& strong & Al \
hline
multirow<2>* & may be gaseous & Air \
cline<2-3>
& may be solid & Plastics \
hline
end
end

egin

eginc>
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 , которая позволяет рисовать разделитель строк только для определенных столбцов. См. http: // www. ГИСС. наса. г / инструменты / латекс / LTX-214. HTML для деталей.

В частности, вы захотите использовать cline <2-4>, чтобы нарисовать горизонтальную линию только по столбцам, которые вы упомянули. Вот ваш код с одним изменением:

Ну, чтобы , а не ответить на ваш вопрос, я отмечу, что многие власти предлагают минимизировать количество внутренних чернил в вашей таблице (т.е. е. зачеркните hline с между обычными рядами), и с помощью чего-нибудь линии последняя цифра здесь .

Если вас не ограничивает какое-то строго определенное руководство по стилю, это будет моим решением.

Оцените статью
SoftLast
Добавить комментарий