尝试排版排列类型时,\cdot 的间距很奇怪

尝试排版排列类型时,\cdot 的间距很奇怪

我只是想在置换群中写一些循环类型,如下所示:

The conjugacy classes of the symmetric group are simply given by the
cycle types, so there are five in $S_4$: $Id$, $(\cdot \cdot)$,
$(\cdot \cdot)(\cdot \cdot)$, $(\cdot \cdot \cdot)$, and $(\cdot \cdot
\cdot \cdot)$.

但我得到了相当奇怪的结果:

上述代码的输出截图

我猜奇怪的间距是因为 LaTeX 将 解释\cdot为运算符并试图将事物分开,以便它们很好地适合线条,但不均匀性令人不安。我在这里尝试做的正确方法是什么?

更新:将空格改为~有帮助,但间距仍然有点不均匀。

答案1

\cdot是二元运算符,因此两边都有空格,但如果用在非中缀位置,它会失去空格并变成一个 mathord,因此两个\cdot是两个 mathord,但三个\cdot末尾的变成 mathord,而中间的仍然是\mathbin。如果你把它们都做成,\mathord你会得到:

在此处输入图片描述

The conjugacy classes of the symmetric group are simply given by the cycle types,
so there are five in 
$S_4$: $Id$, $({\cdot} {\cdot})$,
$({\cdot} {\cdot})({\cdot} {\cdot})$,
$({\cdot} {\cdot} {\cdot})$, and
$({\cdot} {\cdot} {\cdot} {\cdot})$

\bye

答案2

您可以尝试\dotspacing以下代码,这样您就可以定义更适合您的间距:

\documentclass{article}
\usepackage{xparse}

\newcommand{\dotspacing}{1mu}
\ExplSyntaxOn
\NewDocumentCommand{\bcdot}{O{1}}
 {
  { \prg_replicate:nn { #1 } { {\cdot}\mkern\dotspacing } \mkern-\dotspacing }
 }

\ExplSyntaxOff

\begin{document}
\newcommand{\test}{$\mathit{Id}$, $(\bcdot)$,
$(\bcdot[2])$, $(\bcdot[3])$,
$(\bcdot[4])$, $(\bcdot[5])$.}

\test

\renewcommand{\dotspacing}{1.5mu}\test

\renewcommand{\dotspacing}{2mu}\test

\renewcommand{\dotspacing}{2.5mu}\test

\renewcommand{\dotspacing}{3mu}\test

\end{document}

请注意使用$\mathit{Id}$,而不是$Id$,这样可以获得更好的渲染效果。

在此处输入图片描述

答案3

下面的最后一个示例给出了关于输出的另一种建议:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath,multido}% http://ctan.org/pkg/{amsmath,multido}
\newcommand{\conjclass}[1]{%
  \def\conjclasssep{\def\conjclasssep{\,}}%
  \ifnum#1>0\relax
    \multido{\i=1+1}{#1}{\conjclasssep{\cdot}}
  \fi%
}
\begin{document}
The conjugacy classes of the symmetric group are simply given by 
the cycle types, so there are five in $S_4$: $Id$, $(\cdot \cdot)$, 
$(\cdot \cdot)(\cdot \cdot)$, $(\cdot \cdot \cdot)$, and $(\cdot \cdot \cdot \cdot)$.

The conjugacy classes of the symmetric group are simply given by 
the cycle types, so there are five in $S_4$: $\text{Id}$, $(\cdot{}\cdot)$, 
$(\cdot{}\cdot)(\cdot{}\cdot)$, $(\cdot{}\cdot{}\cdot)$, and 
$(\cdot{}\cdot{}\cdot{}\cdot)$.

The conjugacy classes of the symmetric group are simply given by 
the cycle types, so there are five in $S_4$: $\text{Id}$, $({\cdot}{\cdot})$, 
$({\cdot}{\cdot})({\cdot}{\cdot})$, $({\cdot}{\cdot}{\cdot})$, and 
$({\cdot}{\cdot}{\cdot}{\cdot})$.

The conjugacy classes of the symmetric group are simply given by 
the cycle types, so there are five in $S_4$: $\text{Id}$, $(\conjclass{2})$, 
$(\conjclass{2})(\conjclass{2})$, $(\conjclass{3})$, and $(\conjclass{4})$.
\end{document}

最后一个例子提供了\conjclass{<num>}设置\cdot为“ \mathord”(使用{\cdot})的功能,但也打印了每个元素之间的<num>预定义间距\,。根据您的使用情况(数量),它可以在定义宏时提高一致性(请参阅一致的字体)。

用于延迟初始空间的技术来自狡猾的 (La)TeX 技巧

附注:请参阅使用$\text{Id}$而不是$Id$。看起来更好...

相关内容