Табуляция

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Символ табуляции»)

Горизонтальная табуляция (HT, TAB) — управляющий символ таблицы ASCII с кодом 0916, используется для выравнивания текста в строках. Встретив этот символ, терминал перемещает каретку (или курсор) вправо на ближайшую позицию табуляции. Традиционно эти позиции располагаются каждые 8 знакомест[источник не указан 729 дней], в колонках 1, 9, 17, 25… Вводится при помощи клавиши Tab ↹, во многих языках программирования обозначается как \t.

Если отправить на печать текст (символ табуляции обозначен стрелкой)

один→два→три→четыре
1→2→3→4
5→6→7→8
9→10→11→12

получим такую распечатку:

один	два	три	четыре
1	2	3	4
5	6	7	8
9	10	11	12

Команда «табуляция» восходит к одноимённой клавише в пишущей машинке, упрощавшей набор таблиц.

Изображение на клавише Tab ↹ означает: простое нажатие совершает прыжок вперёд до определённой позиции, ⇧ Shift+Tab ↹ — прыжок назад.

Также существует вертикальная табуляция VT с кодом 0B16, перемещающая позицию печати к следующей позиции вертикальной табуляции, в настоящее время используемая крайне редко. Название «вертикальная табуляция» дано по аналогии с горизонтальной, используется она для снижения шума и ускорения печати на готовых формулярах. В языках программирования типа Си обозначается как \v.

В пишущих машинках

На задней стенке машинки располагалась линейка табуляторов. Машинистка могла расставлять на ней стопоры, и нажатие клавиши табуляции вело каретку до ближайшего стопора. Впоследствии линейку превратили в пакет пластин-табуляторов, и машинистка взводила нужные.

Числа в таблицах принято выравнивать по правому краю. Поэтому ставили табулятор за несколько позиций до нужной, а затем клавишами пробела и ← Backspace точно подводили каретку. В дорогих машинках были клавиши «10» и «100», останавливавшие каретку за одну и две позиции до табулятора (основная клавиша при этом называлась «1»). Далее шли клавиши «1т…100т» (тысячи, 3…5 позиций) и «1м…100м» (миллионы, 6…8 позиций).

В электрических машинках были команды «запомнить табуляцию» и «сбросить табуляцию».

В текстовых редакторах

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

Одни стандарты оформления кода категорически запрещают символы-табуляторы: независимо от того, на сколько позиций настроен редактор или просмотрщик, текст будет выглядеть одинаково; в строковых константах же невидимый символ можно спутать с пробелом. Другие — требуют пользоваться именно табуляторами, а не пробелами.

В текстовых процессорах

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

Сходная функциональность у таблиц. Но есть и отличия: текст, выровненный табуляторами, невозможно разлиновать на строки и столбцы. Зато в таблицах текст не может выходить за пределы ячеек.

Табуляция в (X)HTML

В (X)HTML горизонтальная табуляция обозначается как &#9;, однако она отобразится браузером, только будучи использованной внутри тегов <pre> и <textarea>:

Пример HTML-кода с использованием внутри тега <pre>

<pre>
Две строчки с табуляцией:
42&#9;Табуляция внутри строки.
&#9;Табуляция в начале строки.

Строка без табуляции.
</pre>

Браузер отобразит этот код так:

Две строчки с табуляцией:
42	Табуляция внутри строки.
	Табуляция в начале строки.

Строка без табуляции.

Вертикальная табуляция обозначается как &#11;, однако она не используется в SGML (включая HTML) или XML 1.0.

Нестандартное, но широко действующее CSS-свойство tab-size:8 позволяет задать размер табуляции в знакоместах. Последним из браузеров его реализовал Firefox (август 2021). В отдельных браузерах возможна анимация этого свойства и задание в единицах длины (em, px и других)[1].

Клавиша Tab ↹ в прикладном ПО

За клавишей Tab ↹ закрепились такие функции:

  • В текстовых редакторах, текстовых процессорах — ввод символа табуляции, работа с отступами.
  • В графических интерфейсах — прыжок (смена фокуса). В частности, в Windows Tab ↹ — переключение между элементами текущего окна, Alt+Tab ↹ — переключение между программами, Ctrl+Tab ↹ — переключение между окнами одной программы. В обратную сторону — дополнительно нажимаем ⇧ Shift: например, Ctrl+⇧ Shift+Tab ↹.
  • В консольных интерфейсах (например, IOS, bash, Zsh), в том числе в консолях и чатах компьютерных игр (например, Minecraft, Quake 3, Doom 3, Unreal Tournament) — автодополнение команды.
  • В играх — показ дополнительных материалов (карты уровня, таблицы результатов, заданий).

См. также

  • TSV — формат представления табличных данных, использующий табуляцию как разделитель

Примечания

  1. tab-size - CSS | MDN. Дата обращения: 14 сентября 2021. Архивировано 14 сентября 2021 года.