You are on page 1of 1

Search Wikipedia

Vertical bar
Article Talk

"|" redirects here. For the use of a similar-looking character in vertical Japanese writing, see Chōonpu.

" ‖ " redirects here. For the use of a similar-looking character in African languages, see lateral clicks. For the
parallelism symbol see parallel (geometry) and parallel (operator).

Not to be confused with dental click.

The vertical bar, | , is a glyph with various uses in mathematics, computing, and typography. It has many
names, often related to particular meanings: Sheffer stroke (in logic), pipe, bar, or (literally the word "or"),
vbar, and others.[1]

Contents

Usage
Mathematics |
Chemistry
Vertical bar
Physics
In Unicode U+007C | VERTICAL LINE
Computing
(|, |,
Pipe
|)
Disjunction
Related
Concatenation
See also U+00A6 ¦ BROKEN BAR
Delimiter
(¦)
Backus–Naur form U+2016 ‖ DOUBLE
Concurrency operator VERTICAL LINE
(‖, ‖)
APL
U+2223 ∣ DIVIDES
List comprehensions

Text markup

Phonetics and orthography

Literature
Poetry

Notation

Music scoring

Encoding
Solid vertical bar vs broken bar

Unicode code points

Code pages and other historical encodings

See also

Notes

References

Usage

Mathematics

The vertical bar is used as a mathematical symbol in numerous ways. If used as a pair of brackets, it
suggests the notion of the word "size". These are:

absolute value: , read "the absolute value of x"[2]

cardinality: , read "the cardinality of the set S" or "the length of a string S".

determinant: , read "the determinant of the matrix A".[2] When the matrix entries are written out, the
determinant is denoted by surrounding the matrix entries by vertical bars instead of the usual brackets or

parentheses of the matrix, as in .

order: , read "the order of the group G", or , "the order of the element "

Likewise, the vertical bar is also used singly in many different ways:

conditional probability: , read "the probability of X given Y"

distance: , denoting the shortest distance between point to line , so line is perpendicular
to line

divisibility: , read "a divides b" or "a is a factor of b", though Unicode also provides special 'divides'
and 'does not divide' symbols (U+2223 and U+2224: ∣, ∤)[2]

function evaluation: , read "f of x, evaluated at x equals 4" (see subscripts at Wikibooks)

restriction: , denoting the restriction of the function , with a domain that is a superset of , to just

set-builder notation: , read "the set of x such that x is less than two". Often, a colon ':' is used
instead of a vertical bar

the Sheffer stroke in logic: , read "a nand b"

subtraction: , read "f(x) from a to b", denoting . Used in the context of a definite
integral with variable x.

A vertical bar can be used to separate variables from fixed parameters in a function, for example
, or in the notation for elliptic integrals.

The double vertical bar, , is also employed in mathematics.

parallelism: , read "the line is parallel to the line "

norm: , read "the norm (length, size, magnitude etc.) of the matrix ". The norm of a one-
dimensional vector is the absolute value and single bars are used.[3]

Propositional truncation (a type former that truncates a type down to a mere proposition in homotopy
[4]
type theory): for any (read "term of type ") we have (here reads "image of
in " and reads "propositional truncation of ")[5]

In LaTeX mathematical mode, the ASCII vertical bar produces a vertical line, and \| creates a double
vertical line ( a | b \| c is set as ). This has different spacing from \mid and \parallel ,
which are relational operators: a \mid b \parallel c is set as . See below about LaTeX in
text mode.

Chemistry

In chemistry, the vertical line is used in cell notation of Daniell's Cell or Chemical Cell

Example,

Zn | Zn2+ || Cu2+ | Cu

Double vertical line ( || ) is used to represent salt bridge; which is used to allow free moving ions to move.

Physics

The vertical bar is used in bra–ket notation in quantum physics. Examples:

: the quantum physical state

: the dual state corresponding to the state above

: the inner product of states and

Supergroups in physics are denoted G(N|M), which reads "G, M vertical bar N"; here G denotes any
supergroup, M denotes the bosonic dimensions, and N denotes the Grassmann dimensions.[6]

Computing

Pipe

Main article: Pipeline (Unix)

A pipe is an inter-process communication mechanism originating in Unix, which directs the output (standard
out and, optionally, standard error) of one process to the input (standard in) of another. In this way, a series
of commands can be "piped" together, giving users the ability to quickly perform complex multi-stage
processing from the command line or as part of a Unix shell script ("bash file"). In most Unix shells
(command interpreters), this is represented by the vertical bar character. For example:

grep -i 'blair' filename.log | more

where the output from the grep process (all lines containing 'blair') is piped to the more process (which
allows a command line user to read through results one page at a time).

The same "pipe" feature is also found in later versions of DOS and Microsoft Windows.

This usage has led to the character itself being called "pipe".

Disjunction

In many programming languages, the vertical bar is used to designate the logic operation or, either bitwise
or or logical or.

Specifically, in C and other languages following C syntax conventions, such as C++, Perl, Java and C#, a |
b denotes a bitwise or; whereas a double vertical bar a || b denotes a (short-circuited) logical or.
Since the character was originally not available in all code pages and keyboard layouts, ANSI C can
transcribe it in form of the trigraph ??! , which, outside string literals, is equivalent to the | character.

In regular expression syntax, the vertical bar again indicates logical or (alternation). For example: the Unix
command grep -E 'fu|bar' matches lines containing 'fu' or 'bar'.

Concatenation

The double vertical bar operator "||" denotes string concatenation in PL/I, standard ANSI SQL, and
theoretical computer science (particularly cryptography).

Delimiter

Although not as common as commas or tabs, the vertical bar can be used as a delimiter in a flat file.
Examples of a pipe-delimited standard data format are LEDES 1998B and HL7. It is frequently used because
vertical bars are typically uncommon in the data itself.

Similarly, the vertical bar may see use as a delimiter for regular expression operations (e.g. in sed). This is
useful when the regular expression contains instances of the more common forward slash ( / ) delimiter;
using a vertical bar eliminates the need to escape all instances of the forward slash. However, this makes
the bar unusable as the regular expression "alternative" operator.

Backus–Naur form

In Backus–Naur form, an expression consists of sequences of symbols and/or sequences separated by '|',
indicating a choice, the whole being a possible substitution for the symbol on the left.

<personal-name> ::= <name> | <initial>

Concurrency operator

In calculi of communicating processes (like pi-calculus), the vertical bar is used to indicate that processes
execute in parallel.

APL

The pipe in APL is the modulo or residue function between two operands and the absolute value function
next to one operand.

List comprehensions

Main article: List comprehensions

The vertical bar is used for list comprehensions in some functional languages, e.g. Haskell and Erlang.
Compare set-builder notation.

Text markup

The vertical bar is used as a special character in lightweight markup languages, notably MediaWiki's
Wikitext (in the templates and internal links).

In LaTeX text mode, the vertical bar produces an em dash (—). The \textbar command can be used to
produce a vertical bar.

Phonetics and orthography


Main article: International Phonetic Alphabet § Brackets and transcription delimiters

In the Khoisan languages and the International Phonetic Alphabet, the vertical bar is used to write the dental
click (ǀ). A double vertical bar is used to write the alveolar lateral click (ǁ). Since these are technically letters,
they have their own Unicode code points in the Latin Extended-B range: U+01C0 for the single bar and
U+01C1 for the double bar.

Some Northwest and Northeast Caucasian languages written in the Cyrillic script have a vertical bar called
palochka (Russian: палочĸа, lit. 'little stick'), indicating the preceding consonant is an ejective.

Longer single and double vertical bars are used to mark prosodic boundaries in the IPA.

Literature

In medieval European manuscripts, a single vertical bar was a common variant of the virgula / used as a
comma,[7] or caesura mark.[7]

In Sanskrit and other Indian languages, a single vertical mark, a danda, has a similar function as a period
(full stop). Two bars || (a 'double danda') is the equivalent of a pilcrow in marking the end of a stanza,
paragraph or section. The danda has its own Unicode code point, U+0964.

Poetry

A double vertical bar ⟨||⟩ or ⟨ǁ⟩ is the standard caesura mark in English literary criticism and analysis. It
marks the strong break or caesura common to many forms of poetry, particularly Old English verse. It is also
traditionally used to mark the division between lines of verse printed as prose (the style preferred by Oxford
University Press), though it is now often replaced by the forward slash.

Notation

In the Geneva Bible and early printings of the King James Version, a double vertical bar is used to mark
margin notes that contain an alternative translation from the original text. These margin notes always begin
with the conjunction "Or". In later printings of the King James Version, the double vertical bar is irregularly
used to mark any comment in the margins.

A double vertical bar symbol may be used to call out a footnote. (The traditional order of these symbols in
English is *, †, ‡, §, ‖, ¶, so its use is very rare; in modern usage, numbers and letters are preferred for
endnotes and footnotes.[8])

Music scoring

Main article: Sheet music

In music, when writing chord sheets, single vertical bars associated with a colon (|: A / / / :|) represents the
beginning and end of a section (e.g. Intro, Interlude, Verse, Chorus) of music.[citation needed] Single bars can
also represent the beginning and end of measures (|: A / / / | D / / / | E / / / :|). A double vertical bar associated
with a colon can represent the repeat of a given section (||: A / / / :|| - play twice).[citation needed]

Encoding

Solid vertical bar vs broken bar

Many early video terminals and dot-matrix printers


rendered the vertical bar character as the allograph
broken bar ¦ . This may have been to distinguish the
character from the lower-case 'L' and the upper-
case 'I' on these limited-resolution devices, and to
make a vertical line of them look more like a
horizontal line of dashes. It was also (briefly) part of
the ASCII standard. The code point 124 (7C hexadecimal) is occupied by a
broken bar in a dot matrix printer of the late 1980s, which
An initial draft for a 7-bit character set that was apparently lacks a solid vertical bar. See the full picture.
published by the X3.2 subcommittee for Coded
Character Sets and Data Format on June 8, 1961, was the first to include the vertical bar in a standard set.
The bar was intended to be used as the representation for the logical OR symbol.[9] A subsequent draft on
May 12, 1966, places the vertical bar in column 7 alongside regional entry codepoints, and formed the basis
for the original draft proposal used by the International Standards Organisation.[9] This draft received
opposition from the IBM user group SHARE, with its chairman, H. W. Nelson, writing a letter to the American
Standards Association titled "The Proposed revised American Standard Code for Information Interchange
does NOT meet the needs of computer programmers!"; in this letter, he argues that no characters within the
international subset designated at columns 2-5 of the character set would be able to adequately represent
logical OR and logical NOT in languages such as IBM's PL/I universally on all platforms.[10] As a compromise,
a requirement was introduced where the exclamation mark (!) and circumflex (^) would display as logical OR
(|) and logical NOT (¬) respectively in use cases such as programming, while outside of these use cases
they would represent their original typographic symbols:

It may be desirable to employ distinctive styling to facilitate their use for specific purposes as,
for example, to stylize the graphics in code positions 2/1 and 5/14 to those frequently
associated with logical OR (|) and logical NOT (¬) respectively.

— X3.2 document X3.2/475[11]

The original vertical bar encoded at 0x7C in the original May 12, 1966 draft was then broken as ¦ , so it could
not be confused with the unbroken logical OR. In the 1967 revision of ASCII, along with the equivalent ISO
464 code published the same year, the code point was defined to be a broken vertical bar, and the
exclamation mark character was allowed to be rendered as a solid vertical bar.[12][13] However, the 1977
revision (ANSI X.3-1977) undid the changes made in the 1967 revision, enforcing that the circumflex could
no longer be stylised as a logical NOT symbol, the exclamation mark likewise no longer allowing stylisation
as a vertical bar, and defining the code point originally set to the broken bar as a solid vertical bar
instead;[12] the same changes were also reverted in ISO 646-1973 published four years prior.

Some variants of EBCDIC included both versions of the character as different code points. The broad
implementation of the extended ASCII ISO/IEC 8859 series in the 1990s also made a distinction between the
two forms. This was preserved in Unicode as a separate character at U+00A6 BROKEN BAR (the term
"parted rule" is used sometimes in Unicode documentation). Some fonts draw the characters the same
(both are solid vertical bars, or both are broken vertical bars).[14][failed verification] The broken bar does not
appear to have any clearly identified uses distinct from those of the vertical bar.[15] In non-computing use —
for example in mathematics, physics and general typography — the broken bar is not an acceptable
substitute for the vertical bar.

Many keyboards with US or US-International layout display the


broken bar on a keycap even though the solid vertical bar character
is produced in modern operating systems. This includes many
German QWERTZ keyboards. This is a legacy of keyboards
manufactured during the 1980s and 1990s for IBM PC compatible
computers featuring the broken bar, as such computers used IBM's
8-bit Code page 437 character set based on ASCII, which continued
to display the glyph for the broken bar at codepoint 7C on displays
from MDA (1981) to VGA (1987) despite the changes made to ASCII
US International keyboard showing
in 1977. The UK/Ireland keyboard has both symbols engraved: the broken bar on the keycap, even though
broken bar is given as an alternate graphic on the "grave" (backtick) pressing ⇧ Shift + \ produces the solid
vertical bar.
key; the solid bar is on the backslash key.

The broken bar character can be typed (depending on


the layout) as AltGr + ` or AltGr + 6 or AltGr + ⇧
Shift + Right \ on Windows and Compose ! ^ on Linux.
It can be inserted into HTML as &brvbar;

In some dictionaries, the broken bar is used to mark


stress that may be either primary or secondary. That is,
[¦ba] covers the pronunciations [ˈba] and [ˌba].[16] Full character set of IBM's Code page 437 rendered in
VGA, which displays the broken bar glyph for codepoint
7C, despite the 1977 revision to ASCII
Unicode code points

These glyphs are encoded in Unicode as follows:

U+007C | VERTICAL LINE (&verbar;, &vert;, &VerticalLine;) (single vertical line)

U+00A6 ¦ BROKEN BAR (&brvbar;) (single broken line)

U+2016 ‖ DOUBLE VERTICAL LINE (&Verbar;, &Vert;) (double vertical line ( ): used in pairs to indicate
norm)

U+FF5C | FULLWIDTH VERTICAL LINE (Fullwidth form)

U+2225 ∥ PARALLEL TO (&DoubleVerticalBar;, &par;, &parallel;, &shortparallel;, &spar;)

U+01C0 ǀ LATIN LETTER DENTAL CLICK

U+01C1 ǁ LATIN LETTER LATERAL CLICK

U+2223 ∣ DIVIDES (&mid;, &shortmid;, &smid;, &VerticalBar;)

U+2502 │ BOX DRAWINGS LIGHT VERTICAL (&boxv;) (and various other box drawing characters in the range
U+2500 to U+257F)

U+0964 । DEVANAGARI DANDA

U+0965 ॥ DEVANAGARI DOUBLE DANDA

Code pages and other historical encodings

Broken
Code pages, ASCII, ISO/IEC, EBCDIC, Shift-JIS, etc. Vertical bar ( | ) bar
( ¦ )

ASCII,
CP437, CP667, CP720, CP737, CP790, CP819, CP852, CP855,
none
CP860, CP861, CP862, CP865, CP866, CP867, CP869, CP872,
CP895, CP932, CP991

167
CP775
(A7h)

221
CP850, CP857, CP858
(DDh)
124 (7Ch)
160
CP863
(A0h)

219
CP864
(DBh)

ISO/IEC 8859-1, -7, -8, -9, -13,


166
CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256,
(A6h)
CP1257, CP1258

ISO/IEC 8859-2, -3, -4, -5, -6, -10, -11, -14, -15, -16 none

EBCDIC CCSID 37 79 (4Fh) 106


EBCDIC CCSID 500 187 (BBh) (6Ah)

Men-ku-ten 1-01-35 (7-bit:


JIS X 0208, JIS X 0213 2143h; Shift JIS: 8162h; EUC: none
A1C3h)[a]

See also

Bar (diacritic) – Diacritic used in some languages Look up vertical bar in


Wiktionary, the free
Triple bar – Symbol with multiple meanings dictionary.

Notes

a. ^ The Shift JIS and EUC encoded forms also include the ASCII vertical bar in its usual encoding (see halfwidth
and fullwidth forms). The same applies when the 7-bit form is used as part of ISO-2022-JP (allowing
switching to and from ASCII).

References

1. ^ Raymond, Eric S. "ASCII" . The Jargon File. 9. ^ a b


Fischer, Eric (2012). The Evolution of Character
Codes, 1874-1968 (Thesis). Penn State
2. ^ a b c
Weisstein, Eric W. "Single Bar" .
University. CiteSeerX 10.1.1.96.678 . Retrieved
mathworld.wolfram.com. Retrieved 2020-08-24.
July 10, 2020.
3. ^ Weisstein, Eric W. "Matrix Norm" .
10. ^ H. W. Nelson, letter to Thomas B. Steel, June 8,
mathworld.wolfram.com. Retrieved 2020-08-24.
1966, Honeywell Inc. X3.2 Standards Subcommittee
4. ^ Univalent Foundations Program (2013). Homotopy Records, 1961-1969 (CBI 67), Charles Babbage
Type Theory: Univalent Foundations of Mathematics Institute, University of Minnesota, Minneapolis, box
(GitHub version) (PDF). Institute for Advanced 1, folder 23.
Study. p. 108. Archived from the original (PDF) on
11. ^ X3.2 document X3.2/475, December 13, 1966,
2017-07-07. Retrieved 2017-07-01.
Honeywell Inc. X3.2 Standards Subcommittee
5. ^ Univalent Foundations Program (2013). Homotopy Records, 1961-1969 (CBI 67), Charles Babbage
Type Theory: Univalent Foundations of Mathematics Institute, University of Minnesota, Minneapolis, box
(print version) . Institute for Advanced Study. 1, folder 22.
p. 450.
12. ^ a b
Salste, Tuomas (January 2016). "7-bit
6. ^ Larus Thorlacius, Thordur Jonsson (eds.), M- character sets: Revisions of ASCII" . Aivosto Oy.
Theory and Quantum Geometry, Springer, 2012, p. urn:nbn:fi-fe201201011004 . Archived from the
263. original on 2016-06-13. Retrieved 2016-06-13.

7. ^ a b
"Virgule". Oxford English Dictionary. Vol. XII 13. ^ Korpela, Jukka. "Character histories - notes on
(Corrected reissue ed.). Oxford University Press. some Ascii code positions" . Archived from the
1933. p. 235 .. original on 2020-03-11. Retrieved 2020-05-31.

8. ^ Bringhurst, Robert (2005). The Elements of 14. ^ Jim Price (2010-05-24). "ASCII Chart: IBM PC
Typographic Style (ver. 3.1 ed.). Point Roberts, Extended ASCII Display Characters" . Retrieved
Washington: Hartley and Marks. pp. 68–69. "But 2012-02-23.
beyond the ... double dagger, this order is not
15. ^ Jukka "Yucca" Korpela (2006-09-20). "Detailed
familiar to most readers, and never was."
descriptions of the characters" . Retrieved 2012-
02-23.

16. ^ For example, "Balearic" . Merriam-Webster.com


Dictionary..

Last edited on 19 December 2023, at 11:24

Content is available under CC BY-SA 4.0 unless otherwise noted.

Terms of Use • Privacy policy • Desktop


:

You might also like