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