我使用重音符号来生成\in
运算符的变体,但当我在其上放置重音符号时,例如\tilde{\in}
,我得到的间距与 不同,请参见下面的示例和图片。我的问题是:使它获得与 相同的间距\in
的最佳方法是什么?\tilde{\in}
\in
在下面的例子中,我还提供了两次获取正确间距的失败尝试。我不太熟悉数学模式和运算符的定义。也许正确的方法是使用\DeclareMathOperator
?
\documentclass{article}
\begin{document}
The spacing I want:
\[
w_{1} \in w_{2}
\]
The spacing I get with an accent:
\[
w_{1} \tilde{\in} w_{2}
\]
Better spacing but an ugly hack:
\[
w_{1}~\tilde{\in}~w_{2}
\]
The wrong spacing (too tight?):
\[
w_{1} \mathop{\tilde{\in}} w_{2}
\]
\end{document}
答案1
TeX 将重音符号视为普通符号;您必须告诉它您想要一个关系符号:
\( w_{1} \mathrel{\tilde{\in}} w_{2} \)
声明数学符号的命令是
\mathord
(普通的)\mathbin
(二元运算)\mathrel
(二元关系)\mathop
(操作人员请小心使用)
普通符号排版时周围没有任何空格。二进制运算类似于+
;例如,如果要定义“mod”运算,正确的方法是
\newcommand{\bmod}{\mathbin{\textrm{mod}}}
(amsmath 的做法完全不同,但这不是重点)。二元关系就像<
;二元关系符号周围的间距大于操作符号周围的间距。此外,关系符号周围的空间是不可压缩的,而操作符号周围的空间是不可压缩的。
正如前面所说,在符号上添加重音会使其失去预定义的性质:重音簇被视为普通符号;因此我们必须明确说明其性质。