Underscore

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
_ ⎁ ◌̲
Underscore
In UnicodeU+005F _ LOW LINE (HTML _ · _, _)
U+2381 CONTINUOUS UNDERLINE SYMBOL
U+0332 ̲ COMBINING LOW LINE
Related
See alsoU+2017 DOUBLE LOW LINE
U+2382 DISCONTINUOUS UNDERLINE SYMBOL
Different from
Different fromU+0331 ◌̱ COMBINING MACRON BELOW
Underscored or underlined text.

An underscore, also called an underline, low line, or low dash, is a line drawn under a segment of text. Underscoring/underlining is a proofreading convention that says "set this text in italic type", traditionally used on manuscript or typescript as an instruction to the printer. (Its use to add emphasis in modern documents is a deprecated practice.[1]) The underscore character, _, originally appeared on the typewriter and was primarily used to underscore (or underline) words. To produce an underscored word, the word was typed, the typewriter carriage was moved back to the beginning of the word, and the word was overtyped with the underscore character.

In modern usage, underscoring is achieved by markup or with combining characters. The original free-standing underscore character continues in use to create visual spacing within a sequence of characters, where a whitespace character is not permitted (e.g., in computer filenames, email addresses, and in Internet URLs). In contexts where no formatting is supported such as in instant messaging, or older email formats, the 'enclosing underscores' markup is sometimes used as a proxy for underlining the word(s) enclosed (_thus_).

A variant, , is used in the Province of Quebec (Canada) to underline superscripts.[2]

In some languages, the mark is used as combining diacritic and is called a "combining low line".

Diacritic[edit]

The underscore is used as a diacritic mark, "combining low line", ◌̲ , in some languages of Egypt, some languages using the Rapidolangue orthography in Gabon, Izere in Nigeria, and indigenous languages of the Americas such as Shoshoni and Kiowa.

The combining diacritic, ◌̱, (Macron below) is similar to the combining low line but its mark is shorter. The difference between "macron below" and "low line" is that the latter results in an unbroken underline when it is run together: compare a̱ḇc̱ and a̲b̲c̲ (only the latter should look like abc).[3]

Similar marks[edit]

The underscore is not the same character as the dash character, although one convention for text news wires is to use an underscore when an em dash or en dash is desired,[citation needed] or when other non-standard characters such as bullets would be appropriate.[citation needed]

Modern use[edit]

In printed documents underlining is generally avoided, with italics or small caps often used instead, or (especially in headings) using capitalization, bold type or greater body height (font size).[1] In a manuscript to be typeset, various forms of underlining (see below) were therefore conventionally used to indicate that text should be set in special type such as italics, part of a procedure known as markup.

A series of underscores (like __________ ) may be used to create a blank to be filled in by hand on a paper form. It is also sometimes used to create a horizontal line; other symbols with similar graphemes, such as hyphens and dashes, are also used for this purpose.

Usage in computing[edit]

In web browsers, default settings typically distinguish hyperlinks by underlining them (and usually changing their color), but both users and websites can change the settings to make some or all hyperlinks appear differently (or even without distinction from normal text).

History[edit]

As early output devices (Teleprinters, CRTs and line printers) could not produce more than one character at a location, it was not possible to underscore text, so early encodings such as ITA2 and the first versions of ASCII had no underscore. IBM's EBCDIC character-coding system, introduced in 1964, added the underscore, which IBM referred to as the "break character". IBM's report on NPL (the early name of what is now called PL/I) leaves the character set undefined, but specifically mentions the break character, and gives RATE_OF_PAY as an example identifier.[4] By 1967 the underscore had spread to ASCII,[5] replacing the similarly-shaped left-arrow character, (see also: PIP). C, developed at Bell Labs in the early 1970s, allowed the underscore in identifiers.[6]

Underscore predates the existence of lower-case letters in many systems, so often it had to be used to make multi-word identifiers, since CamelCase (see below) was not available.

Programming conventions[edit]

Underscores inserted between letters are very common to make a "multi word" identifier in languages that cannot handle spaces in identifiers. This convention is known as "snake case" (the other popular method is called camelCase, where capital letters are used to show where the words start).

An underscore as the first character in an ID is often used to indicate an internal implementation that is not considered part of the API and should not be called by code outside that implementation. Python uses this to indicate protected member variables of classes and a double underscore to indicate private variables. In Dart, all private properties of classes must start with an underscore; this usage is also common in other languages such as C++ even though those provide keywords to indicate that members are private. It is extensively used to hide variables and functions used for implementations in header files. In fact, the use of single underscore for this became so common that C compilers had to standardize on a double leading underscore (for instance __DATE__) for actual built-in variables to avoid conflicts with the ones in header files. Python uses double underscore to "mangle" a private id to make it much harder to refer to it, and "PHP reserves all function names starting with __ as magical."[7]

A variable named with just an underscore often has special meaning. $_ or _ is the previous command or result in many interactive shells, such as those of Python, Ruby, and Perl. In Perl, @_ is a special array variable that holds the arguments to a function. In Clojure, it indicates an argument whose value will be ignored.[8]

In some languages with pattern matching, such as Prolog, Standard ML, Scala, OCaml, Haskell, Erlang, and the Wolfram Language, the pattern _ matches any value, but does not perform binding.

HTML < u > and CSS[edit]

HTML has a presentational element <u> that was originally used to underline text; this usage was deprecated in HTML4 in favor of the CSS style {text-decoration: underline}.[9] In HTML5, the tag reappeared but its meaning was changed significantly: it now "represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation".[9] This facility is intended for example to provide a red wavy line underline to flag spelling errors at input time but which are not to be embedded in any stored file (unlike an emphasis mark, which would be),

The elements may also exist in other markup languages, such as MediaWiki. The Text Encoding Initiative (TEI) provides an extensive selection of related elements for marking editorial activity (insertion, deletion, correction, addition, etc.).

Unicode[edit]

Unicode has a free-standing underscore _ at U+005F, which is a legacy of the typewriter practice of underlining using backspace and overtype. Modern practice uses the combining diacritic "combining low line" at U+0332 ◌̲ that results in an underline when run together: u̲n̲d̲e̲r̲l̲i̲n̲e̲. Unicode also has the combining macron below, a single letter diacritic.[10]

  • single underline: a̲b̲c̲d̲e̲f̲g̲h̲i̲j̲k̲l̲m̲n̲o̲p̲q̲r̲s̲t̲u̲v̲w̲x̲y̲z̲0̲1̲2̲3̲4̲5̲6̲7̲8̲9̲
  • double underline: a̲̲b̲̲c̲̲d̲̲e̲̲f̲̲g̲̲h̲̲i̲̲j̲̲k̲̲l̲̲m̲̲n̲̲o̲̲p̲̲q̲̲r̲̲s̲̲t̲̲u̲̲v̲̲w̲̲x̲̲y̲̲z̲̲0̲̲1̲̲2̲̲3̲̲4̲̲5̲̲6̲̲7̲̲8̲̲9̲̲

"Simulated" underlines in plain-text[edit]

In plain-text applications, including plain-text e-mails, where emphasis markup is not possible, the desired emphasis is often indicated by surrounding words with underscore characters. For example, "You must use an _emulsion_ paint on the ceiling".

Some applications will automatically add emphasis to text manually bracketed by underscores, either by underlining or by italicizing it (e.g. _string_ may render string or string).

As a marker for incorrectness[edit]

Underline (typically red or wavy or both) is often used by spell checkers (and grammar checkers) to denote misspelled or otherwise incorrect text.

Manuscripts[edit]

Depending on local conventions, the following kinds of underlines may be used inline on manuscripts to indicate the special typefaces to be used:[11][12]

  • single dashed underline for stet, 'let it stand', proof-reading mark cancelled.
  • single straight underline for italic type
  • single wavy underline for bold type
  • double straight underline for SMALL CAPS
  • double underline of one straight line and one wavy line for bold italic
  • triple underline for FULL CAPITAL LETTERS (used among small caps or to change text already typed as lower case).

Underlines in Chinese[edit]

In Chinese, the underline is a punctuation mark for proper names (simplified Chinese: 专名号; traditional Chinese: 專名號; pinyin: zhuānmínghào; literally "proper name mark", used for personal and geographic names).[citation needed] Its meaning is somewhat akin to capitalization in English and should never be used for emphasis even if the influence of English computing makes the latter sometimes occur. A wavy underline (simplified Chinese: 书名号; traditional Chinese: 書名號; pinyin: shūmínghào; literally, " book title mark") serves a similar function, but marks names of literary works instead of proper names.

In the case of two or more adjacent proper names, each individual proper name is separately underlined so there should be a slight gap between the underlining of each proper name.

See also[edit]

References[edit]

  1. ^ a b Butterick, Matthew. "Underlining: absolutely not". Practical Typography. Retrieved 5 August 2015.
  2. ^ "Clavier normalisé – CAN/CSA Z243.200-92 – Pictogrammes ISO 9995-7" (in French). Office québécois de la langue française. Retrieved 19 January 2015. See also ISO/IEC 9995#ISO/IEC 9995-7.
  3. ^ "6.2 General Punctuation" (PDF). The Unicode Standard. Version 11.0.0. Mountain View, CA: The Unicode Consortium. 2018. p. 273. ISBN 978-1-936213-19-1. Retrieved 2018-12-12. Spacing Overscores and Underscores. U+203E OVERLINE is the above-the-line counterpart to U+005F low line. It is a spacing character, not to be confused with U+0305 COMBINING OVERLINE. As with all overscores and underscores, a sequence of these characters should connect in an unbroken line. The overscoring characters also must be distinguished from U+0304 COMBINING MACRON, which does not connect horizontally in this way.
  4. ^ NPL Technical Report (PDF). IBM. 1964. p. 23. Retrieved 2011-06-09.
  5. ^ Fischer, Eric. "The Evolution of Character Codes, 1874-1968" (PDF). Retrieved 2016-11-16. Cite journal requires |journal= (help)
  6. ^ Ritchie, Dennis (c. 1975). "C Reference Manual" (PDF). Retrieved 2011-06-09. Cite journal requires |journal= (help)
  7. ^ "Magic Methods". php.net. August 28, 2004. Archived from the original on August 30, 2004. Retrieved February 3, 2020.
  8. ^ Bozhidar Batsov. "The Clojure Style Guide". Retrieved 2019-09-05.
  9. ^ a b "<u>: The Unarticulated Annotation (Underline) element". mozilla.org. 1 August 2020. Retrieved 9 October 2020.
  10. ^ "6.2 General Punctuation" (PDF). The Unicode Standard. Version 11.0.0. Mountain View, CA: The Unicode Consortium. 2018. p. 273. ISBN 978-1-936213-19-1. Retrieved 2018-12-12. Spacing Overscores and Underscores. U+203E OVERLINE is the above-the-line counterpart to U+005F low line. It is a spacing character, not to be confused with U+0305 COMBINING OVERLINE. As with all overscores and underscores, a sequence of these characters should connect in an unbroken line. The overscoring characters also must be distinguished from U+0304 COMBINING MACRON, which does not connect horizontally in this way.
  11. ^ "Proofreading Marks Chart -Some of the Most Common Proofreading Marks". graphic-design-employment.com. Retrieved 9 October 2020.
  12. ^ Writers' & Artists' Yearbook 2020. Bloomsbury. ISBN 9781472947512.

External links[edit]

"Ngram Viewer: comparison of usage of 'underscore' and 'underline'". books.google.com. Retrieved 9 October 2020.