为什么 `\restriction` 是关系符号?

为什么 `\restriction` 是关系符号?

我不明白为什么\restriction(来自包amssymb)被定义为关系符号。它肯定不是数学中的一个...有什么特殊原因吗,或者我应该把它看作一个错误,然后使用 重新定义它\mathbin

答案1

我不确定为什么amssymb定义\restriction为数学关系符号。

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

有了这些定义,你可以根据自己的喜好“修复”它,使其成为普通或二进制运算符号:

\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}

在此处输入图片描述

一旦做出选择,您可以删除不需要的定义以及大写的前缀。

如果你想要关系间距,但又避免符号后的换行,你可以这样做

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

如果你更喜欢货物崇拜编程

\renewcommand{\restriction}{\upharpoonright\nobreak}

相关内容