12

I'm trying a simple definition of a set.

My try: $M=\{x\,|\,1\le x\le p-2\}$

Is there a more comfortable way of getting a little space before and after the |? I'm thinking of something like the \mod which does the spacing on its own.

LostAvatar
  • 591
  • 2
  • 5
  • 13

2 Answers2

19

The vertical bar is usually produced by using \mid, which prints the same symbol as | (or \vert, which is a synonym).

The difference is that \mid is treated as a relation symbol, so it will have thick spaces on its sides:

$M = \{ x \mid 1 \le x \le p-2 \}$

Many people (including Knuth) recommend adding thin spaces in order to detach the braces when using a condition with \mid:

$M = \{\, x \mid 1 \le x \le p-2 \,\}$

but

$X = \{1,2,3,4\}

when listing elements. Take your pick. For a small number of set denotations in the document this should not be a problem; but when there are many of them it's better to add a command, in order to ensure uniformity:

\newcommand{\Set}[2]{%
  \{\, #1 \mid #2 \, \}%
}

(the % aren't really necessary in this case) so you can call

$M = \Set{x}{1\le x\le p-2}$

and forget about the details. You'll also have the advantage that, if a fussy copy editor says they want colons and not vertical bars, it will be just a matter of changing \mid into : in the definition of \Set.

In a paper I was fine tuning for publication in a conference proceedings volume, sets were denoted in three different ways: sometimes the separation was with the bar, sometimes with a colon, sometimes with a semicolon. Being consistent in notation is a necessity, not an option.

egreg
  • 1,121,712
5

An interesting option for you may be to load the braket package and use its commands \set and \Set. The lowercase-spelled version, \set, uses fixed-size (small) curly braces and central vertical bars; the uppercase-spelled version lets the "fence" symbols grow automatically with the material they enclose.

You could thus enter an expression such as

$M=\set{x|1\le x\le p-2}$

and let the package do the job of formatting the expression properly.

Mico
  • 506,678