latex 公式 和排版

时间:2021-09-10 19:12:18

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

 

左侧缩进和右侧缩进

  1. \documentclass[cap,cs5size,winfonts,nospace,indent,fancyhdr]{ctexart}
  2. \usepackage{changepage}
  3. \begin{document}
  4. 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
  5. 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
  6. \begin{adjustwidth}{2cm}{2cm}
  7. \qquad 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
  8. 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
  9. 为保持经济健康稳定的发展,近年来,**综合运用经济、法律和必要的行政手段,以区别对待和
  10. 循序渐进的方式,对房地产业连续出台了一系列宏观调控政策。
  11. \end{adjustwidth}
  12. 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
  13. 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
  14. \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 两个值。手动设置的方式是

\setlength\paperheight{高度}
\setlength\paperwidth{宽度}

使用geometry宏包

使用geometry宏包,可以让页边距和页眉页脚的设置变得非常简单

\documentclass[a4paper]{article}
\usepackage{geometry}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
\begin{document}
test
\end{document}

常用的长度选项还有head, headsep, foot,见下图

latex 公式 和排版

latex-geometry

 

LaTeX中常见段落格式的设定

字间距

只适用于CJK和xeCJK

\renewcommand{\CJKglue}{\hskip 宽度}

比如

\renewcommand{\CJKglue}{\hskip 1pt plus 0.08\baselineskip}

行间距

\linespread{因子}
或者
\renewcommand{\baselinestretch}{因子}

比如

\linespread{1.5}
或者
\renewcommand{\baselinestretch}{1.5}

段间距

设置\parskip的值,比如

\setlength{\parskip}{0.5\baselineskip}

首行缩进

如果默认首行不缩进,则使用indentfirst宏包

\usepackage{indentfirst}

指定某段首行缩进,在段首加

\indent

指定某段首行不缩进,在段首加

\noindent

设置缩进量

\setlength\parindent{2em}

悬挂缩进

在要悬挂缩进的段落前加上

\noindent
\hangafter
=1
\setlength{\hangindent}{2em}

分别是: 1. 取消首行缩进;2. 设置从第1行之后开始悬挂缩进;3. 设置悬挂缩进量

居中、左对齐、右对齐

分别有两种形式,一种是环境形式 center, flushleft, flushright,一种是命令形式 centering, raggedright, raggedleft。与命令形式不同,环境形式会插入新段落,如果不希望插入新段落,就得使用命令形式。命令形式通常配合环境使用,限制有效范围在环境 内。还要注意的是,与flushleft 对应的是 raggedright,与 flushright 对应的是 raggedleft,不要搞反了。

\begin{center}
居中文字 \
居中文字
\end{center}

\noindent
\begin{minipage}{\linewidth}
\centering
居中文字 \
居中文字
\end{minipage}

\begin{flushleft}
左对齐文字 \
左对齐文字
\end{flushleft}

\noindent
\begin{minipage}{\linewidth}
\raggedright
左对齐文字 \
左对齐文字
\end{minipage}

\begin{flushright}
右对齐文字 \
右对齐文字
\end{flushright}

\noindent
\begin{minipage}{\linewidth}
\raggedleft
右对齐文字 \
右对齐文字
\end{minipage}



Latex公式编号

1.自动编号的单行公式环境是
\begin{equation}

\end{equation}

不参与自动编号的单行公式环境:
[

]

人工编号的单行公式可以使用Tex原有的行间公式标记

eqno公式eqno编号

将编号放在右边
leqno公式leqno编号

将编号放在左边

 

引用时候可以直接用$编号$即可。

例如,

a2+b2=c2eqno()a2+b2=c2eqno(∗∗)


由公式($**$)即可得到结论。

 

一般情况下,行间公式


也可以用[…]表示
但对于这种人工编号的公式,不能用[..]代替

.

 

2.单个公式很长,需要换行,但仅允许生成一个编号时,可以用split命令

\begin{equation}
\begin{split}
a &= b \
c &= d
end{split}
end{equation}

注意:每行只允许出现一个“&”,使用split命令后,编号上下居中显示。

3.多行公式:

\begin{eqnarray}
左 & 中 & 右\
左 & 中 & 右\

end{eqnarray}
该环境对多行公式每行都加自动编号,如果相对某行不加编号,可在换行之前添加命令
onumber

其中两个&号之间的是公式间对齐的位置,用\隔开各行公式。将eqnarray改为eqnarray*输出的公式是没有编号。

如果要改变公式的自动编号,可以重设计数器初始值:
setcounter{equation}{数}
下一个编号自动加1。

4.方程组的排版:
多个公式,每个公式自动编号。

1) gather环境
是下面align环境的一种特殊情形。
\begin{gather}
a &= b \
c &= d \

end{gather}
>>1.如果其中某几行使用同一个编号,则需要内嵌一个split环境。
>>2.命令
otag可使当前行不编号。
2) align环境
可使几组公式并排在一起,即在同一行显示多个公式,方法是跟以前一样,使用”&”对齐。
可替代gather环境。
3) 以上几种方程组环境,无论每个公式多小,都会占满一行。使用相应的gathered,aligned环境,则只占据公式的实际宽度,整体作为一个特大的符号与其他符号一同处理。
这个结构还可以添加位置参数,以决定与其他符号的竖直对齐方式(b,t)。而且这种环境不再具有自动编号功能。

例如:
\begin{equation}
left.
\begin{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)。一章中有若干节,若每节中有很多公式,这种排序方式就很难分清某个公式是属于哪一节的。如希望公式能以节为排序单位,可在导言中加入公式宏包提供的排序单位命令: \numberwithin{equation}{section}

这样在所有公式的序号里就增加了节序号。例如第1章第3节第2个公式的序号是:(1.3.2)。在文类article中,行间公式序号是以全文为排序单位,若希望改为以节为排序单位,也可使用上述排序单位命令。

 

2.取消与替代

带星号的公式环境以及split和cases公式环境都不会给出公式序号,其它不带型号的公式环境都可以为公式自动提供序号。但有时希望公式组中的某些公式有序号,某些没有,某些要另作标记,就需要用到下列序号设置命令。

\eqno{标号} 系统提供的序号设置命令,将它紧跟在equation*环境或\[…\]形式的公式行后,可在公式右侧人工设置标号。标号可以是任意文本
\leqno{标号} 作用于\eqno相同,只是将标号至于公式的左侧。\eqno与\leqno不能同时在一个公式中使用
\nonumber 系统提供的取消序号命令。把它插在换行命令\\之前,可以取消为该行公式排序而使其无序号
\notag 公式宏包提供的序号取消命令,使用方法和作用与\nonumber命令相同
\tag{标号} 公式宏包提供的序号设置命令,把它插在换行命令\\之前,可取消为该行公式排序,而以(标号)替代序号。该命令也可用于带星号公式环境中的公式行,使其具有(标号)
\tag*{标号} 作用与\tag相同,只是标号的两侧没有圆括号

 

2.1 把矩阵方程的序号改为人工标号,并将其至于方程的左侧

代码:

$$\left(\begin{array}{lcr}
a_{11}& a_{12} & a_{13}\\
a_{21} & a_{22} & a_{23}
\end{array}\right)=0 \leqno[A.1] $$

 

得到的公式如下:

latex 公式 和排版

 

2.3 将方程组中的每个方程式使用不同样式的序号和标号

利用交叉引用命令\label和\ref来生成子序号

代码:

\begin{gather}
x^2+y^2=z^2 \label{eq:r2} \\
x^3+y^3=z^3 \notag \\
x^4+y^4=z^4 \tag{$*$} \\
x^5+y^5=z^5 \tag*{$*$} \\
x^6+y^6=z^6 \tag{\ref{eq:r2}$'$}
\end{gather}

 

得到的公式如下:

latex 公式 和排版

2.4 在公式组环境中使用取消序号命令来编排多行公式

代码:

\begin{align}
f(t)=& e^{-t}(\sin2t + 2\sin4t -{}\nonumber\\
& {}- 0.4\sin2t\sin40t)
\end{align}

 

得到的公式:

latex 公式 和排版

如果把\nonumber取消序号命令去掉后

代码:

\begin{align}
f(t)=& e^{-t}(\sin2t + 2\sin4t -{}\\
& {}- 0.4\sin2t\sin40t)
\end{align}

 

得到的公式如下(仔细看编号):

latex 公式 和排版

 

3 底部序号

通常多行公式的序号垂直居中,要想把序号至于最后一行末尾,可在公式宏包的调用命令中添加一个顶部序号选好,即\usepackage[tbtags]{amsmath}, 就可以将夏利多行公式的序号置于尾行右端。

 

代码:

\begin{equation}
\begin{split}
f(x) & = 2(x+1)^{2} -1 \\
& = 2(x^{2}+2x+1)-1 \\
& = 2x^{2} + 4x + 1
\end{split}
\end{equation}

 

得到的公式:

latex 公式 和排版