数式内のチルダと文字の間のスペースを削除する

数式内のチルダと文字の間のスペースを削除する

こんにちは、こんにちは。チルダの 2 つの異なる動作に関して解決すべき状況があります。1 つ目は、通常のテキスト内では正常に見え、次のようになります。

... some text $\sim$A then some text ...

ただし、数式モード (またはテキスト内の数式のドル記号内) では、チルダと文字の間にスペースがあります (下のスクリーンショットを参照)。

... some text $\sim{A}$ then some text ...

ここに画像の説明を入力してください

方程式モードでそのスペースを削除する方法はありますか?

方程式モードに必要です:

\[ \sim{A} = ... \]

関連する場合、プリアンブルでは、パッケージを使用しlmodernて CM10 フォントを使用します。さらに、方程式を扱う他のいくつかのものも使用しmathptmx, amssymb, amsmath, mathspec、xelatex を使用してテキストを解析します。

答え1

のデフォルトの「数式タイプ」は、つまり関係演算子のもの\simですmathrel。( の演算子の別の例はmathrelです=。) 文字 のデフォルトの数式タイプは (「math ordinary」)Aです。あなたが「発見した」ように、TeX はとのタイプの要素の間に のmathord量の空白を自動的に挿入します。\thickmuskipmathrelmathord

もし、するならない\simとの間に空白を入れたい場合A、単に次のように記述します。

{\sim}A

この設定により、の数式タイプ\simは に変更されmathord、TeXはない型の要素間に余分な空白を挿入しますmathord

答え2

通常、\simは のような関係です=。したがって、空間が必要です。

\documentclass{article}

\usepackage{lmodern}
\usepackage{amsmath}

\begin{document}
\[ A = B \]
\[ A \sim B \]
\end{document}

\sim関係

しかし、通常のシンボルとして定義することもできます。

\documentclass{article}

\usepackage{lmodern}
\usepackage{amsmath}
\mathchardef\simsym"0218
\begin{document}
\[ A \sim B \]
\[ A \simsym B \]
\end{document}

シム普通

数学クラスの詳細については、例えば以下を参照してください。トピック別TeXセクション38.3および23.3。

代わりに\mathchardef

\newcommand*{\simsym}{\mathord\sim}

\simsymを の通常の記号変形として定義します\sim

\documentclass{article}

\usepackage{lmodern}
\usepackage{amsmath}
\newcommand*{\simsym}{\mathord\sim}
\begin{document}
\[ A \sim B \]
\[ A \simsym B \]
\end{document}

結果は上記と全く同じで、

\documentclass{article}

\usepackage{lmodern}
\usepackage{amsmath}
\newcommand*{\simsym}{{\sim}}% note the extra {…}
\begin{document}
\[ A \sim B \]
\[ A \simsym B \]
\end{document}

関連情報