# How to typeset function restrictions

I wonder how to typeset the restriction of a function to some subdomain, a la $f|_A$ or $f\restriction_A$ , but with the vertical bar being as big as possible.

• It seems that one can just use \big| or \Big|. But is there something which chooses the optimal size (or can there not be such a thing)? Jul 4 '11 at 7:50
• And welcome to TeX.SE! Jul 4 '11 at 8:33
• For \restriction, \usepackage{amssymb}. Nov 22 '13 at 6:18
• @EvgeniSergeev Your answer is the best - why don't you make it one? Sep 9 '14 at 6:47
• @AriBrodsky It doesn't actually answer the OP's question (though it might be useful for folks like me who came to the page looking to answer the question restricted to its title :) Sep 10 '14 at 1:56

If you want the vertical bar to be at least \big, the following doesn't have the spacing issues of Ulrich's solution:

\newcommand\restr[2]{{% we make the whole thing an ordinary symbol
\left.\kern-\nulldelimiterspace % automatically resize the bar with \right
#1 % the function
\vphantom{\big|} % pretend it's a little taller at normal size
\right|_{#2} % this is the delimiter
}}


If you don't need the extra height for normal size symbols, comment the \vphantom line.

Use it as \restr{f}{A}.

Does $\left.f\right|_A$ provide what you are looking for?

How about \newcommand\restr[2]{\ensuremath{\left.#1\right|_{#2}}}, which can be used like this: $\restr{f}{A}$?

(Warning, haven't tested...)

I use the following:

\def\restrict#1{\raise-.5ex\hbox{\ensuremath|}_{#1}}


because normally the vertical bar must be lowered (and not centered on the math axis as other symbols). And it doesn't need to be very big, it is the fact that it goes lower than the rest that shows that it is a restriction and not an absolute value or a divides symbol.

• Since it's LaTeX, it should be \newcommand\restrict[1]{\raisebox{-.5ex}{$|$}_{#1}} Nov 17 '15 at 10:08

I had that problem recently and I looked it up here, but since then I usually type $f_{\big|A}$

• Shouldn't it be $f{\big|}_A$? Aug 12 '17 at 6:49
• I wouldn't write it like that
– Javi
Aug 13 '17 at 9:57

I would prefer $f\arrowvert_A$ to the above-mentioned suggested commands.

• Welcome to TeX.SE! What do you mean with above commands? Sep 22 at 16:44
• Additionally, specify the source of \arrowvert. Sep 22 at 17:20