latex的常用语句
原文为本人写自自建博客 https://sagi-li.gitee.io/sagi-li/2021/01/09/61273.html
如果能帮到你,请给一个赞哦。
一、latex命令和代码结构
LATEX 的源代码为文本文件。这些文本除了文字本身,还包括各种命令,用在排版公式、划分文档结构、控制样式等等不同的地方。
1. LATEX 命令和环境
LATEX 命令以反斜线 \ 开头,为以下两种形式之一:
- 反斜线和后面的一串字母,如 \LaTeX。它们以任意非字母符号(空格、数字、标点等)为 界限。
- 反斜线和后面的单个非字母符号,如 $。
要注意 LATEX 命令是对大小写敏感的,比如输入 \LaTeX 命令可以生成错落有致的 LATEX 字母组合,但输入 \Latex 或者 \LaTex 什么都得不到,还会报错。
<注>:
字母形式的 LATEX 命令忽略其后的所有空格。如果要人为引入空格,需要在命令后面加一 对括号阻止其忽略空格。
\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{星客}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{举一个例子}
\TeX users
or \TeX{} users?
\end{document}
2. latex源代码结构
LATEX 源代码以一个 \documentclass 命令作为开头,它规定了文档使用的文档类:
\documentclass{...} %之后用 \usepackage 命令调用宏包:
\usepackage{...} %再接着,用 document 环境来标记正文内容范围:
\begin{document}
\section{...} %正文内容……
\end{document}
在 \documentclass 和 \begin{document} 之间的位置称为导言区,除了使用 \usepackage 调用宏包之外,一些对文档的全局设置命令也在这里使用。
3.文档类
\documentclass[⟨options⟩]{⟨class-name⟩}
其中 ⟨class-name⟩ 为文档类的名称,如 LATEX 提供的 article, book, report,在其基础上派 生的一些文档类如支持中文排版的 ctexart / ctexbook / ctexrep,或者有其它功能的一些文档类, 如 moderncv / beamer 等。
文档类名称 | 应用于 |
---|---|
article | 文章格式的文档类,广泛用于科技论文、报告、说明文档等 |
report | 长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单 的书籍等 |
book | 书籍文档类,包含章节结构和前言、正文、后记等结构 |
proc | 基于 article 文档类的一个简单的学术文档模板 |
slides | 幻灯格式的文档类,使用无衬线字体 |
minimal | 一个极其精简的文档类,只设定了纸张大小和基本字号,用作代码测 试的最小工作示例(Minimal Working Example)。 |
可选参数 ⟨options⟩ 为文档类指定选项,以全局地规定一些排版的参数,如字号、纸张大小、 单双面等等。
比如调用 article 文档类排版文章,指定纸张为 A4 大小,基本字号为 11pt,双面 排版:
\documentclass[11pt,twoside,a4paper]{article}
LATEX 的三个标准文档类可指定的选项包括:
- 10pt, 11pt, 12pt 指定文档的基本字号。缺省为 10pt。
- a4paper, letterpaper, ... 指定纸张大小,缺省为美式信纸 letterpaper(8.5×11 英寸)。 可指定选项还包括 a5paper,b5paper,executivepaper 和 legalpaper。
- twoside, oneside 指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。article 和 report 缺省为 oneside,book 缺省为 twoside。
- onecolumn, twocolumn 指定单栏/双栏排版。缺省为 onecolumn。 openright, openany 指定新的一章 \chapter 是在奇数页(右侧)开始,还是直接紧跟着上 一页开始。report 缺省为 openany,book 缺省为 openright。对 article 无效。
- landscape 指定横向排版。缺省为纵向。
- titlepage, notitlepage 指定标题命令 \maketitle 是否生成单独的标题页。article 缺省为 notitlepage,report 和 book 缺省为 titlepage。
- fleqn 令行间公式左对齐。缺省为居中对齐。
- leqno 将公式编号放在左边。缺省为右边。
- draft, final 指定草稿/终稿模式。草稿模式下,断行不良的地方会在行尾添加一个黑色方 块。缺省为 final。
4.宏包
\usepackage{<宏包>}
<注>:
若中引文都有,只需要
\usepackage[utf8]{inputenc}
%或者
\documentclass[UTF8]{ctexart}
二、基本语法
1.选择文档类型
\documentclass{}规定文档的类型,可以选择文章article,也可以选择其它类型,如book、letter等等
2.添加注释
latex的注释添加方法和一般的代码不一样,但是和matlab类似,是用”%“来添加注释,在每一行的末尾加上%,然后就可以添加注释了,编译后注释的内容不会出现在文档中。
相应的,如果文章内容中需要使用%的话,需要在%前面加上反斜杠“\”。
3.添加标题、作者、日期等信息
\documentclass{article} %大括号里面的是文章类型
\title{My first Latex document} %里面是题目,
\author{xingke} %作者
\date{31/1/2021} %时间
\begin{document} %这一行代表着正文的开始
\maketitle %这一行用于显示你的文章标题、作者、时间,如果没有这一行,只会编译你的正文
Hello world!
\end{document}%这一行代表着正文的结束
4. 添加目录
只需要在导言区中添加\tableofcontents就可以了
例子:
\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{星客}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{你好中国}
中国在 East Asia.
\subsection{Hello Beijing}
北京是 capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Tian'anmen Square}
is in the center of Beijing
\subparagraph{Chairman Mao}
is in the center of 天安门广场。
\subsection{Hello 北京}
\paragraph{北京} is an international city。
\end{document}
5.添加包
当需要用到非默认存在的包时,需要在导言区中添加
三、输入字符
1.空格和分段
空格和分段 LATEX 源代码中,空格键和 Tab 键输入的空白字符视为“空格”。连续的若干个空白字符视 为一个空格。一行开头的空格忽略不计。 行末的回车视为一个空格;但连续两个回车,也就是空行,会将文字分段。多个空行被视为 一个空行。也可以在行末使用 \par 命令分段。
2.特殊字符
以下字符在 LATEX 里有特殊用途,如 % 表示注释,$、^、_ 等用于排版数学公式,& 用于排 版表格,等等。直接输入这些字符得不到对应的符号,还往往会出错:
\# \$ \% \& \{ \} \_
\^{} \~{} \textbackslash
事实上这些带反斜线的形式就是 LATEX 命令。^ 和 ~ 两个命令是需要带参数的,如果不 加一对花括号(空参数),就将后面的字符作为参数,形成重音效果。\ \被直接 定义成了手动换行的命令,输入反斜杠就只好用 \textbackslash。
3.连字
西文排版中经常会出现连字(Ligatures)
举例:
摘选自:lshort-zh-cn.pdf
4.标点符号
中文的标点符号(都是全角的非 ASCII 字符)一般来讲不用特别操心,只要使用中文输入 法输入即可。而在英文标点的输入上,有许多需要留意的地方。
(1)引号
LATEX 的单引号 ‘ ’ 用 ‘ 和 ’ 输入;双引号 “ ” 用 ‘ ‘ 和 ’ ’ 输入(虽然 " 也能表示双引号, 但没有合适的单个符号用来表示前双引号,所以不常用在正文)。
(2)长破折号、短破折号、连词号
在LATEX中,- 表示连词号, -- 表示短破折号,一般用于页码,---表示长破折号。
注意,- 是不用按Shift的!
(3)省略号
LATEX 提供了命令 \ldots 来生成省略号,相对于直接输入三个点的方式更为合理。\ldots 和 \dots 是两个等效的命令。
(4)波浪号
\ ~ 命令,它可以用来输入波浪号,但是实际上它是上波浪线,效果不太理想。一般我喜欢用数学公式里的 \sim 符号来代替。
(5)latex标志
\TeX
\LaTeX
\LaTeXe
四、文章格式
1.添加章节
\section{}
\subsection{}
\subsubsection{}
2.添加段落
\paragraph{}
\subparagraph{}
\subsubparagraph{}
3.字体大小
\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\large
\LARGE
\huge
\Huge
4.文字强调
下划线:
- \underline : \underline{},可能会使得不同单词的下划线高度不一致
- ulem 宏包的 \uline:\uline{}
斜体:
- \emph :\emph{}
5.单词间距和断行
我们可以使用字符 ~ 在合适的位置插入一个不会断行的空格。
连续回车2次是换行
\\ %两次\是一次换行,比如我们想两段之间空一行,我们就\\\\
\newline %一次\newline是一次换行,比如我们可以\newline\newline
这个时候我们会发现,一般来说第二行会比第一行向前,这是因为第一行有缩进,那么我们可以通过 \noindent 命令取消第一行的缩进。
\noindent 文字\\
文字
和断行类似的还有分页,在word中有分页符操作,在latex中,我们用\newpage表示分页。
同时我们也可以我们通过命令来显示断行分页的优先级。
允许 | 禁止 | |
---|---|---|
断行 | \linebreak[⟨n⟩] | \nolinebreak[⟨n⟩] |
分页 | \pagebreak[⟨n⟩] | \nopagebreak[⟨n⟩] |
在这里面<n>是表示优先级的,取值0~4。数值越大表名优先级越高,如果缺省就表示是4。
也就是说,\nopagebreak和\nopagebreak[4]表示禁止分页,\linebreak[3]表示优先考虑断行。
6.脚注和边注
使用 \footnote 命令可以在页面底部生成一个脚注:
“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnote{出自《千字文》。}
使用 \marginpar 命令可在边栏位置生成边注:
\marginpar[⟨left-margin⟩]{⟨right-margin⟩}
如果只给定了 ⟨right-margin⟩,那么边注在奇偶数页文字相同;如果同时给定了 ⟨left-margin⟩,则 偶数页使用 ⟨left-margin⟩ 的文字。
\marginpar{\footnotesize 边注较窄,不要写过多文字,最好设置较小的字号。}
%\footnotesize是表示字号的
五、特殊格式
1.列表
1.普通用法
有序列表 enumerate 和 无序列表itemize;
用 \item标明每个列项。
\begin{enumerate}
\item[A]
\item[A]
\end{enumerate}
列表可以嵌套使用,最多嵌套四层。
2. description
关键字环境 description 的用法与以上两者类似,不同的是 \item 后的可选参数用来写关 键字,以粗体显示,一般是必填的:
\begin{description}
\item[第一点] . . .
\item[第二点] . . .
\end{description}
3. labelitemi (无序列表)
\labelitemi和\labelitemiv可以定义无序列表
\renewcommand{\labelitemi}{\ddag} %ddag 和dag表示的是十字架,
\renewcommand{\labelitemii}{\dag}
\begin{itemize}
\item First item
\begin{itemize}
\item Subitem
\item Subitem
\end{itemize}
\item Second item
\end{itemize}
注意,多级无序列表,就是多加几个i
4. labelenumi (有序列表)
\renewcommand{\labelenumi}%
{1.}%大括号中的是有序列
\begin{enumerate}
\item First item
\item Second item
\end{enumerate}
2.对齐环境
格式 | 开头 | 结尾 | 独立 |
---|---|---|---|
左对齐 | \begin{flushleft} | \end{flushleft} | \raggedleft |
居中 | \begin{center} | \end{center} | \centering |
右对齐 | begin{flushright} | \end{flushright} | \raggedright |
\begin{center}
Centered text using a
\verb|center| environment.
\end{center}
\begin{flushleft}
Left-aligned text using a
\verb|flushleft| environment.
\end{flushleft}
\begin{flushright}
Right-aligned text using a
\verb|flushright| environment.
\end{flushright}
或者
\centering
Centered text paragraph.
\raggedright
Left-aligned text paragraph.
\raggedleft
Right-aligned text paragraph.
上面两段代码得到的结果是一样的。