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
3 つのアラインメント ポイントが必要なようです。
- 2つの値の前に
- コロンの前
\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}