
答案1
如果您希望操作員尊重\limits
您應該使用\DeclareMathOperator*
.然而,對於所需的符號來說,這是錯誤的工具,因為它會產生具有錯誤間距的運算子而不是關係符號。然後
\newcommand{\isEquivTo}[1]{\underset{#1}{\sim}}
似乎更適合您的需求。請注意,它將\underset
“知道”這\sim
是一個關係符號,因此它將在其周圍使用正確的間距。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\isEquivTo}[1]{\underset{#1}{\sim}}
\begin{document}
\[
\sin(n) + n \isEquivTo{+\infty} n
\]
\end{document}
另一方面,在符號下設定下標在內聯時不會給出好的結果;這是一個更好的定義,\underset
僅在顯示樣式中使用。仔細查看輸出,了解為什麼最好不要使用\underset
內聯公式的形式。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\isEquivTo}[1]{%
\mathpalette\isEquivToInner{#1}%
}
\newcommand{\isEquivToInner}[2]{%
\ifx#1\displaystyle
\underset{#2}{\sim}
\else
\sim_{#2}
\fi
}
\begin{document}
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
$\displaystyle\sin(n) + n \isEquivTo{+\infty} n$
some text some text some text some text some text some text some text
some text some text some text some text some text some text some text
$\sin(n) + n \isEquivTo{+\infty} n$
some text some text some text some text some text some text some text
some text some text some text some text some text some text some text
\[
\sin(n) + n \isEquivTo{+\infty} n
\]
\end{document}
如果您想要類似的語法\isEquivTo_{+\infty}
,可以使用xparse
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\NewDocumentCommand{\isEquivTo}{e{_}}{\isEquivToA#1}
\NewDocumentCommand{\isEquivToA}{m}{%
\IfNoValueTF{#1}
{\sim}
{\mathpalette\isEquivToB{#1}}%
}
\newcommand{\isEquivToB}[2]{%
\ifx#1\displaystyle
\underset{#2}{\sim}
\else
\sim_{#2}
\fi
}
\begin{document}
Here is the command without subscript $n \isEquivTo n$
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
$\displaystyle\sin(n) + n \isEquivTo_{+\infty} n$
some text some text some text some text some text some text some text
some text some text some text some text some text some text some text
$\sin(n) + n \isEquivTo_{+\infty} n$
some text some text some text some text some text some text some text
some text some text some text some text some text some text some text
\[
\sin(n) + n \isEquivTo_{+\infty} n
\]
\end{document}
您將看到第一個呼叫就完成了\sim
。