LaTeX 分段函数 cases 写法

LaTeX 分段函数通常用 cases 环境:每行的函数值写在 & 左边,适用条件写在右边,行与行之间用 \\ 分隔。cases 会自动在左侧生成一个随内容伸展的大花括号。

cases 环境的完整写法

f(x)=
\begin{cases}
x^2, & \text{若 } x \ge 0, \\
-x, & \text{否则}.
\end{cases}

渲染后是两段函数:x 大于等于 0 时取 x 的平方,否则取 -x,左侧有统一大括号。

英文条件可写为:

g(x)=
\begin{cases}
1, & \text{if } x>0, \\
0, & \text{otherwise}.
\end{cases}

渲染后是 x 大于 0 时取 1,其他情况取 0 的分段定义。

\text{} 用来排版自然语言,避免 if 被解释为两个数学变量。中文能否正确显示还取决于完整文档的编译引擎与字体设置;对于在线渲染器,应先用实际页面预览检查。

条件列对齐与右侧大括号

cases 中每行建议只用一个 &,它会让所有条件从同一位置开始。表达式末尾的逗号可放在 & 前,条件中需要数学符号时,将文本与数学部分分开写,例如 \text{当 } x<0

如果语义要求括号在右侧,某些环境可使用 mathtools 提供的 rcases。为了在 KaTeX/MathJax 常见能力内保持通用,也可用 array 和一个不显示的左定界:

\left.
\begin{array}{ll}
x^2, & x \ge 0 \\
-x, & x < 0
\end{array}
\right\}
= f(x)

渲染后两行条目的右侧有一个大花括号,其后是等号与 f(x)。

\left. 里的句点代表“不显示的左括号”,它与 \right\} 成对。{ll} 表示两列左对齐。这种写法比手动输入一个普通花括号更稳定,因为括号会随行高自动伸展。

常见错误和检查顺序

常见错误之一是忘记行末的 \\,结果是两段内容被解析在同一行或直接报对齐错误。另一个错误是 \begin{cases}\end{cases} 不配对。还有一个错误是混淆 casesaligned 的职责:cases 本身已是对齐结构,不要在它外面无目的地再套一层 aligned

当一个分支内需要多行推导时,才考虑在该单元格里嵌套合适结构。排错时可先缩减到两行、两列的最小例子,确认换行和环境边界,再逐步加回复杂表达式。

如果不想手工检查花括号、& 和换行符,可在 MathType LaTeX 公式编辑器 中一键插入分段函数模板,再替换函数值与条件。

FAQ

cases 环境为什么报错?

先检查 beginend 是否成对,每行之间是否写了双反斜杠。完整 LaTeX 文档通常还需加载 amsmath 宏包。

cases 中可以写中文条件吗?

可以用 \text 命令把条件按文本排版,前提是当前编译与字体环境支持中文。英文条件也应放在 \text 中,避免被当成变量乘积。

如何让分段函数不显示编号?

cases 本身只负责内部布局,是否编号由外层环境决定。放在无编号的展示数学环境或 equation* 中即可。

常见问题

cases 环境为什么报错?
先检查 begin 和 end 是否成对,每行之间是否写了双反斜杠。完整 LaTeX 文档通常还需加载 amsmath 宏包。
cases 中可以写中文条件吗?
可以用 text 命令把条件按文本排版,前提是当前编译与字体环境支持中文。英文条件也应放在 text 中,避免被当成变量乘积。
如何让分段函数不显示编号?
cases 本身只负责内部布局,是否编号由外层环境决定。放在无编号的展示数学环境或 equation* 中即可。