![案例环境中的水平对齐间距](https://linux22.com/image/476109/%E6%A1%88%E4%BE%8B%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E6%B0%B4%E5%B9%B3%E5%AF%B9%E9%BD%90%E9%97%B4%E8%B7%9D.png)
我想在 MathJax 中排版一些分段方程,并对齐分段条件中的不等式符号。使用案例环境并添加更多 & 符号确实在某种程度上对齐了我想要的部分,但也增加了我不想要的额外水平空间。我可以通过添加空格字符来实现我想要的效果,但这需要摆弄长度不同的每行空格字符的确切数量和类型,并且还取决于所使用的渲染器。有没有一种更优雅、更自动化、独立于渲染器的方式?
这是一个没有对齐的简单示例:
d_0(t) := d_{max} × \begin{cases}
0 & : −∞ ≤ t < T \\
1 & : T ≤ t < ∞
\end{cases}
这是我通过添加 & 符号来对齐小于或等于号得到的结果(请注意左边的值和 LToE 符号之间的额外空格):
d_0(t) := d_{max} × \begin{cases}
0 & : −∞ & ≤ t < T \\
1 & : T & ≤ t < ∞
\end{cases}
以下是我想要实现的视觉效果,我通过添加几个空格字符来实现:
d_0(t) := d_{max} × \begin{cases}
0 & : −∞ ≤ t < T \\
1 & : \;\;\;\: T ≤ t < ∞
\end{cases}
答案1
看来您需要三个对齐点:
- 在两个值之前
- 冒号前
\leq
在标志之前
因此,您必须&
在代码中使用 5。(有关原因,请参阅 amsmath 手册)。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
d_0(t) := d_{\max} \times \left\{
\begin{alignedat}{3}
& 0 & & : \, & -\infty & \leq t < T \\
& f(t) & & : & T & \leq t < \infty
\end{alignedat}
\right.
\]
\end{document}
答案2
您可以\newcases
使用mathtools
:
\documentclass{article}
\usepackage{mathtools}
\makeatletter
\newcases{coloncases}% name
{\quad}% separation
{$\m@th\displaystyle##$\hfil}% left part
{$\m@th:$\ \hfil$\m@th\displaystyle##$}%
{\lbrace}% left delimiter
{.}% right delimiter
\makeatother
\begin{document}
\[
d_0(t)=
d_{\mathrm{max}}\times
\begin{coloncases}
0 & -\infty\le t<T \\
f(t) & T\le t\le\infty
\end{coloncases}
\]
\end{document}