我编写了以下代码来创建以下内容:
$\hspace{.25 in}\frac{24}{60}\hspace{.25 in}*\hspace{.06 in}\frac{36}{59}\hspace{.05 in}*\hspace{.04 in}\frac{35}{58}\hspace{.04 in}*\hspace{.04 in}\frac{34}{57}\hspace{.04 in}*\hspace{.04 in}\frac{33}{56}\hspace{.04 in}*\hspace{.04 in}\frac{32}{55}\hspace{.04 in}*\hspace{.04 in}\frac{31}{54}$
但是,请注意,第一个分数并没有通过我放在它前面的 \hspace 被推到右边。为什么会出现这种情况?我该如何解决这个问题,让第一个分数与所有其他分数对齐?
答案1
我建议您为二元运算符定义一个宏,并对该宏中的间距进行任何其他调整(如果需要):
代码:
\documentclass{article}
\newcommand*{\Ast}{*}
\newcommand*{\MyExpression}{%
\frac{24}{60}
\Ast \frac{36}{59}
\Ast \frac{35}{58}
\Ast \frac{34}{57}
\Ast \frac{33}{56}
\Ast \frac{32}{55}
\Ast \frac{31}{54}
}%
\begin{document}
$\MyExpression$
\renewcommand*{\Ast}{\,*\,}
\medskip\par
$\MyExpression$
\end{document}
答案2
首先,猜测您字面问题的答案:第一个空格缺失,因为 (a) 您没有看到它实际上在那里,公式之前没有显示空格,或者 (b) 这发生在段落中换行符之后,段落换行符后空白被“丢弃”(因此边距对齐)。这些都是没有适当上下文的猜测。如果以这种方式丢弃它,\hspace*
将防止这种情况发生。
第二,不是不规则间距的答案:您可以通过设置 \medmuskip 来控制所有二元运算符(+ - * \times 等)的间距,始终使用“mu”单位(数学单位 = 1/18 em),例如
\setlength{\medmuskip}{9mu}
或灵活
\setlength{\medmuskip}{8mu plus 5mu minus 4mu}