Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

What's the difference between the different vertical bars?

$S = \{\, x \mid x \not= 17 \,\}$
$a \vert b$ implies $a \leq b$ when $b \ne 0$
$a|b$ implies $a \leq b$ when $b \ne 0$
$\lvert x \rvert$ is always non-negative

enter image description here

Are all of these uses correct?

share|improve this question
2  
(Off-topic) Actually, 1|0 but 1 > 0. –  KennyTM Jul 28 '10 at 18:06
1  
Yeah, well… it's true if a, b > 0. –  Ben Alpert Jul 28 '10 at 18:09
    
Divides is actually defined on negative numbers as well; 2 | -10. @Ben Alpert had the right condition. Of course, that's off topic from the question. As far as that's concerned, I'm glad you asked! The answers have been rather helpful. –  Daniel H Sep 4 '11 at 21:58
1  
\mid automatically has spacing before and after it, which | does not have. –  Michael Hardy May 3 '13 at 0:08

4 Answers 4

up vote 68 down vote accepted

According to texdoc symbols:

\mvert and \mid are identical and produce a relation. \vert is a synonym for | and both produce the same symbol, but should be used in the context of an ordinal, and should be used as an operator, not as a delimiter (p54, bottom). \divides once again produces the same symbol but should be used as a binary “divides” operator.

\lvert and \rvert are left and right delimiters, respectively.

share|improve this answer
    
+1 ran out of up-votes but this is a nice, clear and concise answer. –  Juan A. Navarro Jul 28 '10 at 20:29
2  
I am now thoroughly confused – what is an ordinal? –  Ben Alpert Jun 9 '11 at 19:30
3  
@Ben The word “ordinal” in this context is copied from the symbols document which uses it without explanation. My guess is that it’s the usual sense: to denote a number symbol (operand) rather than an operator or a delimiter. I can’t think of a use for this, but the very similar symbol “‖” is used as an ordinal in standard typography, namely as the fifth footnote symbol. The consequence for LaTeX is spacing: | doesn’t introduce any. –  Konrad Rudolph Jun 9 '11 at 20:26
1  
So when using a vertical bar as a separator in a set definition before the condition, is that a relation or an operator? I'd say it's a delimiter, but those are left or right only, not centre. Correct? –  Christian Dec 16 '13 at 2:30
1  
@Christian Good question. A bit of both, I’d say. No idea what’d be appropriate here. Probably \mid / \mvert. –  Konrad Rudolph Dec 16 '13 at 8:03

This is similar in spirit to qbi's answer. Let me quote from the guide to the amsmath package (the document known as amsldoc), section 4.14.2 Vertical bar notations:

The amsmath package provides commands \lvert, \rvert, \lVert, \rVert (compare \langle, \rangle) to address the problem of overloading for the vert bar character |. This character is currently used in LaTeX documents to represent a wide variety of mathematical objects [...]. The multiplicity of uses in itself is not so bad; what is bad, however, is that fact that not all of the uses take the same typographical treatment, and that the complex discriminatory powers of a knowledgeable reader cannot be replicated in computer processing of mathematical documents. It is recommended therefore that there should be a one-to-one correspondence in any given document between the vert bar character | and a selected mathematical notation, and similarly for the double-bar command \|. This immediately rules out the use of | and \| for delimiters, because left and right delimiters are distinct usages that do not relate in the same way to adjacent symbols; recommended practice is therefore to define suitable commands in the document preamble for any paired-delimiter use of vert bar symbols:

\providecommand{\abs}[1]{\lvert#1\rvert} \providecommand{\norm}[1]{\lVert#1\rVert}

whereupon the document would contain \abs{z} to produce |z| and \norm{v} to produce ∥v∥.

share|improve this answer
    
Adding in \left and \right then means that they have a chance of scaling correctly as well. –  Loop Space Jul 29 '10 at 9:40
8  
@andrew: bad idea in general \abs{ \sum_k } becomes way to large. The \DeclarePairedDelimiter from mathtools is a better choice. It create two macros \abs and \abs*, where the last one scales using \left/right and the first can be manually scaled using say \abs[\Big]{...} –  daleif Apr 11 '11 at 8:13
    
@daleif: See tex.stackexchange.com/q/1023/86 for a question about getting the right parenthesis size when the inner text isn't vertically balanced. –  Loop Space Apr 11 '11 at 8:38

As far as I know, by default they're all defined to be the same bar, except for maybe some spacing differences. But LaTeX, like properly written HTML, favors semantic markup over purely functional markup - you use the command for what you mean, rather than just what you want to appear on the page. This way, if you decide later on that you want certain kinds of bars to look different, it's easier to change only the bars you actually want to and not mess with anything else. For example, if you want to have less space between the bars and the text in constructions like |x|, you can redefine \lvert and \rvert appropriately.

As qbi said, it is recommended to define a higher level of semantic markup, namely things like \abs, \norm, \union, \or, \suchthat, etc., to represent what you really mean in your formulas, and to use those instead of \vert, \lvert and \rvert directly.

share|improve this answer
1  
they're all defined to be the same glyph, but the class is different; check the definitions in plain.tex or appendices b and f of the texbook (via the index). –  barbara beeton Feb 3 '12 at 17:46

\mid is a relation symbol and | is a delimiter. As far as I know \vert is basically the same as |. For things like abslute value and norm I like to use mathtools.sty. This class allows to define something like \absval{} which translates to \lvert ...\rvert. This is useful when you tend to forget the closing bar. :-)

share|improve this answer
    
According to symbols, \vert and | aren’t delimiters either. –  Konrad Rudolph Jul 28 '10 at 18:42
    
You don't need a package like mathtools to define \absval{} as you describe. –  Mark Meckes Aug 20 '10 at 14:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.