# Tabulador

La tecla Tab (Tab ⇆) o Tab en un teclat es fa servir per avançar fins al següent "tab stop".

## Origen

"Tab" és l'abreviatura de Tabulador. Tabular significa posar quelcom en forma de taula.
Quan un mecanògraf volia escriure quelcom en forma de taula, havia de perdre molt temps amb l'ús repetitiu de la barra espaiadora i la tecla d'esborrar. Per simplificar això, es va col·locar una barra en el mecanisme amb una palanca que es podia desplaçar al llarg de la pàgina. Inicialment, això es feia a mà, però més tard es van afegir dues tecles més: una per introduir una tabulació i una altra per llevar-la. Quan es premia la primera, el carro es desplaçava fins al següent "tab stop" . Aquests es van establir atenint-se a les ubicacions de la columna de la taula en la qual s'estigués treballant. El mecanisme del tabulador també va sorgir com a forma ràpida i uniforme de sagnat de la primera línia de cada paràgraf.

## ASCII i EBCDIC

Diversos caràcters tabuladors s'inclouen com caràcters de control ASCII, utilitzats per a l'alineació de text. La més coneguda i comú és la tabulació horitzontal, que en la taula de codis ASCII té assignat el 9. També existeix un tabulador vertical en ASCII que té assignat l'11. En EBCDIC són el 5 i l'11 respectivament. La tabulació horitzontal se sol aconseguir prement la tecla tab amb un teclat estàndard.
Originalment les impressores utilitzaven "tab stops" mecànics que indicaven quan havien de detenir. Això es feia horitzontalment amb unes dents metàl·lics en fila, i verticalment amb un bucle de mylar o una altra cinta de la mida d'una pàgina amb forats en ella per indicar els "tab stop" . Al principi aquests van ser fixats manualment per aparellar les formes que la impressora anava a imprimir. En poc temps, els "tab stop" van ser substituïts per "tab stop" fixos, en cada múltiple de 8 caràcters horitzontalment i cada 6 línies verticalment, així que es van convertir en simplement una forma de compressió de dades, ja que un programa d'impressió podria afegir fàcilment els espais necessaris per moure a qualsevol posició desitjada respecte a una forma. La mida vertical que es va triar va ser d'una polzada. No és clar per què es van triar els 8 caràcters de la grandària horitzontal, sent els 5 caràcters (mitja polzada en una impressora típica d'aquell moment) molt més populars en aquells dies com a mesura de sagnat de paràgraf. És possible que triés perquè coincidís amb les convencions de Fortran o pot ser que s'escollís per ser el més petit en el qual caben nombres impresos en una taula.
ISO 8859 també inclou els codis "136 HTS Horitzontal Tabulation Set" i "137 HTJ Horitzontal Tabulation with Justification" i "138 VTS Vertical Tabulation Set".
Les tabulacions es representen gairebé sempre amb la forma d'un gran espai en blanc encara que alguns editors de text les marquen amb gràfics especials per facilitar la seva distinció dels espais en blanc. En els processadors de text la tecla tab mou el cursor fins al següent "tab stop" . En la majoria d'aplicacions gràfiques la tecla tab desplaça el focus al següent control o botó.

## Tabulacions en HTML

HTML representa la tabulació horitzontal com però igual que amb els espais no permet inserció real de tabulacions dins de la pàgina excepte entre les etiquetes <pre> </pre> .
Aquest és un exemple que mostra l'ús de amb etiquetes <pre> </pre> . Si s'escriu el següent en HTML:
El resultat podria ser quelcom com això:
La tabulació vertical és

## Tabulacions en programació

En programació, l'ús de tabulacions de format de codi i sagnies és un debat obert.
La gran majoria del codi està escrit en format ASCII pla , que no té la informació addicional de marcat que contenen els formats de fitxer més elaborats o els formats propietaris. Alguns programadors consideren que l'ús de 8 espais per tabulació és excessiu, especialment en fragments de codi molt profundament niats i, per tant, massa sagnats. Altres afirmen que el codi no hauria de contenir massa sagnies. Això, per descomptat, és incorrecte, ja que un bon programador hauria de sagnar el codi en la mesura del necessari, ni més, ni menys.
Els editors de codi normalment solen tenir per defecte assignades tabulacions rígides a la tecla TAB. També hi ha editors que insereixen espais en lloc caràcters, el que sol denominar tabulacions suaus . Alguns editors es poden configurar per utilitzar qualsevol dels dos mètodes.
Hi ha molts arguments a favor i en contra de les tabulacions rígides del codi. La majoria d'incompatibilitats i problemes de conversió es produeixen quan la tecla tab produeix tabulacions rígides , i l'editor està configurat per a la inserir tabulacions suaus . No obstant això l'estàndard de facto en Unix, sistemes basats en Unix i sistemes antics, són 8 caràcters, i per a programació en Windows són 4 caràcters. També hi ha la possibilitat d'utilitzar 2 i fins i tot 3. Quan el sistema es desvia de l'estàndard de facto , inevitablement algunes línies estaran formatades amb espais, altres amb tabulacions, i altres fins i tot amb tots dos. Així que el codi es mostri a la pantalla d'una altra persona, les línies es veuran diferents i normalment barrejada i sense ordre.
Un dels principals beneficis de les tabulacions, és a dir, la compressió (vegeu més amunt), es considera avui menys important pel fet que la capacitat d'emmagatzematge dels equips d'escriptori ha augmentat d'un temps ençà, i s'han millorat els algorismes de compressió que poden proporcionar beneficis molt majors, encara que a costa d'una major complexitat.

## Tabulacions en terminals

En la majoria de terminals es fa servir la tecla tab per a completar la comanda o el text que s'està escrivint en la línia d'ordres.

## Defensors notables
### En contra

* Linus Torvalds: Les tabulacions són 8 caràcters i, per tant, el sagnat és també de 8 caràcters. Hi ha moviments heretges que tracten de fer sagnats de 4 (¡o fins i tot 2 !) caràcters de profunditat, i això és com tractar de definir el valor de PI com 3. (De la Documentació/Estil de Codi de Linux)

## Referències

* ↑ «Underwood Portable Typewriter Gallery». Arxivat de l'original el 2011-02-22. [Consulta: 9 abril 2011]. Arxivat 2011-02-22 a Wayback Machine.
* ↑ «Instructions for Using the Underwood Typewriter». [Consulta: 9 abril 2011].
* ↑ Fredric W. Hillard, Type-writing machine, Tabulador a l'USPTO (anglès), granted Feb. 10, 1903.
* ↑ Harry S. Dukes and William H. Clayton, Tabulating mechanism for type-writing machines, Tabulador a l'USPTO (anglès), granted Dec. 29, 1908.
* ↑ Edward B. Hess, Writing Machine, Tabulador a l'USPTO (anglès), granted Aug. 17. 1909.
* ↑ «Tabs versus Spaces». [Consulta: 2 juny 2020].

## Vegeu també

* Esc (tecla)

## Mapa de teclat

* Teclat IBM/Windows (disposició de teclat espanyola)
* Esc
* F1
* F2
* F3
* F4
* F5
* F6
* F7
* F8
* F9
* F10
* F11
* F12
* ª º   \
* ! 1   |
* " 2   @
* · 3   #
* $ 4   ~
* % 5   €
* & 6   ¬
* / 7
* ( 8
* ) 9
* = 0
* Tab ↹
* Q
* W
* E       €
* R
* T
* Y
* U
* I
* O
* P
* Bloq Maj
* A
* S
* D
* F
* G
* H
* J
* K
* L
* Ñ
* Ç        }
* Retorn ↲
* Maj ⇧
* Z
* X
* C
* V
* B
* N
* M
* _ -
* Maj ⇧
* Ctrl
* Win (Cmd)
* Alt
* Alt (Gr)
* Win (Cmd)
* Menú (Cmp)
* Ctrl
* ImpPnt PetSis
* Bloq Despl
* Pause Inter
* Insert
* Inicio
* Re Pág
* Supr
* Fi
* Av Pág
* Bloq Núm
* 7 Inici
* 8 ↑
* 9 RePág
* 4 ←
* 5
* 6 →
* 1 Fin
* 2 ↓
* 3 AvPág
* Intro
* 0 Ins
* . Supr

## Enllaços externs

* Tabs versus Spaces: An Eternal Holy War per Jamie Zawinski (en anglès)
* Why I prefer no tabs in source code per Adam Spiers (en anglès)
* Why I love having tabs in source code Arxivat 2017-10-21 a Wayback Machine. (en anglès)
* Elastic tabstops - the solution to the tabs-versus-spaces issue (anglès)