Tab stop

From Wikipedia, the free encyclopedia
Jump to: navigation, search
A ruler depicting tab stops in a word processor

A tab stop on a typewriter is a location where the carriage movement is halted by an adjustable end stop. Tab stops are set manually, and pressing the tab key causes the carriage to go to the next tab stop. In text editors on a computer, the same concept is implemented simplistically with automatic, fixed tab stops.

Modern word processors generalize this concept by offering tab stops that have an alignment attribute and cause the text to be automatically aligned at left, at right or center of the tab stop itself. Such tab stops are paragraph-specific properties and can be moved to a different location in any moment, or even removed.

Types of tab stops[edit]

A tab stop is a horizontal position which is set for placing and aligning text on a page. There are at least five kinds of tab stops in general usage in word processing or in MS Word.

Left
text extends to the right from the tab stop.
Center
text is centered at the tab stop.
Right
text extends to the left from the tab stop until the tab's space is filled, and then the text extends to the right.
Decimal
text before the decimal point extends to the left, and text after the decimal point extends to the right.
Bar
a vertical line at the specified position on each line in a document.

Elastic tab stops[edit]

This animation shows how elastic tab stops keep several lines of text aligned when one line is edited. Text between tabs is shown as different colored blocks.

Elastic tab stops were invented by Nick Gravgaard in 2006 as an alternative way to handle tab stops in digital text files with a primary focus on editing source code.[1] This means users need just one tab character between columns rather than inserting the exact number of spaces or fixed tabs on each line to make text line up. Unlike fixed tab stops, they automatically keep columns aligned, making them useful for viewing or editing tab-delimited text. When text is edited, tab stops on adjacent lines above and below the "cell" that is being changed are automatically moved to fit the widest cell of text in that column.

Elastic tab stops have been implemented in places such as Visual Studio as an extension[2], and in Go's tabwriter package[3] used by the go fmt command.

See also[edit]

References[edit]