Vertical bar
| | |
---|---|
Vertical bar | |
InUnicode | U+007C|VERTICAL LINE(|, |, |) |
Related | |
See also | U+00A6¦BROKEN BAR(¦) U+2016‖DOUBLE VERTICAL LINE(‖, ‖) |
Thevertical bar,|,is aglyphwith various uses inmathematics,computing,andtypography.It has many names, often related to particular meanings:Sheffer stroke(inlogic),pipe,bar,or(literally, the word "or" ),vbar,and others.[1]
Usage
[edit]Mathematics
[edit]The vertical bar is used as amathematical symbolin numerous ways. If used as a pair of brackets, it suggests the notion of the word "size". These are:
- absolute value:,read "theabsolute valueofx"[2]
- cardinality:,read "thecardinalityof thesetS"or" thelengthof astringS"
- determinant:,read "thedeterminantof thematrixA".[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 "theorderof thegroupG",or,"theorderof the element"
Likewise, the vertical bar is also used singly in many different ways:
- conditional probability:,read "theprobabilityofXgivenY"
- distance:,denoting the shortestdistancebetween pointto line,so lineis perpendicular to line
- divisibility:,read "adividesb"or"ais afactorofb",though Unicode also provides special 'divides' and 'does not divide' symbols (U+2223 and U+2224:∣, ∤)[2]
- functionevaluation:,read "fofx,evaluated atxequals 4 "(seesubscriptsat Wikibooks)
- restriction:,denoting therestrictionof the function,with a domain that is a superset of,to just
- set-builder notation:,read "the set ofxsuch thatxisless thantwo ". Often, acolon':' is used instead of a vertical bar
- theSheffer strokeinlogic:,read "anandb"
- subtraction:,read "f(x)fromatob",denoting.Used in the context of a definite integral with variablex.
- A vertical bar can be used to separate variables from fixed parameters in a function, for example,or in the notation forelliptic integrals.
Thedouble vertical bar,,is also employed in mathematics.
- parallelism:,read "the lineis parallel tothe line"
- norm:,read "thenorm(length, size, magnitude etc.) of the matrix".The norm of a one-dimensionalvectoris the absolute value and single bars are used.[3]
- Propositional truncation:(atypeformer that truncates a type down to amere propositioninhomotopy type theory): for any(read "termof type") we have[4](herereads "imageofin"andreads "propositional truncationof")[5]
In LaTeXmathematical 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 arerelational operators:a \mid b \parallel c
is set as.See below aboutLaTeXin text mode.
Chemistry
[edit]In chemistry, the vertical line is used incell notationof electrochemical cells.
Example,
Zn | Zn2+|| Cu2+| Cu
Single vertical lines show components of the cell which do not mix, usually being in different phases. The double vertical line ( || ) is used to represent salt bridge; which is used to allow free moving ions to move.
Physics
[edit]The vertical bar is used inbra–ket notationinquantum physics.Examples:
- :the quantum physical state
- :thedual statecorresponding to the state above
- :theinner productof statesand
- Supergroups in physicsare denotedG(N|M), which reads "G,Mvertical barN";hereGdenotes any supergroup,Mdenotes thebosonic dimensions,andNdenotes theGrassmann dimensions.[6]
Computing
[edit]Pipe
[edit]Apipeis aninter-process communicationmechanism originating inUnix,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 thecommand lineor as part of aUnix shell script( "bash file" ). In mostUnix shells(command interpreters), this is represented by the vertical bar character. For example:
grep-i 'blair' filename.log |more
where the output from thegrepprocess (all lines containing 'blair') is piped to themoreprocess (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 ofDOSand Microsoft Windows.
This usage has led to the character itself being called "pipe".
Disjunction
[edit]In many programming languages, the vertical bar is used to designate thelogic operationor,eitherbitwiseororlogicalor.
Specifically, inCand other languages followingC syntaxconventions, such asC++,Perl,JavaandC#,a | b
denotes abitwiseor;whereas a double vertical bara || b
denotes a (short-circuited)logicalor.Since the character was originally not available in allcode pagesand keyboard layouts,ANSI Ccan transcribe it in form of thetrigraph??!
,which, outside string literals, is equivalent to the|
character.
Inregular expressionsyntax, the vertical bar again indicates logicalor(alternation). For example: the Unix commandgrep-E 'fu|bar'
matches lines containing 'fu' or 'bar'.
Concatenation
[edit]The double vertical bar operator "||" denotesstringconcatenationinPL/I,standardANSI SQL,and theoretical computer science (particularlycryptography).
Delimiter
[edit]Although not as common as commas or tabs, the vertical bar can be used as adelimiterin aflat file.Examples of apipe-delimitedstandard data format areLEDES1998B andHL7.It is frequently used because vertical bars are typically uncommon in the data itself.
Similarly, the vertical bar may see use as a delimiter forregular expressionoperations (e.g. insed). 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
[edit]InBackus–Naur form,an expression consists of sequences of symbols and/or sequences separated by '|', indicating achoice,the whole being a possible substitution for the symbol on the left.
<personal-name>::=<name>|<initial>
Concurrency operator
[edit]In calculi of communicating processes (likepi-calculus), the vertical bar is used to indicate that processes execute in parallel.
APL
[edit]The pipe inAPLis the modulo orresiduefunction between two operands and the absolute value function next to one operand.
List comprehensions
[edit]The vertical bar is used for list comprehensions in some functional languages, e.g.HaskellandErlang.Compareset-builder notation.
Text markup
[edit]The vertical bar is used as a special character inlightweight markup languages,notablyMediaWiki'sWikitext(in the templates and internal links).
In LaTeX text mode, the vertical bar produces anem dash(—). The\textbar
command can be used to produce a vertical bar.
Phonetics and orthography
[edit]In theKhoisan languagesand theInternational Phonetic Alphabet,the vertical bar is used to write thedental click(ǀ). A double vertical bar is used to write thealveolar lateral click(ǁ). Since these are technically letters, they have their ownUnicodecode points in theLatin Extended-Brange: U+01C0 for the single bar and U+01C1 for the double bar.
SomeNorthwestandNortheast Caucasian languageswritten in theCyrillic scripthave a vertical bar calledpalochka(Russian:палочка,lit.'little stick'), indicating the preceding consonant is anejective.
Longer single and double vertical bars are used to markprosodicboundaries in the IPA.
Literature
[edit]
In medieval European manuscripts, a single vertical bar was a common variant of thevirgula/used as acomma,[7]orcaesuramark.[7]
InSanskritand otherIndian languages,a single vertical mark, adanda,has a similar function as a period (full stop). Two bars || (a 'double danda') is the equivalent of apilcrowin marking the end of astanza,paragraph or section. The danda has its own Unicode code point, U+0964.
Poetry
[edit]A double vertical bar⟨||⟩or⟨ǁ⟩is the standardcaesura markin Englishliterary criticismand analysis. It marks the strong break orcaesuracommon to many forms ofpoetry,particularlyOld English verse.It is also traditionally used to mark the division between lines of verse printed as prose (the style preferred byOxford University Press), though it is now often replaced by theforward slash.[citation needed]
Notation
[edit]In theGeneva Bibleand early printings of theKing James Version,a double vertical bar is used to markmargin notesthat 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 afootnote.(The traditional order of these symbols in English is*,†,‡,§,‖,¶,so its use is very rare; in modern usage, numbers and letters are preferred forendnotes and footnotes.[8])
Music scoring
[edit]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
[edit]Solid vertical bar versus broken bar
[edit]![](https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Dot_printer_ASCII0x7C%2B.png/320px-Dot_printer_ASCII0x7C%2B.png)
Many early video terminals anddot-matrix printersrendered the vertical bar character as theallographbroken 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 theASCIIstandard.
An initial draft for a 7-bit character set that was 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 thelogical ORsymbol.[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 theInternational Standards Organisation.[9]This draft received opposition from theIBMuser groupSHARE,with its chairman, H. W. Nelson, writing a letter to theAmerican Standards Associationtitled "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 andlogical NOTin languages such as IBM'sPL/Iuniversally on all platforms.[10]As a compromise, a requirement was introduced where theexclamation mark(!) andcircumflex(^) 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 ofEBCDICincluded both versions of the character as different code points. The broad implementation of theextended ASCIIISO/IEC 8859series in the 1990s also made a distinction between the two forms. This was preserved in Unicode as a separate character at U+00A6BROKEN 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]
![](https://upload.wikimedia.org/wikipedia/commons/f/f8/Codepage-437.png)
Many keyboards with US, US-International, and GermanQWERTZlayout display the broken bar on a keycap even though the solid vertical bar character is produced. This is a legacy of keyboards manufactured during the 1980s and 1990s forIBM PC compatiblecomputers, as the IBM PC continued to display the glyph for the broken bar at codepoint 7C on displays fromMDA(1981) toVGA(1987) despite the changes made to ASCII in 1977. The UK/Ireland keyboard has both symbols engraved: the broken bar is given as analternate graphicon the "grave" (backtick) key; the solid bar is on thebackslashkey.
The broken bar character can be typed (depending on the layout) asAltGr+`orAltGr+6orAltGr+⇧ Shift+\on Windows andCompose!^on Linux. It can be inserted into HTML as¦
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. In some dictionaries, the broken bar is used to mark stress that may be either primary or secondary:[¦ba]covers the pronunciations[ˈba]and[ˌba].[16]
Unicode code points
[edit]These glyphs are encoded in Unicode as follows:
- U+007C|VERTICAL LINE(|, |, |) (single vertical line)
- U+00A6¦BROKEN BAR(¦) (single broken line)
- U+2016‖DOUBLE VERTICAL LINE(‖, ‖) (double vertical line (): used in pairs to indicatenorm)
- U+FF5C|FULLWIDTH VERTICAL LINE(Fullwidth form)
- U+FFE4¦FULLWIDTH BROKEN BAR
- U+2225∥PARALLEL TO(∥, ∥, ∥, ∥, ∥)
- U+01C0ǀLATIN LETTER DENTAL CLICK
- U+01C1ǁLATIN LETTER LATERAL CLICK
- U+2223∣DIVIDES(∣, ∣, ∣, ∣)
- U+2502│BOX DRAWINGS LIGHT VERTICAL(│) (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
[edit]Code pages, ASCII, ISO/IEC, EBCDIC, Shift-JIS, etc. | Vertical bar (| )
|
Broken bar (¦ )
|
---|---|---|
ASCII, CP437,CP667,CP720,CP737,CP790,CP819,CP852,CP855,CP860,CP861,CP862,CP865,CP866,CP867,CP869,CP872,CP895,CP932,CP991 |
124 (7Ch) | none |
CP775 | 167 (A7h) | |
CP850,CP857,CP858 | 221 (DDh) | |
CP863 | 160 (A0h) | |
CP864 | 219 (DBh) | |
ISO/IEC 8859-1,-7,-8,-9,-13, CP1250,CP1251,CP1252,CP1253,CP1254,CP1255,CP1256,CP1257,CP1258 |
166 (A6h) | |
ISO/IEC 8859-2,-3,-4,-5,-6,-10,-11,-14,-15,-16 | none | |
EBCDICCCSID 37 | 79 (4Fh) | 106 (6Ah) |
EBCDICCCSID 500 | 187 (BBh) | |
JIS X 0208,JIS X 0213 | Men-ku-ten1-01-35 (7-bit: 2143h;Shift JIS:8162h;EUC:A1C3h)[a] | none |
See also
[edit]![](https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/Wiktionary-logo-en-v2.svg/40px-Wiktionary-logo-en-v2.svg.png)
- Bar (diacritic)– Diacritic used in some languages
- Triple bar– Symbol with multiple meanings
Notes
[edit]- ^The Shift JIS and EUC encoded forms also include the ASCII vertical bar in its usual encoding (seehalfwidth and fullwidth forms). The same applies when the 7-bit form is used as part ofISO-2022-JP(allowing switching to and from ASCII).
References
[edit]- ^Raymond, Eric S."ASCII".The Jargon File.Archivedfrom the original on Oct 30, 2023.
- ^abcWeisstein, Eric W."Single Bar".Wolfram MathWorld.Retrieved2020-08-24.
- ^Weisstein, Eric W."Matrix Norm".Wolfram MathWorld.Retrieved2020-08-24.
- ^Univalent Foundations Program (2013).Homotopy Type Theory: Univalent Foundations of Mathematics (GitHub version)(PDF).Institute for Advanced Study. p. 108. Archived fromthe original(PDF)on 2017-07-07.Retrieved2017-07-01.
- ^Univalent Foundations Program (2013).Homotopy Type Theory: Univalent Foundations of Mathematics (print version).Institute for Advanced Study. p. 450.
- ^Larus Thorlacius, Thordur Jonsson (eds.),M-Theory and Quantum Geometry,Springer, 2012, p. 263.
- ^ab"Virgule".Oxford English Dictionary.Vol. XII (Corrected reissue ed.). Oxford University Press. 1933. p.235..
- ^Bringhurst, Robert (2005).The Elements of Typographic Style(ver. 3.1 ed.). Point Roberts, Washington: Hartley and Marks. pp. 68–69.
But beyond the... double dagger, this order is not familiar to most readers, and never was.
- ^abFischer, Eric (2012).The Evolution of Character Codes, 1874-1968(Thesis). Penn State University.CiteSeerX10.1.1.96.678.RetrievedJuly 10,2020.
- ^H. W. Nelson, letter to Thomas B. Steel, June 8, 1966, Honeywell Inc. X3.2 Standards Subcommittee Records, 1961-1969 (CBI 67), Charles Babbage Institute, University of Minnesota, Minneapolis, box 1, folder 23.
- ^X3.2 document X3.2/475, December 13, 1966, Honeywell Inc. X3.2 Standards Subcommittee Records, 1961-1969 (CBI 67), Charles Babbage Institute, University of Minnesota, Minneapolis, box 1, folder 22.
- ^abSalste, Tuomas (January 2016)."7-bit character sets: Revisions of ASCII".Aivosto Oy.urn:nbn:fi-fe201201011004.Archivedfrom the original on 2016-06-13.Retrieved2016-06-13.
- ^Korpela, Jukka."Character histories - notes on some Ascii code positions".Archivedfrom the original on 2020-03-11.Retrieved2020-05-31.
- ^Jim Price (2010-05-24)."ASCII Chart: IBM PC Extended ASCII Display Characters".Retrieved2012-02-23.
- ^Jukka "Yucca" Korpela (2006-09-20)."Detailed descriptions of the characters".Retrieved2012-02-23.
- ^For example,"Balearic".Merriam-Webster Dictionary.Merriam-Webster..