http://bbs.chinatex.org/forum.php?mod=viewthread&tid=7423
http://blog.sina.com.cn/s/blog_5e16f1770100lqvb.html
from: http://www.binghe.org/2010/03/latex-equation-and-numbering/
https://www.cnblogs.com/suerchen/p/4817711.html
左侧缩进和右侧缩进
- documentclass[cap,cs5size,winfonts,nospace,indent,fancyhdr]{ctexart}
- usepackage{changepage}
- egin{document}
- 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
- 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
- egin{adjustwidth}{2cm}{2cm}
- qquad 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
- 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
- 为保持经济健康稳定的发展,近年来,中央政府综合运用经济、法律和必要的行政手段,以区别对待和
- 循序渐进的方式,对房地产业连续出台了一系列宏观调控政策。
- end{adjustwidth}
- 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
- 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
- end{document}
纸张大小
不用加载任何宏包就可以很容易的设置纸张大小,只需在documentclass加入关于纸张大小的选项即可。
documentclass[a4paper]{article}
默认就是a4
其他可用的选项还有
- a4paper (297mm * 210mm)
- a5paper (210mm * 148mm)
- b5paper (250mm * 176mm)
- letterpaper (11in * 8.5in)
- legalpaper (14in * 8.5in)
- executivepaper (10.5in * 7.25in)
这些选择内部实际上是设置 paperheight 和 paperwidth 两个值。手动设置的方式是
setlengthpaperheight{高度}
setlengthpaperwidth{宽度}
使用geometry宏包
使用geometry宏包,可以让页边距和页眉页脚的设置变得非常简单
documentclass[a4paper]{article}
usepackage{geometry}
geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
egin{document}
test
end{document}
常用的长度选项还有head, headsep, foot,见下图
LaTeX中常见段落格式的设定
字间距
只适用于CJK和xeCJK
enewcommand{CJKglue}{hskip 宽度}
比如
enewcommand{CJKglue}{hskip 1pt plus 0.08aselineskip}
行间距
linespread{因子}
或者
enewcommand{aselinestretch}{因子}
比如
linespread{1.5}
或者
enewcommand{aselinestretch}{1.5}
段间距
设置parskip的值,比如
setlength{parskip}{0.5aselineskip}
首行缩进
如果默认首行不缩进,则使用indentfirst宏包
usepackage{indentfirst}
指定某段首行缩进,在段首加
indent
指定某段首行不缩进,在段首加
oindent
设置缩进量
setlengthparindent{2em}
悬挂缩进
在要悬挂缩进的段落前加上
oindent
hangafter=1
setlength{hangindent}{2em}
分别是: 1. 取消首行缩进;2. 设置从第1行之后开始悬挂缩进;3. 设置悬挂缩进量
居中、左对齐、右对齐
分别有两种形式,一种是环境形式 center, flushleft, flushright,一种是命令形式 centering, raggedright, raggedleft。与命令形式不同,环境形式会插入新段落,如果不希望插入新段落,就得使用命令形式。命令形式通常配合环境使用,限制有效范围在环境 内。还要注意的是,与flushleft 对应的是 raggedright,与 flushright 对应的是 raggedleft,不要搞反了。
egin{center}
居中文字
居中文字
end{center}
oindent
egin{minipage}{linewidth}
centering
居中文字
居中文字
end{minipage}
egin{flushleft}
左对齐文字
左对齐文字
end{flushleft}
oindent
egin{minipage}{linewidth}
aggedright
左对齐文字
左对齐文字
end{minipage}
egin{flushright}
右对齐文字
右对齐文字
end{flushright}
oindent
egin{minipage}{linewidth}
aggedleft
右对齐文字
右对齐文字
end{minipage}
Latex公式编号
1.自动编号的单行公式环境是
egin{equation}
…
end{equation}
不参与自动编号的单行公式环境:
[
…
]
人工编号的单行公式可以使用Tex原有的行间公式标记
将编号放在右边
将编号放在左边
引用时候可以直接用$编号$即可。
例如,
由公式($**$)即可得到结论。
一般情况下,行间公式
也可以用[…]表示
但对于这种人工编号的公式,不能用[..]代替
.
2.单个公式很长,需要换行,但仅允许生成一个编号时,可以用split命令
egin{equation}
egin{split}
a &= b
c &= d
end{split}
end{equation}
注意:每行只允许出现一个“&”,使用split命令后,编号上下居中显示。
3.多行公式:
egin{eqnarray}
左 & 中 & 右
左 & 中 & 右
…
end{eqnarray}
该环境对多行公式每行都加自动编号,如果相对某行不加编号,可在换行之前添加命令
onumber
其中两个&号之间的是公式间对齐的位置,用隔开各行公式。将eqnarray改为eqnarray*输出的公式是没有编号。
如果要改变公式的自动编号,可以重设计数器初始值:
setcounter{equation}{数}
下一个编号自动加1。
4.方程组的排版:
多个公式,每个公式自动编号。
1) gather环境
是下面align环境的一种特殊情形。
egin{gather}
a &= b
c &= d
…
end{gather}
>>1.如果其中某几行使用同一个编号,则需要内嵌一个split环境。
>>2.命令
otag可使当前行不编号。
2) align环境
可使几组公式并排在一起,即在同一行显示多个公式,方法是跟以前一样,使用”&”对齐。
可替代gather环境。
3) 以上几种方程组环境,无论每个公式多小,都会占满一行。使用相应的gathered,aligned环境,则只占据公式的实际宽度,整体作为一个特大的符号与其他符号一同处理。
这个结构还可以添加位置参数,以决定与其他符号的竖直对齐方式(b,t)。而且这种环境不再具有自动编号功能。
例如:
egin{equation}
left.
egin{aligned}[b]
a &= b+c
d &= b+c
end{aligned}
ight}
Longrightarrow
qquad a=d
end{equation}
1.排序单位
在文类book或report中,行间公式是以章为排序单位的,即每一新章节开始,公式序号计数器equation就被清零。比如第1章第3个公式的序号是(1.3),第2章第1个公式的序号是(2.1)。一章中有若干节,若每节中有很多公式,这种排序方式就很难分清某个公式是属于哪一节的。如希望公式能以节为排序单位,可在导言中加入公式宏包提供的排序单位命令: umberwithin{equation}{section}
这样在所有公式的序号里就增加了节序号。例如第1章第3节第2个公式的序号是:(1.3.2)。在文类article中,行间公式序号是以全文为排序单位,若希望改为以节为排序单位,也可使用上述排序单位命令。
2.取消与替代
带星号的公式环境以及split和cases公式环境都不会给出公式序号,其它不带型号的公式环境都可以为公式自动提供序号。但有时希望公式组中的某些公式有序号,某些没有,某些要另作标记,就需要用到下列序号设置命令。
eqno{标号} | 系统提供的序号设置命令,将它紧跟在equation*环境或[…]形式的公式行后,可在公式右侧人工设置标号。标号可以是任意文本 |
leqno{标号} | 作用于eqno相同,只是将标号至于公式的左侧。eqno与leqno不能同时在一个公式中使用 |
onumber | 系统提供的取消序号命令。把它插在换行命令\之前,可以取消为该行公式排序而使其无序号 |
otag | 公式宏包提供的序号取消命令,使用方法和作用与 onumber命令相同 |
ag{标号} | 公式宏包提供的序号设置命令,把它插在换行命令\之前,可取消为该行公式排序,而以(标号)替代序号。该命令也可用于带星号公式环境中的公式行,使其具有(标号) |
ag*{标号} | 作用与 ag相同,只是标号的两侧没有圆括号 |
2.1 把矩阵方程的序号改为人工标号,并将其至于方程的左侧
代码:
$$left(egin{array}{lcr}
a_{11}& a_{12} & a_{13}\
a_{21} & a_{22} & a_{23}
end{array}
ight)=0 leqno[A.1] $$
得到的公式如下:
2.3 将方程组中的每个方程式使用不同样式的序号和标号
利用交叉引用命令label和 ef来生成子序号
代码:
egin{gather}
x^2+y^2=z^2 label{eq:r2} \
x^3+y^3=z^3
otag \
x^4+y^4=z^4 ag{$*$} \
x^5+y^5=z^5 ag*{$*$} \
x^6+y^6=z^6 ag{
ef{eq:r2}$'$}
end{gather}
得到的公式如下:
2.4 在公式组环境中使用取消序号命令来编排多行公式
代码:
egin{align}
f(t)=& e^{-t}(sin2t + 2sin4t -{}
onumber\
& {}- 0.4sin2tsin40t)
end{align}
得到的公式:
如果把 onumber取消序号命令去掉后
代码:
egin{align}
f(t)=& e^{-t}(sin2t + 2sin4t -{}\
& {}- 0.4sin2tsin40t)
end{align}
得到的公式如下(仔细看编号):
3 底部序号
通常多行公式的序号垂直居中,要想把序号至于最后一行末尾,可在公式宏包的调用命令中添加一个顶部序号选好,即usepackage[tbtags]{amsmath}, 就可以将夏利多行公式的序号置于尾行右端。
代码:
egin{equation}
egin{split}
f(x) & = 2(x+1)^{2} -1 \
& = 2(x^{2}+2x+1)-1 \
& = 2x^{2} + 4x + 1
end{split}
end{equation}
得到的公式: