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.

A ruler depicting tab stops at the top of a word processor document

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.

Sometimes, placeholders in code snippets are also called "tab stops" because the user can cycle through them by pressing the tab key.[1]

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 Microsoft 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.

Dynamic tab stops

edit

In contrast to fixed positioning, tab stops can be adjusted dynamically, based on the length of adjacent tab-delimited line segments, by alignment to a specific character or string in each line, etc. Adobe InDesign supports a non-printing "indent to here" character.

In 2006, Nick Gravgaard published an algorithm for automatic dynamic tab stops called "Elastic tabstops".[2] This can be useful for viewing/editing source code and essential for tabular data.[3] Various text editors and IDEs have implemented the elastic tabstops algorithm either directly or by extension.

Software which supports elastic tabstops

edit

See also

edit

References

edit
  1. ^ "Snippets". TextMate 1.5.1 Manual. Archived from the original on 1 November 2021. Retrieved 1 November 2021.
  2. ^ "Elastic tabstops". Archived from the original on 21 September 2024. Retrieved 27 September 2023.
  3. ^ a b "Code Browser - Elastic Tabstops". Archived from the original on 21 September 2024. Retrieved 21 April 2022.
  4. ^ Always Aligned Archived 2017-10-05 at the Wayback Machine
  5. ^ "Always Aligned repository". Archived from the original on 21 September 2024. Retrieved 27 September 2023.
  6. ^ Elastic Tabstops package for Atom
  7. ^ Elastic Tabstops for Textadept
  8. ^ "JEdit - Elastic Tabstops". Archived from the original on 20 February 2022. Retrieved 21 April 2022.
  9. ^ "Elastic Tabstops plugin for Notepad++". Archived from the original on 24 December 2020. Retrieved 15 April 2021.
  10. ^ Go (programming language) tabwriter package Archived 2024-09-21 at the Wayback Machine
  11. ^ "Elastic tabs for Rust". Archived from the original on 21 August 2024. Retrieved 21 August 2024.
  12. ^ "Emacs Manual - Indentation". Archived from the original on 27 September 2023. Retrieved 27 September 2023.