如何正确排版数学间隔

如何正确排版数学间隔

我有代码

\documentclass{amsart}

\begin{document}
    \begin{equation}
        ]-\pi,0[ \qquad -\pi \qquad \int_{-\pi}^0 \qquad [-\pi,0]
    \end{equation}
\end{document}

产生

我是

为什么左边的减号离 pi 这么远,如何避免这种情况?

答案1

在 TeXbook 中,Knuth 将使用“]a,b[”符号表示开区间的人称为“反常的数学家”(第 171 页,练习 18.14)。我不完全同意这个形容词,但我仍然觉得这种符号非常尴尬。

已经有一个针对此问题的软件包,可以避免重新发明轮子:

\documentclass{amsart}
\usepackage{interval}

\begin{document}

\begin{equation}
\interval[open]{-\pi}{0}
 \qquad
{-\pi} % this needs braces because it is between Ord atoms
 \qquad
\int_{-\pi}^0
 \qquad
\interval{-\pi}{0}
\end{equation}

\begin{equation}
x\in\interval[open]{-\pi}{0}
\end{equation}

\end{document}

中间-\pi需要支架,但这是一个非常不同的问题。

查看文档了解interval其他选项。

在此处输入图片描述


关于 Werner 解决方案的说明

考虑以下代码并编译它以查看结果:

$x \in ]{-\pi},0[$

$x \in \mathopen]-\pi,0\mathclose[$

(正确地将其嵌入到标准文档中)。

在此处输入图片描述

应该清楚的是,仅仅支撑-\pi是不够的。

答案2

如果您以非标准方式告知 TeX 您正在使用]和 ,TeX 将提供正确的间距,这可以通过和来实现:[\mathopen\mathclose

\[ \mathopen]-\pi,0\mathclose[ \]

这告诉 TeX 到底发生了什么。

更准确地说,TeX 假设[是一个打开的原子,而是]一个关闭的原子(我对此深表同情!;-) 如果你写

\[ ]-\pi,0[ \]

TeX 将构建以下原子列表:Close、Bin、Ord、Punct、Ord、Open;这导致它计算]和 之间的差异\pi,正如 Werner 已经说过的;实际上,将上述内容与公式进行比较

(a+b)-c

其中减号是结果序列 Open、Ord、Bin、Ord、Close、Bin、Ord 中的第二个 Bin 原子。

请注意,Werner 的建议是,

]{-\pi},0[

得出 Close, Ord{…}, Punct, Ord, Open,这与预期含义不符,尽管它给出了正确的间距(但当然,仅限于这种特殊情况——参见@egreg 的回答),您可以在第 170 页的表格中查看TeXbook

然而,在我看来,最好的办法是定义一个抽象命令:使用mathtools包及其\DeclarePairedDelimiterX命令可以很容易地做到这一点;以这种方式定义的命令提供了处理尺寸问题的简单方法:mathtools有关详细信息,请参阅包的文档第 3.6 小节。

下面是一个完整的示例,说明了这两种解决方案:

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.

\usepackage{mathtools}

% [ bracket matching
\DeclarePairedDelimiterX{\openinterval}[2]{]}{[}{#1,#2}
% ] bracket matching



\begin{document}

Wrong:
\[ ]-\pi,0[ \]
Direct method, not recommended:
\[ \mathopen]-\pi,0\mathclose[ \]
With an abstract command:
\[ \openinterval{-\pi}{0} \]

Variants of the abstract command:
\begin{align*}
    &\openinterval*{-\frac{\pi}{2}}{+\frac{\pi}{2}}
            && \text{auto-resizing;}  \\
    &\openinterval[\bigg]{-\frac{\pi}{2}}{+\frac{\pi}{2}}
            && \text{with optional argument for size specification.}
\end{align*}

\end{document}

它产生的输出如下:

代码示例的输出

答案3

TeX 认为你的用法是]减号\pi。使用 来消除这种歧义(比如说){-\pi}

在此处输入图片描述

\documentclass{article}

\begin{document}

\[
  ]{-\pi},0[ \qquad -\pi \qquad \int_{-\pi}^0
\]

\end{document}

对于更复杂的交互,考虑使用古斯塔沃的回答例如,为了显示集合的成员资格或其他关系/运算符,您必须使用空原子进行适当的间距:

x \in{} ]{-\pi},0[ {}\ni x

在此处输入图片描述

答案4

你也可能对此有兴趣我的解决方案,它允许简单地输入\interv]-a,+b[\interv]{1,5},2]等,并留有适当的间距。根据 egreg 的第一条评论的改进,它也适用于标题和目录。

相关内容