如何排版分段定义函数?

如何排版分段定义函数?

我正在尝试写出寻找某个数字的绝对值的基本过程。

用 ASCII 来说,这就是我尝试写入的内容。

|X| = {
        x  if x > 0
        0  if x = 0
        -x if x < 0
      }

这是我目前所拥有的。

\begin{equation}
\left|x\right| = \biggl\{ x\ if\ x > 0 \biggr\}
\end{equation}

我不知道如何添加垂直间距以允许另外两行。

答案1

选项 1(推荐)

左对齐

\documentclass[preview,border=12pt,varwidth]{standalone}
\usepackage{mathtools}
\begin{document}
\abovedisplayskip=0pt\relax
\[
\lvert x \rvert =
\begin{cases}
x & \text{if } x>0\\
0 & \text{if } x=0\\
-x& \text{if } x<0
\end{cases}
\]
\end{document}

在此处输入图片描述

选项 2(只是为了好玩)

右对齐

\documentclass[preview,border=12pt,varwidth]{standalone}
\usepackage{mathtools}
\begin{document}
\abovedisplayskip=0pt\relax
\[
\lvert x \rvert =
\left\{
\!
\begin{aligned}
x & \text{ if } x>0\\
0 & \text{ if } x=0\\
-x& \text{ if } x<0
\end{aligned}
\right.
\]
\end{document}

在此处输入图片描述

重要笔记

standalone类,\abovedisplayskip=0pt是我自己为创建独立且紧凑的输出而设置的。除非您的目标与我的相同,否则您不应将其用于您的生产。

答案2

tabstackengine使用我的软件包的测试版本根据最宽的列编写具有等间距列的表格,我可以为您提供一些关于输出外观的可配置选项。首先,我为其提供了包默认间距。然后我展示了如何在堆栈中增加水平间隙,最后展示了如何增加行间距。

\documentclass{article}
\usepackage{tabstackengine}
\begin{document}
\[
\vert X\vert = \left\{
\alignVectorstack{
&x &\mathrm{if~} & x > 0\\
&0 &\mathrm{if~} & x = 0\\
&-x&\mathrm{if~} & x < 0
}
\right.
\]
\setstackaligngap{3em}
\[
\vert X\vert = \left\{
\alignVectorstack{
&x &\mathrm{if~} & x > 0\\
&0 &\mathrm{if~} & x = 0\\
&-x&\mathrm{if~} & x < 0
}
\right.
\]
\setstackgap{L}{1.4\baselineskip}
\[
\vert X\vert = \left\{
\alignVectorstack{
&x &\mathrm{if~} & x > 0\\
&0 &\mathrm{if~} & x = 0\\
&-x&\mathrm{if~} & x < 0
}
\right.
\]
\end{document}

在此处输入图片描述

相关内容