如图:
演示代码:
\documentclass{article} \setlength\textwidth{245.0pt} \usepackage{CJK} \usepackage{indentfirst} \usepackage{amsmath}
\begin{CJK*}{GBK}{song} \begin{document} 方法一:
$$ f(x)=\left\{ \begin{aligned} x & = & \cos(t) \\ y & = & \sin(t) \\ z & = & \frac xy \end{aligned} \right. $$
方法二:
$$ F^{HLLC}=\left\{ \begin{array}{rcl} F_L & & {0 < S_L}\\ F^*_L & & {S_L \leq 0 < S_M}\\ F^*_R & & {S_M \leq 0 < S_R}\\ F_R & & {S_R \leq 0} \end{array} \right. $$
方法三:
$$f(x)= \begin{cases} 0& \text{x=0}\\ 1& \text{x!=0} \end{cases}$$
\end{CJK*}
\end{document}
LaTeX的数学公式有两种,即行中公式和独立公式。行中公式放在正文中间,独立公式单独成行。 (1)行中公式 可以用如下这三种方法表示: \begin{math}x^n+y^n=z^n\end{math}, 或者 \(x^n+y^n=z^n\), 或者 $x^n+y^n=z^n$。 (2)会自动单独成行的 独立公式 可以用如下三种方法表示: \begin{displaymath} x^n+y^n=z^n \end{displaymath} 不自动编号 \[x^n+y^n=z^n\] 人工编号 $$x^n+y^n=z^n$$ 此种格式还可以指定公式的 手动编号 : $$x^n+y^n=z^n \eqno{(1)}$$ 自动编号 : \begin{equation} x^n+y^n=z^n \end{equation} 引用 时候可以直接用$编号$即可。 例如,$$a^2+b^2=c^2 /eqno (**)$$ 由公式($**$)即可得到结论。 一般情况下,行间公式 $$…$$也可以用/[…/]表示 但对于这种人工编号的公式,不能用/[../]代替$$…$$. 单个公式换行 单个公式很长的时候需要换行,但仅允许生成一个编号时,可以用split命令 /begin{equation} /begin{split} a &= b // c &= d /end{split} /end{equation} 注意:每行只允许出现一个“&”,使用split命令后,编号会 上下居中 显示。 (3) 多行的独立公式 ,可以用如下方式撰写: begin{eqnarray} 左 & 中 & 右// 左 & 中 & 右// … /end{eqnarray} 比如: \begin{eqnarray*} x^n+y^n & = & z^n \\ x+y & = & z \end{eqnarray*} 该环境对多行公式每行都加自动编号,如果相对某行不加编号,可在换行之前添加命令/nonumber。 其中两个&号之间的是公式间对齐的位置,用//隔开各行公式。将eqnarray改为eqnarray*输出的公式是没有编号。 如果要改变公式的自动编号,可以重设计数器初始值: /setcounter{equation}{数} 下一个编号自动加1。 (4)多个公式 (比如,方程组)每个公式自动编号。 1) gather环境 是下面align环境的一种特殊情形。 /begin{gather} a &= b // c &= d // … /end{gather} >>1.如果其中某几行使用同一个编号,则需要内嵌一个split环境。 >>2.命令/notag可使当前行不编号。 2) align环境 可使几组公式并排在一起,即在同一行显示多个公式,方法是跟以前一样,使用”&”对齐。 可替代gather环境。 3) /gathered,/aligned 。以上几种方程组环境,无论每个公式多小,都会占满一行。使用相应的/gathered,/aligned环境,则只占据公式的实际宽度,整体作为一个特大的符号与其他符号一同处理。 这个结构还可以添加位置参数,以决定与其他符号的竖直对齐方式(b,t)。而且这种环境不再具有自动编号功能。 例如: /begin{equation} /left. /begin{aligned}[b] a &= b+c // d &= b+c /end{aligned} /right/} /Longrightarrow /qquad a=d /end{equation}
我原来用的是
\begin{equation} \begin{cases} eq1\\ eq2 \end{cases} \end{equation}
复制代码
对于不需对齐的方程组这样写比较方便,需要对齐的时候间距太大了。 有时候需要对齐,这时候我用
\begin{equation} \left\{ \begin{align} % \begin{eqnarray}好像也可以。 x&=eq1\\ y&=eq2 \end{align} \right. \end{equation}
复制代码
但觉得输入有点麻烦,而且我觉得Latex应该有内置的命令。请大家指点。 网上的其他解决方案: 1
\begin{equation} \left\{ \begin{array}{rl} x&=eq1\\ y&=eq2 \end{array} \right. \end{equation}
复制代码
%这个方案麻烦不说,x和=的间距还很大,摒弃之 :lol 2
\[\left\{\begin{minipage}{width=0.6\textwidth}\begin{eqnarray*} ... \end{eqnarray} \end{minipage} \right. \\nonumber %如果不想要方程号 \]
复制代码
呵呵,这个可以学习minipage了,用在这里我觉得有点复杂化了。 3 如果每一行都需要行号,可以{By Huangzh73}
\usepackage{cases} \begin{numcases}{|x|=} x, & for $x \geq 0$\\ -x, & for $x < 0$ \end{numcases}
复制代码
or
\begin{numcases}{} x+y=z,\\ 1+2=3. \end{numcases}
复制代码
[ 本帖最后由 dlmaple 于 2007-11-8 09:25 编辑 ]
array环境
\begin{equation} \left\{ \begin{array}{r@{\;=\;}l} x & eq1\\ y & eq2 \end{array} \right. \end{equation}
复制代码
3#
楼主
|
发表于 2007-11-8 16:49:00
|
只看该作者
原帖由
journeyer 于 2007-11-8 10:20 发表
array环境
\begin{equation}
\left\{
\begin{array}{r@{\;=\;}l}
x & eq1\\
y & eq2
\end{array}
\right.
\end{equation}
谢谢:handshake ,不过这样比align好在哪儿?
(一)大括号下并列的式子, 右边只有一个纵向居中的编号:
\begin{equation} \left\{ \begin{array}{c} x + y = z, \\ 1 + 2 = 3. \\ \end{array} \right. \end{equation}
复制代码
或者比较 cases 环境:
\begin{equation} \begin{cases} x + y = z, \\ 1 + 2 = 3. \\ \end{cases} \end{equation}
复制代码
(二)大括号下并列的式子, 每个都加上编号, 需要调用 cases 宏包 : {这是一个宏包! 与 amsmath 宏包中的 cases 环境相区别.}
\usepackage{cases} ...... \begin{numcases}{} x+y=z,\\ 1+2=3. \end{numcases}
复制代码
为什么 \begin{numcases}{} 有一对空的大括号? 因为它的基本用法是这样的:
\usepackage{cases} ...... \begin{numcases}{|x|=} x, & for $x \geq 0$;\\ -x, & for $x < 0$. \end{numcases}
复制代码
5#
楼主
|
发表于 2007-11-9 07:47:25
|
只看该作者
原帖由
huangzh73 于 2007-11-8 20:10 发表
(一)大括号下并列的式子, 右边只有一个纵向居中的编号:
\begin{equation}
\left\{
\begin{array}{c}
x + y = z, \\
1 + 2 = 3. \\
\end{array}
\right.
\end{equation}
...
哈哈,专家来了,欢迎。 但我我觉得array不如align,大家不妨比较一下。
\begin{equation} \left\{ \begin{array}{c} x + y = z, \\ c+1 + 2 = 3. \\ \end{array} \right. \end{equation}
复制代码
和
\begin{equation} \left\{ \begin{align} x + y &= z, \\ c+1 + 2 &= 3. \\ \end{align} \right. \end{equation}
复制代码
解决了我的一个问题, 学习了, 呵呵. 另外, 可能要改一下才能编译, 把 align 改为 aligned:
\begin{equation} \left\{ \begin{aligned} x + y &= z, \\ c+1 + 2 &= 3. \\ \end{aligned} \right. \end{equation}
复制代码