Spec-Zone.ru › LaTeX

tabbing

Синопсис:

\begin{tabbing}
row1col1 \= row1col2 ...  \\
row2col1 \> row2col2 ...  \\
...
\end{tabbing}

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

В этом примере первая строка, в которой стопочки табуляции заданы с явными ширинами, завершается командой \kill (которая описана ниже):

\begin{tabbing}
\hspace{1.2in}\=\hspace{1in}\=\kill
Ship                \>Guns             \>Year    \\ 
\textit{Sophie}     \>14               \>1800    \\
\textit{Polychrest} \>24               \>1803    \\
\textit{Lively}     \>38               \>1804    \\
\textit{Surprise}   \>28               \>1805    \\
\end{tabbing}

Оба окружения tabbing и более широко используемое окружение tabular помещают текст в столбцы. Самое важное различие заключается в том, что в tabular ширина столбцов определяется автоматически LaTeX, а в tabbing пользователь устанавливает стопочки табуляции. Ещё одно различие состоит в том, что tabular генерирует рамку, но tabbing может быть разбито на страницы. Наконец, в то время как tabular может использоваться в любом режиме, tabbing может быть использовано только в режиме абзаца и всегда начинает новый абзац без отступа.

Кроме того, как показано в примере выше, нет необходимости использовать звёздочную форму команды \hspace в начале табулированной строки. Правый край окружения tabbing является концом строки, так что ширина окружения \linewidth.

Окружение tabbing содержит последовательность табулированных строк. Первая табулированная строка начинается сразу после \begin{tabbing} и каждая строка заканчивается \\ или \kill. Последняя строка может опустить \\ и закончиться только \end{tabbing}.

В любой момент окружение tabbing имеет текущий образец стопочек табуляции, последовательность n > 0 стопочек табуляции, пронумерованных 0, 1 и т. д. Эти стопочки создают n соответствующих столбцов. Стопочка табуляции 0 всегда является левым краем, определённым содержащим окружением. Номер стопочки i устанавливается, если ей назначено горизонтальное положение на странице. Номер стопочки i может быть установлен только в том случае, если все стопочки 0, ..., i-1 уже установлены; обычно последующие стопочки находятся справа от предыдущих.

По умолчанию любой текст, набранный в окружении tabbing , набирается с левым и правым выравниванием по текущим стопочкам табуляции. Набор выполняется в режиме LR (см. Режимы).

Следующие команды могут быть использованы внутри окружения tabbing . Они все хрупкие (см. \protect).

\\ (tabbing) ¶

Завершает табулированную строку и набирает её.

\= (tabbing) ¶

Устанавливает стопочку табуляции в текущем положении.

\> (tabbing) ¶

Переходит к следующей стопочке табуляции.

\< ¶

Поместить следующий текст слева от локального отступа (без изменения отступа). Может использоваться только в начале строки.

\+ ¶

Сдвигает левый край следующей и всех последующих команд на одну стопочку табуляции вправо, начиная табулированную строку при необходимости.

\- ¶

Сдвигает левый край следующей и всех последующих команд на одну стопочку табуляции влево, начиная табулированную строку при необходимости.

\' (tabbing) ¶

Перемещает все набранное вами в текущем столбце, т.е. всё с момента последней команды \>, \<, \', \\, или \kill в предыдущий столбец и выравнивает его по правому краю, плотно прилегающему к текущей стопочке табуляции столбца.

\` (tabbing) ¶

Позволяет поместить текст плотно прилегающим к любой стопочке табуляции, включая стопочку табуляции 0. Однако, он не может переместить текст вправо от последнего столбца, потому что там нет стопочки табуляции. Команда \` перемещает весь текст, следующий за ней, до команды \\ или \end{tabbing}, которая завершает строку, к правому краю окружения tabbing . Между командами \` и командами \\ или \end{tabbing}, которые завершают строку, не должно быть команд \> или \'.

\a (tabbing) ¶

В окружении tabbing команды \=, \' и \` не генерируют диакритические знаки, как обычно (см. Диакритические знаки). Вместо этого используйте команды \a=, \a' и \a`.

\kill ¶

Устанавливает стопочки табуляции без создания текста. Работает так же, как \\, за исключением того, что он выбрасывает текущую строку вместо вывода для неё. Любые команды \=, \+ или \- в этой строке остаются в силе.

\poptabs ¶

Восстанавливает позиции стопочек табуляции, сохранённые последней командой \pushtabs.

\pushtabs ¶

Сохраняет все текущие позиции стопочек табуляции. Полезно для временного изменения позиций стопочек табуляции посредине окружения tabbing.

\tabbingsep ¶

Расстояние текста, перемещённого командой \' влево от текущей стопочки табуляции.

В этом примере набирается функция Pascal:

\begin{tabbing}
function \= fact(n : integer) : integer;\\
         \> begin \= \+ \\
               \> if \= n > 1 then \+ \\
                        fact := n * fact(n-1) \- \\
                  else \+ \\
                        fact := 1; \-\- \\
            end;\\
\end{tabbing}

Вывод выглядит так.

function fact(n : integer) : integer;
         begin
               if n > 1 then
                  fact := n * fact(n-1);
               else
                  fact := 1;
         end;

Этот пример только для иллюстрации окружения. Для фактического набора компьютерного кода в подобном стиле пишущей машинки лучше использовать окружение verbatim (см. verbatim). Для красивого форматирования кода существует множество пакетов, включая algorithm2e, fancyvrb, listings, и minted.

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/tabbing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API