# Tabulador

El tabulador, la tecla Tab (Tab ↹) o tecla tabuladora del teclado, se utiliza para avanzar hasta el siguiente "tab stop", así también permite ver cada opción contenida en un círculo de diálogo de diferentes sistemas operativos.

## Origen

El apócope "tab" es la abreviatura de "tabulador".
Tabular significa poner algo en forma de tabla.
Cuando un mecanógrafo quería escribir una tabla con columnas, debía perder mucho tiempo con el uso repetitivo de la barra espaciadora y la tecla de borrado. Para simplificar esto, se colocó una barra en el mecanismo con una palanca que se podía desplazar a lo largo de la página. Inicialmente, esto se hacía a mano, pero más tarde se añadieron dos teclas más: una para introducir una tabulación y otra para quitarla. Cuando se pulsaba la primera, el carro se desplazaba hasta el siguiente "tab stop". Estos se establecieron ateniéndose a las ubicaciones de la columna de la tabla en la que se estuviese trabajando. El mecanismo del tabulador también surgió como forma rápida y uniforme de sangrado o sangría de la primera línea de cada párrafo.

### Teclado

Teclado IBM PC/Compatible IBM PC/Microsoft Windows (distribución española).
* 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 Mayús ⇪
* A
* S
* D
* F
* G
* H
* J
* K
* L
* Ñ
* Ç      }
* Entrar ↲
* Mayús ⇧
* Z
* X
* C
* V
* B
* N
* M
* _ -
* Mayús ⇧
* Control
* Win ⊞
* Alt
* Alt Gr
* Win ⊞
* Menú ≣
* Control
* Imp Pant/ PetSis
* Bloq Despl
* Pausa/ Inter
* Insert
* Inicio
* Re Pág
* Supr
* Fin
* Av Pág
* Bloq Num
* 7 Inicio
* 8 ↑
* 9 RePág
* 4 ←
* 5
* 6 →
* 1 Fin
* 2 ↓
* 3 AvPág
* Intro
* 0 Ins
* . Supr

## ASCII y EBCDIC

Varios caracteres tabuladores se incluyen como caracteres de control ASCII, utilizados para la alineación de texto. La más conocida y común es la tabulación horizontal, que en la tabla de códigos ASCII tiene asignado el 9. También existe un tabulador vertical en ASCII que tiene asignado el 11. En EBCDIC son el 5 y el 11 respectivamente. La tabulación horizontal se suele conseguir pulsando la tecla tab con un teclado estándar.
Originalmente las impresoras utilizaban "tab stops" mecánicos que indicaban cuando debían detenerse. Esto se hacía horizontalmente con unos dientes metálicos en fila, y verticalmente con un bucle de mylar u otra cinta del tamaño de una página con agujeros en ella para indicar los "tab stop". En un principio éstos fueron fijados manualmente para emparejar las formas que la impresora iba a imprimir. En poco tiempo, los "tab stop" fueron substituidos por "tab stop" fijos, en cada múltiplo de 8 caracteres horizontalmente y cada 6 líneas verticalmente, así que se convirtieron en simplemente una forma de compresión de datos, puesto que un programa de impresión podría agregar fácilmente los espacios necesarios para moverse a cualquier posición deseada respecto a una forma. El tamaño vertical que se eligió fue de una pulgada. No está claro por qué se eligieron los 8 caracteres del tamaño horizontal, siendo los 5 caracteres (media pulgada en una impresora típica de aquel momento) mucho más populares por entonces como medida de sangrado de párrafo. Es posible que eligiese para que coincidiera con las convenciones de Fortran o puede que se escogiese por ser el menor tamaño en el que caben números impresos en una tabla.
ISO 8859 también incluye los códigos "136 HTS Horizontal Tabulation Set" y "137 HTJ Horizontal Tabulation with Justification" y "138 VTS Vertical Tabulation Set".
Las tabulaciones se representan casi siempre con la forma de un gran espacio en blanco aunque algunos editores de texto las marcan con gráficos especiales para facilitar su distinción de los espacios en blanco. En los procesadores de texto la tecla tab mueve el cursor hasta el siguiente "tab stop". En la mayoría de aplicaciones gráficas la tecla tab desplaza el foco al siguiente control o botón.

## Tabulaciones en HTML

HTML representa la tabulación horizontal como &#09; pero igual que con los espacios no permite inserción real de tabulaciones dentro de la página excepto entre las etiquetas <pre></pre>.
Este es un ejemplo que muestra el uso de &#09; con etiquetas <pre></pre>. Si se escribe lo siguiente en HTML:
El resultado podría ser algo como esto:
La tabulación vertical es &#11; pero no está permitida en SGML (incluido HTML) ni en XML 1.0.

## Tabulaciones en programación

En programación, el uso de tabulaciones de formato de código y sangrías es un debate abierto.
La gran mayoría del código está escrito en formato ASCII plano, que carece de la información adicional de marcado que contienen los formatos de archivo más elaborados o los formatos privativos. Algunos programadores consideran que el uso de 8 espacios por tabulación es excesivo, especialmente en fragmentos de código muy profundamente anidados y, por tanto, demasiado sangrados. Otros afirman que el código no debería contener demasiadas sangrías.
Los editores de código normalmente suelen tener por defecto asignadas tabulaciones rígidas a la tecla TAB. También hay editores que insertan espacios en lugar caracteres, lo que suele denominarse tabulaciones suaves. Algunos editores se pueden configurar para utilizar cualquiera de los dos métodos.
Hay muchos argumentos a favor y en contra de las tabulaciones rígidas del código. La mayoría de incompatibilidades y problemas de conversión se producen cuando la tecla tab produce tabulaciones rígidas, y el editor está configurado para la insertar tabulaciones suaves. Sin embargo el estándar de facto en Unix, sistemas basados en Unix y sistemas antiguos, son 8 caracteres; y para programación en Windows son 4 caracteres. También existe la posibilidad de utilizar 2 e incluso 3. Cuando el sistema se desvía del estándar de facto, inevitablemente algunas líneas estarán formateadas con espacios, otras con tabulaciones, y otras incluso con ambos. Tan pronto como el código se muestre en la pantalla de otra persona, las líneas se verán distintas y normalmente mezclada y sin orden.
Uno de los principales beneficios de las tabulaciones, es decir, la compresión (véase más arriba), se considera hoy menos importante debido a que la capacidad de almacenamiento de los equipos de escritorio ha aumentado de un tiempo a esta parte, y se han mejorado los algoritmos de compresión que pueden proporcionar beneficios mucho mayores, aunque a costa de una mayor complejidad.

## Tabulaciones en terminales

En la mayoría de terminales se utiliza la tecla Tab ↹ para completar el comando o el texto que se está escribiendo en la línea de comandos.