我不明白为什么\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}