205

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?

8
  • 10
    (Off-topic) Actually, 1|0 but 1 > 0.
    – kennytm
    Jul 28, 2010 at 18:06
  • 1
    Yeah, well… it's true if a, b > 0. Jul 28, 2010 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, 2011 at 21:58
  • 3
    \mid automatically has spacing before and after it, which | does not have. May 3, 2013 at 0:08
  • 2
    I ended up using \bigg|, which unlike other solutions provided so far, scales.
    – user75494
    Apr 2, 2015 at 20:10

6 Answers 6

166

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.

13
  • 28
    I am now thoroughly confused – what is an ordinal? Jun 9, 2011 at 19:30
  • 10
    @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. Jun 9, 2011 at 20:26
  • 5
    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, 2013 at 2:30
  • 3
    @Christian Good question. A bit of both, I’d say. No idea what’d be appropriate here. Probably \mid / \mvert. Dec 16, 2013 at 8:03
  • 14
    An FYI for those who want to use these symbols: \mvert and \divides require the MnSymbol package; \lvert and \rvert require amsmath or MnSymbol. Nov 24, 2014 at 23:35
44

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

3
  • 1
    Adding in \left and \right then means that they have a chance of scaling correctly as well. Jul 29, 2010 at 9:40
  • 1
    @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. Apr 11, 2011 at 8:38
  • 1
    The package mathtools should be used to provide scalable versions of \abs and \norm in this answer.
    – pavel
    Mar 29, 2018 at 7:51
43

Another option which was not mentioned in any of the comments above is:

F=\left.\frac{\partial f}{\partial x}\right|_{\hat x_{k-1}}

enter image description here

I hope this helps someone else.

3
  • Been searching for this answer for way too long, should be higher on the list! Sep 27, 2022 at 14:45
  • Thank you very much. Dec 18, 2022 at 18:15
  • 1
    This seems like you're answering a different question, or responding to a different answer. How does this relate to the difference between $|$ and the other vertical bars? Shouldn't you use $\rvert$ instead of $|$ in your snippet?
    – Teepeemm
    Feb 28 at 17:50
12

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.

1
  • 8
    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). Feb 3, 2012 at 17:46
7

\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. :-)

2
  • 4
    According to symbols, \vert and | aren’t delimiters either. Jul 28, 2010 at 18:42
  • You don't need a package like mathtools to define \absval{} as you describe. Aug 20, 2010 at 14:28
2

Another option is instead of using

\left. ... \right|

one can use

F=\frac{\partial f}{\partial x}\bigg|_{\hat x_{k-1}}

enter image description here

3
  • 1
    This seems like you're answering a different question, or responding to a different answer. How does this relate to the difference between $|$ and the other vertical bars? Shouldn't you use $\rvert$ instead of $|$ in both snippets?
    – Teepeemm
    Feb 28 at 17:49
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Feb 28 at 17:50
  • I would have liked to add as a comment to answer above by desmond13, but cannot because of rep. If you think that the answer by desmond13 is inappropriate as well, feel free to delete both.
    – jamblejoe
    Mar 2 at 10:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .