Табуляция

Горизонтальная табуляция (HT, TAB) — управляющий символ таблицы ASCII с кодом 0916, используется для выравнивания текста в строках. Встретив этот символ, терминал перемещает каретку (или курсор) вправо на ближайшую позицию табуляции. Традиционно эти позиции располагаются каждые 8 знакомест[источник не указан 718 дней], в колонках 1, 9, 17, 25… Вводится при помощи клавиши Tab ↹, в языках программирования c Си-подобным синтаксисом часто обозначается как \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) — автодополнение команды.
  • В играх — показ дополнительных материалов (карты уровня, таблицы результатов, заданий).
  • В растровом графическом редакторе GIMP и редакторе карт JOSM — переключение между скрытием и отображением дополнительных панелей.
  • TSV — формат представления табличных данных, использующий табуляцию как разделитель

Примечания

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