ケースの不平等を調整する
環境
私が使用していますcases
式を(これは文脈のために、私はRmarkdownは最終的に式をタイプセットするために使用するツールは全く知りませんように)表示するようにR-値下げドキュメント内。しかし、最終的には(IMHO)rmarkdownとは何の関係もありませんが、純粋なLaTeX
問題です(Rmarkdownツールチェーンの一部ではない外部パッケージまたはコマンドを追加することがより困難になる可能性があることを除いて)
問題
cases
環境の右側にある不平等を調整したいと思います。問題は、コーナーケースの場合、下限がないため、不等式が整列されなくなったことです。
ギャップを埋めようとしました\phantom
が、\leq
符号を置き換える必要があるため、間隔が調整されていません(不等式演算子の後にアフターを追加するここを読んで、これがまさに欠けているものだと思います。ただし、Rmarkdownに追加することはできません) 。LaTeX
\thickmuskip
\thickmuskip
(NB私は不平等が意味をなさないことを知っています;)-しかしそれは明らかに重要ではありません)
\begin{cases}
1, & \text{if}\ \phantom{{-1.0}<} x_i < -0.2\\ % too little space
2, & \text{if}\ {-0.2} \leq x_i < -0.1\\ % add brackets around to -0.2 to treat `-` as unary
3, & \text{if}\ {-0.1} \leq x_i < \phantom{-}0.1 \\
4, & \text{if}\ \phantom{{-}}0.1 \leq x_i < \phantom{-}0.5\\
5, & \text{if}\ \phantom{{-0.5}<1} x_i < \phantom{-}5.0 % too much space
\end{cases}
出力

回答
中置二項演算子の周囲の間隔はそれらを囲むものに依存するため、それらが内側の数学リストの端に表示されると(中括弧に対して)間隔が失われる可能性があります。これを利用して、マイナス記号がunarayマイナス(負の数)のままであることを確認しました。良い!(場合によっては不要ですが。)問題は、ファントムの最後にある関係記号にあります。
\;
補正するために明示的なスペース()を追加するか、二項関係の処理を復元するために何かを提供することができます。
\begin{cases}
1, & \text{if}\ \phantom{{-1.0}<{}} x_i < -0.2\\
2, & \text{if}\ {-0.2} \leq x_i < -0.1\\
3, & \text{if}\ {-0.1} \leq x_i < \phantom{-}0.1 \\
4, & \text{if}\ \phantom{{-}}0.1 \leq x_i < \phantom{-}0.5\\
5, & \text{if}\ \phantom{{-0.5}<{}} x_i < \phantom{-}5.0
\end{cases}
あなたは使用することができますarray
:
\documentclass{article}
\usepackage{amsmath,array}
\begin{document}
\begin{equation*}
\left\{
\renewcommand{\arraystretch}{1.2} % like cases does
\setlength{\arraycolsep}{0pt} % we don't want padding
\begin{array}{
l % value
@{\quad} % like cases does
>{$}l<{ $} % text column with trailing normal space
r % lower bound
>{{}}c<{{}} % relation
c % variable
>{{}}c<{{}} % relation
r % upper bound
}
1, & if & & & x_i & < & 0.2 \\
2, & if & -0.2 & \le & x_i & < & -0.1 \\
3, & if & -0.1 & \le & x_i & < & 0.1 \\
4, & if & 0.1 & \le & x_i & < & 0.5 \\
5, & if & 0.5 & \le & x_i
\end{array}
\right.
\end{equation*}
\end{document}
代わりに\left\{\renewcommand{\arraystretch}{1.2}
と\right.
、あなたは使用することができます\begin{cases}
し、\end{cases}
(全画面の左にわずかなシフトを犠牲に。

またalignedat
、ケースをネストすると、より簡単な可能性があります。<
記号を揃えるだけでなく、行末の数字を揃えるのが良いかどうかはわかりません。そこでempheq
、この最終的な調整なしで、パッケージを使用してバリアントコードを追加しました。これにより、各行に番号またはサブ番号を付けることができます。これは、状況によっては役立つ場合があります。
\documentclass[a4paper,12pt]{article}
\usepackage{array}
\usepackage{empheq}
\begin{document}
\[ \begin{cases}
\begin{alignedat}{3} &1, &\quad & \text{if} & x_i &< -0.2\\ &2, & &\text{if} & \quad -0.2 \leq x_i &< -0.1\\ &3, & &\text{if} &-0.1 \leq x_i & < \phantom{-}0.1 \\ &4, & &\text{if} & \phantom{{-}}0.1 \leq x_i &< \phantom{-}0.5\\ &5, & &\text{if} & x_i &< \phantom{-}5.0 % too much space \end{alignedat}
\end{cases} \]
\vspace{1cm}
\begin{subequations}
\begin{empheq}[left=\empheqlbrace]{alignat=3}
&1, &\quad & \text{if} & x_i &< -0.2\\
&2, & &\text{if} & \quad -0.2 \leq x_i &< -0.1\\
&3, & &\text{if} &-0.1 \leq x_i & < 0.1 \\
&4, & &\text{if} & \phantom{{-}}0.1 \leq x_i &< 0.5\\
&5, & &\text{if} & x_i &< 5.0 % too much space
\end{empheq}
\end{subequations}
\end{document}

方程式に番号を付けたくない場合array
は、他の回答で提案されているようにを使用します。あなたが数式に番号をしたい場合は、使用することができます{DispWithArrow}
のwitharrows
。
\documentclass{article}
\usepackage{witharrows}
\usepackage{amsmath}
\begin{document}
\begin{DispWithArrows}<f(x_i)=>[format=lrrcccr]
1, & \quad \text{if } & & & x_i & {}<{} & 0.2 \\
2, & \text{if } & {-0.2} & {}\le{} & x_i & {}<{} & {-0.1} \\
3, & \text{if } & {-0.1} & {}\le{} & x_i & {}<{} & 0.1 \\
4, & \text{if } & 0.1 & {}\le{} & x_i & {}<{} & 0.5 \\
5, & \text{if } & 0.5 & {}\le{} & x_i
\end{DispWithArrows}
\end{document}

わかりました、どうやら私\thickmuskip
はコマンドではなく長さであると誤解したようです。\;
これを追加する必要があります:
\begin{cases}
1, & \text{if}\ \phantom{{-1.0}<}\; x_i < -0.2\\
2, & \text{if}\ {-0.2} \leq x_i < -0.1\\
3, & \text{if}\ {-0.1} \leq x_i < \phantom{-}0.1 \\
4, & \text{if}\ \phantom{{-}}0.1 \leq x_i < \phantom{-}0.5\\
5, & \text{if}\ \phantom{{-0.5}<}\; x_i < \phantom{-}5.0
\end{cases}
