数学模式下符号之间的间距

数学模式下符号之间的间距

下面的代码将

\begingroup
\everymath{\displaystyle}
\scriptsize
$XXXXXXX(XXXX(A,B,C),XXXX(D,E,F)) \leftarrow XXXXXX(A,B,C) \wedge XXXXXX(D,E,F) \wedge     XXXXX(XX(A,B),XX(D,E)) \wedge XXXXX(XX(B,C),XX(E,F)) \wedge XXXXXX(XXX(A,B,C),XXX(D,E,F)).$
\endgroup

像这样格式化我的规则: 在此处输入图片描述

我真的不喜欢这个,因为它倾向于将表达式拉伸到覆盖整行,这完全没有必要。即使它没有扩展到覆盖整行,我只想在那里有一些自然的间距。有什么建议吗?

答案1

也许是这个样子?

在此处输入图片描述

\documentclass{article}
\begin{document}
$\scriptstyle
\begin{array}{l@{\quad}r}
XXXXXXX(XXXX(A,B,C),XXXX(D,E,F)) &\leftarrow \\
XXXXXX(A,B,C) \quad \wedge \quad XXXXXX(D,E,F) &\wedge\\
XXXXX(XX(A,B),XX(D,E)) & \wedge \\
XXXXX(XX(B,C),XX(E,F)) & \wedge \\
XXXXXX(XXX(A,B,C),XXX(D,E,F)).\\
\end{array}$
\end{document}

如果\quad为您提供的空间太多,请尝试\mkern n mu--\mkern18mu对应于\quad


附录:如果您希望行尾\rightarrow\wedge符号与右侧的材料之间有相同的距离(例如\quad),那么单列array可能就是您要找的。

在此处输入图片描述

\documentclass{article}
\begin{document}
$\scriptstyle\begin{array}{l}
XXXXXXX(XXXX(A,B,C),XXXX(D,E,F)) \quad\leftarrow \\
XXXXXX(A,B,C) \quad \wedge \quad XXXXXX(D,E,F) \quad\wedge\\
XXXXX(XX(A,B),XX(D,E)) \quad \wedge \\
XXXXX(XX(B,C),XX(E,F)) \quad \wedge \\
 XXXXXX(XXX(A,B,C),XXX(D,E,F)).\\
\end{array}$
\end{document}

答案2

你可以让 TeX 决定换行符:

\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum} % just for the example

\newcommand{\lrand}{\mathrel{\land}} % a relation, while \wedge=\land is an operation

\newenvironment{mrule}
 {\relpenalty=0 \flushleft$\displaystyle}
 {$\endflushleft}

\newenvironment{mruleA}
 {\relpenalty=0
  \quote
  \raggedright
  $\displaystyle}
 {$\endquote}

\begin{document}

\lipsum*[2]
\begin{mrule}
XXXXXXX(XXXX(A,B,C),XXXX(D,E,F)) \gets
XXXXXX(A,B,C) \lrand
XXXXXX(D,E,F) \lrand
XXXXX(XX(A,B),XX(D,E)) \lrand
XXXXX(XX(B,C),XX(E,F)) \lrand
XXXXXX(XXX(A,B,C),XXX(D,E,F)).
\end{mrule}
\lipsum*[3]
\begin{mruleA}
XXXXXXX(XXXX(A,B,C),XXXX(D,E,F)) \gets
XXXXXX(A,B,C) \lrand
XXXXXX(D,E,F) \lrand
XXXXX(XX(A,B),XX(D,E)) \lrand
XXXXX(XX(B,C),XX(E,F)) \lrand
XXXXXX(XXX(A,B,C),XXX(D,E,F)).
\end{mruleA}
\lipsum[4]

\end{document}

我更喜欢第二种方法,在左侧(和右侧)留出一些空间。如果你想达到右边距,请将定义更改为

\newenvironment{mruleA}
 {\relpenalty=0
  \list{}{\leftmargin=\leftmargini \rightmargin=0pt}
  \raggedright\item\relax$\displaystyle}
 {$\endlist}

通过设置,\relpenalty=0我们告诉 TeX 在关系符号处断开是可以的。使用\lrand而不是\wedge可以确保 ∧ 和 ← 周围的间距相同(请注意\gets与 相同\leftarrow,但输入起来更短)。

在此处输入图片描述

相关内容