# Tabulação

A tabulação, a tecla Tab (Tab ↹) ou tecla tabuladora do teclado, utiliza-se para avançar até o seguinte "tab stop", assim também permite ver a cada opção contida num círculo de diálogo de diferentes sistemas operativos.

## Origem

O apócope "tab" é a abreviatura de "tabulação".
Tabular significa pôr algo em forma de tabela.
Quando um dactilografo queria escrever algo em forma de pau, devia perder muito tempo com o uso repetitivo da barra de espaço e a tecla de deletar. Para simplificar isto, se colocou uma barra no mecanismo com uma alavanca que se podia deslocar ao longo da página. Inicialmente, isto se fazia a mão, mas mais tarde se acrescentaram mais duas teclas: uma para introduzir uma tabulação e outra para a tirar. Quando se pulsava a primeira, o carro se deslocava até o seguinte "tab stop". Estes se estabeleceram atendo às localizações da coluna da tabela na que se estivesse a trabalhar. O mecanismo da tabulação também surgiu como forma rápida e uniforme de indentado da primeira linha da cada linha

### Teclado
## ASCII e EBCDIC

Vários caracteres tabulações incluem-se como caracteres de controle ASCII, utilizados para o alinhamento de texto. A mais conhecida e comum é a tabulação horizontal, que na tabela de códigos ASCII tem atribuído o 9. Também existe uma tabulação vertical em ASCII que tem atribuído o 11. Em EBCDIC são o 5 e o 11 respetivamente. A tabulação horizontal costuma-se conseguir pulsando a tecla tab com um teclado regular.
Originalmente as impressoras utilizavam "tab stops" mecânicos que indicavam quando deviam se deter. Isto se fazia horizontalmente com uns dentes metálicos em bicha, e verticalmente com um fita de mylar ou outra fita do tamanho de uma página com buracos nela para indicar os "tab stop". Num princípio estes foram fixados manualmente para emparelhar as formas que a impressora ia imprimir. Em pouco tempo, os "tab stop" foram substituídos por "tab stop" fixos, na cada múltiplo de 8 caracteres horizontalmente e a cada 6 linhas verticalmente, de modo que converteram-se em simplesmente uma forma de compressão de dados, já que um programa de impressão poderia agregar facilmente os espaços necessários para mover a qualquer posição desejada com respeito a uma forma. O tamanho vertical que se elegeu foi de uma polegada. Não está claro por que se elegeram os 8 caracteres do tamanho horizontal, sendo os 5 caracteres (média polegada numa impressora típica daquele momento) bem mais populares por então como medida de sangrado de parágrafo. É possível que elegesse pára que coincidisse com as convenções de Fortran ou pode que se escolhesse por ser o menor tamanho no que cabem números impressos numa tabela.
ISO 8859 também inclui os códigos "136 HTS Horizontal Tabulation Set" e "137 HTJ Horizontal Tabulation with Justification" e "138 VTS Vertical Tabulation Set".
As tabulações representam-se quase sempre com a forma de um grande espaço em alvo ainda que alguns editores de texto as marcam com gráficos especiais para facilitar sua distinção dos espaços em alvo. Nos processadores de texto a tecla tab move o cursor até o seguinte "tab stop". Na maioria de aplicativos gráficos a tecla tab desloca o foco ao seguinte controle ou botão.

## Tabulações em HTML

HTML representa a tabulação horizontal como &#09; mas igual que com os espaços não permite inserção real de tabulações dentro da página excepto entre as etiquetas <pre></pre>.
Este é um exemplo que mostra o uso de com &#09; etiquetas <pre></pre>. Se escreve-se o seguinte em HTML:
O resultado será algo como:

## Tabulações em programação

A grande maioria do código está escrito em formato ASCII plano, que carece da informação adicional de marcado que contêm os formatos de arquivo mais elaborados ou os formatos proprietários. Alguns programadores consideram que o uso de 8 espaços por tabulação é excessivo, especialmente em fragmentos de código muito profundamente aninhados e, por tanto, demasiado sangrados. Outros afirmam que o código não deveria conter demasiados indentados.
Os editores de código normalmente costumam ter por defeito alocadas tabulações rígidas à tecla TAB. Também há editores que inserem espaços em lugar caracteres, o que costuma se denominar tabulações suaves. Alguns editores podem-se configurar para utilizar qualquer dos dois métodos.
Há muitos argumentos a favor e contra das tabulações rígidas do código. A maioria de incompatibilidades e problemas de conversão produzem-se quando a tecla tab produz tabulações rígidas, e o editor está configurado para a inserir tabulações suaves. No entanto o padrão de facto em Unix, sistemas baseados em Unix e sistemas antigos, são 8 caracteres; e para programação em Windows são 4 caracteres. Também existe a possibilidade de utilizar 2 e inclusive 3. Quando o sistema se desvia do padrão de facto, inevitavelmente algumas linhas estarão formatadas com espaços, outras com tabulações, e outras inclusive com ambos. Tão cedo como o código se mostre no ecrã de outra pessoa, as linhas ver-se-ão diferentes e normalmente misturada e sem ordem.
Um dos principais benefícios das tabulações, isto é, a compressão (se veja mais acima), se considera hoje menos importante como a capacidade de armazenamento das equipas de escritório tem aumentado de um tempo a esta parte, e se melhoraram os algoritmos de compressão que podem proporcionar benefícios muito maiores, ainda que a costa de uma maior complexidade.

## Tabulações em terminais

Na maioria de terminais utiliza-se a tecla Tab ↹ para completar o comando ou o texto que se está a escrever na linha de comandos.