内容来自《一份不太简短的\(\LaTeX2\varepsilon\)介绍》,据说是99分钟学会。 倒计时开始。 ## \(\LaTeX\)须知
概述
- \(\LaTeX\)的发音是“Lay-tech”或“Lah-tech”,即“雷泰克”。
- \(\TeX\)是\(\LaTeX\)这个软件的引擎。
- \(\LaTeX2\varepsilon\)是\(\LaTeX\)的最新版本。
\(\LaTeX\)命令和代码结构
\(\LaTeX\)命令和环境
\(\LaTeX\)命令**以反斜线*,为以下两种形式之一:
- 反斜线和后面的一串字母,如。它们以任意非字母符号(空格、数字、标点等)作为分隔符。
- 反斜线和后面的一个非字母符号,如\$。他们无需分隔符。
\(\LaTeX\)命令对大小写敏感。
字母形式的命令忽略后面所有空格,所以如果要引入空格,要在命令后面加一对括号阻止其忽略空格,或者紧跟反斜线加空格命令。在MathJax中不用考虑这个问题,因为空格前面本来就要加反斜线。
大多数的\(\LaTeX\)命令是带一个或多个参数,每个参数用花括号{ 和 } 包裹。有些命令带一个或多个可选参数,以方括号[ 和 ] 包裹。还有些命令在命令名称后可以带一个星号*,带星号和不带星号的命令效果有一定差异。
\(\LaTeX\)的花括号本身也起到分组的作用,可以将字体、格式等的更改限制在大括号范围之内。
\(\LaTeX\)还引入了环境的用法,用以令一些效果在局部生效,或是生成特定的文档元素。\(\LaTeX\)环境的用法为一对命令 \begin 和 \end:
\begin{<environment name>}{<arguments>}
...
\end{<environment name>}
其中<environment name>
为环境名,\begin
和\end
中填写的环境名应当一致。\begin
在<environment name>
后可以带一个或多个参数,甚至可选参数。环境允许嵌套使用。
\(\LaTeX\)源代码结构
\(\LaTeX\)源代码以一个\documentclass
命令作为开头,它规定了文档使用的文档类:
\documentclass{...}
紧接着我们可以用\usepackage
命令调用宏包:
\usepackage{...}
再接着,我们需要用以下一对命令来标记正文内容的开始位置和结束位置,而将正文内容写入其中:
\begin{document}
...
\end{document}
在\documentclass
和\begin{document}
之间的位置称为导言区,除了使用\usepackage
调用宏包之外,一些对文档的全局设置命令也在这里使用。也可以什么都不写。
用命令行操作\(\LaTeX\)
宏包和文档类
文档类
文档类规定了\(\LaTeX\)源代码索要生成的文档的性质。用\documentclass
指定文档类:
\documentclass[<options>]{<class-name>}
<class-name>
为文档类的名称,\(\LaTeX\)提供的基础文档类:
- article,文章格式
- report,长篇报告
- book,书籍,包含章节结构、前言、正文、后记等
- proc,基于article的简单的学术文档模板
- slides,幻灯格式,使用无衬线字体
- minial,极其精简,用于测试
<options>
为文档类指定选项
- 10pt、11pt、12pt,字号,缺省为10pt
- a4paper,letterpaper,… 纸张大小
- 更多见pdf第6页。
宏包
扩展应用,如插入复杂表格,图片,颜色,超链接等。
\usepackage[<options>]{<package-name>}
\(\LaTeX\)用到的文件一览
文件的组织方式
\(\LaTeX\)提供\include
命令来在源代码里插入文件:
\include{<filename>}
如果和要编译的主文件不在一个目录,则要加上相对或绝对路径。
<filename>
不带扩展名时默认为.tex。
\include
在读入文件之前会另起一页。使用\input
命令是纯粹的插入:
\input{<filename>}
用\(\LaTeX\)排版文字
排版中文
直接用UTF8选项使CTEX支持utf-8编码,利用CTEX丰富的字体和中文设置可以更好地编辑Latex中文文本,其语法格式为:
\documentclass[UTF8]{article}
\usepackage{CTEX}
\begin{document}
...
\end{document}
例子:
% ctex_test.tex
\documentclass[UTF8]{article}
\usepackage{CTEX}
\begin{document}
这是一个CTEX的utf-8编码例子,{\kaishu 这里是楷体显示},{\songti 这里是宋体显示},{\heiti 这里是黑体显示},{\fangsong 这里是仿宋显示},{\lishu 这里是隶书显示},{\youyuan 这里是幼圆显示}。
\end{document}
\(\LaTeX\)中的字符
空格和分段
\(\LaTeX\)源代码中,空格键和 Tab 键输入的空白字符视为“空格”。若干个空白字符视为一个空格。一行开头的空格忽略不计。
行末的回车视为一个空格;连续两个回车,也就是空行,会将文字分段。多个空行视为一个空行。也可以用\par
分段。
在MathJax中,用\
反斜线加空格来打出空格,只能用\\\\
强制换行。
注释
用%作为注释。%后所有字符,包括回车引入的空格,都被忽略。
特殊字符
保留字符有# $ % { } _ ^ ~ 。
反斜线加保留字符可以得到这些字符。这些反斜线的形式是\(\LaTeX\)命令,^和~要带空参数,即\~{}
和\^{}
才能打出这两个字符。
两个反斜线\\被用作手动换行,所以输入反斜杠要用\textbackslash
。
破除连字
西文排版中经常会出现连字,常见的有ff/fi/fl/ffi/ffl。用一对大括号破除。
It’s difficult to find \ldots .\\
It’s dif{}f{}icult to f{}ind \ldots .
\[It’s\ difficult\ to\ find \ldots .\\\\It’s\ dif{}f{}icult\ to\ f{}ind\ \ldots .\] (MathJax里好像没有这个必要) #### 标点符号
- 引号 左单引号:`,是键盘上1左边的那个键;右单引号:’是键盘上分号右边那个键。 左双引号:两个左单引号。右双引号相似。
- 不同长度的横线 1到3个短横-代表三个不同长度的横线。
- 省略号 用
\ldots
或\dots
而不是直接输入三个点来得到省略号。 - 波浪号
\~{}
得到的波浪号在上面,如果要中间的、大的波浪号,用数学公式里的$\sim$
代替。也可以用中文的全角波浪号。
\(\LaTeX\)标志
在\(\LaTeX\)里可以用\LaTeXe
来打出\(\LaTeX2\varepsilon\),但是MathJax不支持。
文字强调
- 下划线 用ulem宏包里的:
\uline{underlined words.}
- 斜体强调 。,内部用正常字体。
断行和断页
文档元素
排版数学公式
公式排版基础
数学公式有两种排版方式:其一是与文字混排,称为行内公式;其二是单独列为一行排版,称为行间公式。
行内公式用一对\\(符号包裹。行间公式在\)$里由equation环境包裹。equation环境为公式自动生成一个编号,这个编号可以用\label
和\ref
生成交叉引用,amsmath的\eqref
命令甚至为引用自动加上圆括号;还可以用\tag
命令手动修改公式的编号,或者用\notag
命令取消为公式编号(与之基本等效的命令是)。
如果想要取消公式的编号,还有三种方法: - 使用displaymath环境,即公式用\begin{displaymath}
和\end{displaymath}
包裹 - 使用equation*环境,即公式用\begin{equation*}
和\end{equation*}
包裹 - 使用\[
和\]
命令生成不带编号的行间公式
数学模式和文本
当开始输入公式时,进入数学模式。数学模式相比文本模式有如下特点: 1. 数学模式中输入的空格全部被忽略。数学符号的间隙默认完全由符号的性质(关系符号、运算符等)决定。需要人为引入空隙时,使用\quad
和\qquad
等命令。 2. 不允许有空行(分段)。每个公式(每组多行公式)自成一个段落。 3. 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格。如果想在数学公式中输入正体的文本,可用\mathrm
命令。amsmath提供了更加方便的\text
命令。
数学符号
多行公式
长公式折行
通常来讲应当避免写出需要折行的长公式。如果一定要折行的话,优先在等号之前折行,其次在加号、减号之前,再次在乘号、除号之前。其它位置应当避免折行。
书写折行长公式可以用amsmath宏包的multline环境。允许用\\折行,将公式编号放在最后一行。多行公式的首行左对齐,末行右对齐,其余行居中。最后一行不要写\\。
多行公式
罗列一系列公式,并令其按照等号对齐,用align环境。(需使用amsmath宏包。)将公式用&分隔为两部分并对齐。分隔符放等号左边。align环境会给每行公式加分号。如果同时要在某一行公式折行,可以将&放在等号右边,在等号后面添加一对大括号。align 还能够对齐多组公式,除等号前的&之外,公式之间也用&分隔。
如果不需要对齐等号,可以用gather环境。
公用编号的多行公式
将多个公式组在一起共用一个编号,编号位于公式的居中位置:用amsmath宏包里的aligned、gathered环境,与equation环境套用。
数组和矩阵
使用array环境,需要定义列格式。用\换行。也可以用带各种定界符的matrix环境。
公式中的间距
可以用\quad
、\qquad
、\
、\,
、\:
、\;
生成不同大小的间距。可以用\!
生成负间距。
数学符号的字体控制
见pdf p.45~p.46
定理环境
要先自定义定理环境,用\newtheorem
定义:
\newtheorem{<type>}{<title>}[<section-name>]
\newtheorem{<type>}[<counter>]{<title>}
<type>
是定理类型的名称,或者说是“这种类型定理的代号”。<title>
是定理类型的标签,放在定理序号的前面。
定理序号由两个可选参数之一决定,他们不能同时使用: - <section-name>
为章节名称,使定理序号成为章节的下一级序号; - counter
为用\newcounter
自定义的计数器名称,定理序号由这个计数器管理。
如果两个可选参数都不用的话,则使用一个默认的计数器。定理带一个可选参数,用于注明定理的名称,如“法拉第定律”等。在环境内还可以用\label
声明引用。
例子:
\newtheorem{mythm}{My Theorem}[section]
\begin{mythm}\label{thm:light}
The light speed in vaccum
is $299,792,458\,\mathrm{m/s}$.
\end{mythm}
\begin{mythm}[Energy]
The relationship of energy,
momentum and mass is
\[E^2 = m_0^2 c^4 + p^2 c^2\]
where $c$ is the light speed
described in theorem \ref{thm:light}.
\end{mythm}
amsthm宏包可以修改定理格式。
证明环境和证毕符号
amsthm 还提供了一个proof环境用于排版定理的证明过程。proof环境末尾自动加上一个证毕符号\(\Box\)。如果行末是一个不带编号的公式,\(\Box\)符号会另起一行,这时可使用\qedhere
命令将\(\Box\)符号放在公式末尾。