5

I do not understand why \restriction (from package amssymb) is defined to be a relation-symbol. It is certainly not one in mathematics... Is there any special reason, or should I just consider it a bug and redefine it using \mathbin?

0
4

I'm not sure why amssymb defines \restriction as a math relation symbol.

\DeclareMathSymbol{\upharpoonright} {\mathrel}{AMSa}{"16}
 \global\let\restriction\upharpoonright

Given these definitions, you can “fix” it according to your taste by making it an ordinary or binary operation symbol:

\documentclass{article}
\usepackage{amsmath,amssymb}

\DeclareMathSymbol{\ORDrestriction}{\mathord}{AMSa}{"16}
\DeclareMathSymbol{\BINrestriction}{\mathbin}{AMSa}{"16}


\begin{document}

$f\restriction A$ (relation)

$f\ORDrestriction A$ (ordinary)

$f\BINrestriction A$ (binary operation)

\end{document}

enter image description here

Once you have made your choice, you can remove the undesired definition and also the capitalized prefix.

If you want the relation spacing but also to avoid line breaks after the symbol, you can do

\renewcommand{\restriction}{\upharpoonright\nolinebreak}

If you prefer cargo cult programming

\renewcommand{\restriction}{\upharpoonright\nobreak}
4
  • @campa \nobreak is not documented in the LaTeX manual. ;-)
    – egreg
    Oct 8 '20 at 11:53
  • Thanks. This raises a good question: I simply did \def\rt{\mathbin{\restriction}} to make it a binary operation. Is \DeclareMathSymbol{\rt}{\mathbin}{AMSa}{"16} a better option, and why?
    – user21820
    Oct 8 '20 at 12:05
  • 1
    @user21820 If you want to use a different name, there's basically no difference. The latter is slightly more efficient.
    – egreg
    Oct 8 '20 at 12:24
  • I see, ok thanks!
    – user21820
    Oct 8 '20 at 12:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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