Tex: подробное описание С. М. Львовский


Download 1.51 Mb.
Pdf ko'rish
bet93/143
Sana08.05.2023
Hajmi1.51 Mb.
#1444247
1   ...   89   90   91   92   93   94   95   96   ...   143
Bog'liq
LaTeX-Lvovsky

2. Верстка таблиц
При пользовании окружением tabbing Вы должны самостоятельно следить чтобы разные
колонки не накладывались друг на друга. Можно, однако, передать эти заботы программе:
TEX предоставляет возможности для верстки таблиц, в которых ширина колонок выбира
ется автоматически (по максимальной ширине их содержимого). В L
A
TEXе для этих целей
используются окружения tabular (для работы в
«текстовых» режимах) и array (для рабо
ты в математическом режиме). Помимо автоматизированного определения ширины колон

ки, эти окружения дают возможность верстать разлинованные таблицы, таблицы, в которых
некоторые записи охватывают несколько колонок, и т. д. В главе
II
уже шла речь про окру

жение array; здесь мы подробно разберем, как работает tabular; все возможности этого


VI.2. ВЕРСТКА ТАБЛИЦ
126
окружения, о которых идет речь в этой главе, доступны и для array, и в последнем разделе
главы мы дадим примеры их использования.
2.1. Простейшие случаи
Окружение tabular задает таблицу. Окружению необходимо задать обязательный аргумент
— преамбулу таблицы. Преамбула, помещаемая в фигурных скобках непосредственно по
сле \begin{tabular}, представляет собой, в простейшем случае, последовательность букв,
описывающих структуру колонок таблицы (по букве на колонку). Буквы эти могут быть та

кими:
l
означает колонку, выровненную по левому краю;
r
означает колонку, выровненную по правому краю;
c
означает колонку с центрированным текстом.
Между \begin{tabular} (с преамбулой) и закрывающей окружение командой \end{tabular}
располагается собственно текст таблицы. В нем команда \\ разделяет строки таблицы, а
знак &, называемый
«амперсендом», разделяет колонки таблицы внутри одной строки (так
что текст между двумя ближайшими амперсендами описывает
«одну графу» таблицы). Про
белы в начале или конце
«графы» таблицы игнорируются. Если Вы прочли раздел II.3.2, то
Вы уже заметили, что все это в точности совпадает с тем, что написано в этом разделе про
окружение array . Разница лишь в том, что содержимое граф таблицы обрабатывается в
окружении tabular как текст, а в окружении array
— как формулы.
Прежде, чем мы начнем говорить о более сложных вещах, скажем о том, как окруже

ние tabular взаимодействует с окружающим текстом. В отличие от других встречавшихся
нам до сих пор окружений, оно не начинает печать с новой строки и не завершает текуще

го абзаца. Вся таблица, порождаемая этим окружением, рассматривается TEXом как одна
большая буква; если окружение tabular встретилось в середине абзаца, эта
«буква» будет
помещена в строку (соседние строки раздвинутся, чтобы она поместилась), и результат бу

дет выглядеть некрасиво. Если такое размещение текста не входит в Ваши планы, начинайте
окружение tabular между абзацами (после пустой строки или команды \par). Удобно так

же бывает поместить окружение tabular внутрь окружения center или подобного ему: тогда
L
A
TEX сам позаботится о пробелах между таблицей и окружающим текстом.
А теперь посмотрите на первый пример:
Тип перечня
нумерация
itemize
нет
enumerate
есть
description
нет
\begin{tabular}{lc}
tIP PEREˆNQ & NUMERACIQ \\[5pt]
\tt itemize & NET\\
\tt enumerate & ESTX\\
\tt description & NET\\
\end{tabular}
Обратите внимание на две вещи. Во-первых, команда \\, завершающая первую строку, дана
с необязательным аргументом. Он задается так же и имеет тот же смысл, что для этой коман

ды внутри абзаца (стр.
74
) или окружения tabbing (стр.
123
): после строки вставляется до

полнительный вертикальный промежуток (кстати, между строками таблицы, определенной
с помощью окружения tabular, разрыв страницы никогда не происходит, так что в этом
окружении у команды \\ варианта
«со звездочкой» нет). Во-вторых, команда \tt всякий


VI.2. ВЕРСТКА ТАБЛИЦ
127
раз сменяла шрифт только в одной графе таблицы, не действуя на соседние. Это объясняет

ся тем, что графа таблицы образует группу, так что любые изменения параметров (в том
числе текущего шрифта), проведенные в одной графе, не влияют на остальные.
L
A
TEX дает возможность сверстать и разлинованную таблицу. Для этого необходимо
уметь задавать в таблице команды для создания горизонтальных и вертикальных отрезков
(
«линеек» на полиграфическом жаргоне — см. раздел III.9). Горизонтальные отрезки за
даются с помощью команды \hline. Эта команда может непосредственно следовать либо
после \\ (тогда отрезок печатается непосредственно после строки, завершенной этим \\),
либо после \begin{tabular} с параметром (тогда отрезок печатается перед началом табли

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

чимся случаем, когда эти отрезки, разделяющие колонки таблицы, простираются на всю ее
высоту, сверху донизу. Такие отрезки проще всего предусмотреть в преамбуле таблицы. До
сих пор мы говорили, что преамбула таблицы
— это последовательность из букв l, c или r,
характеризующих колонки. На самом деле в преамбуле может присутствовать и информа

ция, описывающая то, что должно быть между колонками таблицы. В частности, символ |,
помещенный в преамбулу таблицы между буквами, описывающими колонки, задает верти

кальный отрезок, разделяющий эти колонки. Можно поставить символ | перед первой из
этих букв или после последней
— тогда вертикальная линия будет ограничивать таблицу
слева или справа. Несколько таких символов могут стоять подряд
— тогда колонки будут
разделяться не одинарной, а двойной, тройной, и т. д. вертикальной линией. Вот пример раз

линованной таблицы:
7CA
шестнадцатеричная
3712
восьмеричная
11111001010
двоичная
1994
десятичная
\begin{tabular}{|l||l|}
\hline
7CA & [ESTNADCATERIˆNAQ \\
\hline
3712 & WOSXMERIˆNAQ \\
\hline
11111001010 & DWOIˆNAQ\\
\hline
1994 & DESQTIˆNAQ\\
\hline
\end{tabular}
Две команды \hline могут следовать одна непосредственно после другой; в этом случае на
печати получатся два горизонтальных отрезка, один под другим, разделенные по вертикали
небольшим интервалом. Если слева и справа таблица ограничена вертикальными отрезками,
то на пересечении крайних вертикальных отрезков с горизонтальными на печати получится
разрыв:
Северо-Запад
Северо-Восток
Юго-Запад
Юго-Восток
\begin{tabular}{|c|c|}
\hline
sEWERO-zAPAD & sEWERO-wOSTOK\\
\hline
\hline
‘GO-zAPAD & ‘GO-wOSTOK\\
\hline
\end{tabular}


VI.2. ВЕРСТКА ТАБЛИЦ
128
Позже мы расскажем, как можно избавиться от этого полиграфического недостатка.

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   89   90   91   92   93   94   95   96   ...   143




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling