LaTeX 折腾记(三)丨LaTeX 入门:文档要素、基础语法、参考文档 2022-12-20 学习,编程,大学,搞机 1 条评论 1277 次阅读 ## 入门建议 该页面中会有一些基本的指令,仅能满足部分需求,建议观看 CTAN 官方的 lshort 教程,中文版题目《为一份(不太)简短的 LATEX 2ε 介绍》。 lshort-zh-cn.pdf 下载 CTAN: https://mirrors.ctan.org/info/lshort/chinese.zip 亿点网盘: https://pan.yztv.live/s/yGTv ## 最简单的文档 将下面的代码复制到一个空的 tex 文件中,编译即可得到你的第一个 LaTeX 文档 ``` \documentclass{article} \begin{document} Hello, \LaTeX ! \end{document} ``` 可以得到内容只有这样的一个文档  ## LaTeX 命令(引用 lshort-zh-cn 中 1.3.1 的内容) LATEX 中命令以反斜线 \ 开头,为以下两种形式之一: - 反斜线和后面的一串字母,如 \LaTeX。它们以任意非字母符号(空格、数字、标点等)为界限。 - 反斜线和后面的单个非字母符号,如 \$。 要注意 LaTeX 命令是对**大小写敏感**的,比如输入 \LaTeX 命令可以生成错落有致的 LATEX 字母组合,但输入 \Latex 或者 \LaTex 什么都得不到,还会报错;它们与 \LaTeX 是不同的命令。 字母形式的 LATEX 命令忽略其后的所有连续空格。如果要人为引入空格,需要在命令后面加一对花括号阻止其忽略空格 一些 LaTeX 命令可以接收一些参数,参数的内容会影响命令的效果。LaTeX 的参数分为可选参数和必选参数。可选参数以方括号 [ 和 ] 包裹;必选参数一般以花括号 { 和 } 包裹。还有些命令可以带一个星号 \*,带星号和不带星号的命令效果有一定差异。初次接触这些概念时,可以粗略地把星号看作一种特殊的可选参数。 ## LaTeX 源代码结构(引用 lshort-zh-cn 中 1.3.2 的内容) LaTeX 源代码以一个 \documentclass 命令作为开头,它指定了文档使用的文档类。document 环境当中的内容是文档正文。 在 \documentclass 和 \begin{document} 之间的位置称为导言区。在导言区中常会使用\usepackage 命令调用宏包,还会进行文档的全局设置。 % 后面的内容是注释,在本行内,% 之后的内容均不会被编译 ``` \documentclass{...} % ... 为某文档类 % 导言区 \begin{document} % 正文内容 \end{document} % 此后内容会被忽略 ``` ## 文档类型 TeX有多种文档类型可选,较常用的有如下几种类型: - 对于英文,可以用 **book**、**article**、**minimal** 和 **beamer**; - 对于中文,可以用 **ctexbook**、**ctexart** 和 **ctexbeamer**,这些类型自带了对中文的支持。 不同的文件类型,编写的过程中也会有一定的差异,如果直接修改文件类型的话,甚至会报错。以下统一选用ctexart。在编辑框第一行,输入如下内容来设置文件类型: `\documentclass{ctexart}` 另外,一般也可以在\documentclass处设置基本参数,笔者通常设置默认字体大小为12pt,纸张大小为A4,单面打印。需要将第一行的内容替换为: `\documentclass[12pt, a4paper, oneside]{ctexart}` 文件的正文部分需要放入document环境中,在document环境外的部分不会出现在文件中。 ## 宏包 为了完成一些功能(如定理环境),还需要在导言区,也即document环境之前加载宏包。加载宏包的代码是**\usepackage{package_name}** 引入与图片有关的宏包的指令为 `\usepackage{graphicx}` 一次性可以引入多个宏包,例如在下面的指令中,不仅引入了与数学公式与定理环境相关的宏包amsmath、amsthm、amssymb,还引入了用于插入图片的宏包为graphicx `\usepackage{amsmath, amsthm, amssymb, graphicx}` ## 标题、作者、时间 标题可以用\title{}设置,作者可以用\author{}设置,日期可以用\date{}设置,这些都需要放在导言区。 为了在文档中显示标题信息,需要使用\maketitle。 ``` \documentclass[12pt, a4paper, oneside]{ctexart} \usepackage{amsmath, amsthm, amssymb, graphicx} % 导言区 \title{我的第一个\LaTeX 文档} \author{Luthics} \date{\today} \begin{document} \maketitle 这里是我的第一个\LaTeX 文档的正文部分 \end{document} ``` ## 正文 正文可以直接在document环境中书写,文档默认会进行首行缩进。 LATEX 源代码中,空格键和 Tab 键输入的空白字符视为“空格”。连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。 行末的换行符视为一个空格;但连续两个换行符,也就是空行,会将文字分段。多个空行被视为一个空行。也可以在行末使用 \par 命令分段。 可以用 \newpage 新起一页 ## 章节 对于 **ctexart** 文件类型,章节可以用 \section{}、 \subsection{} 和 \subsubsection{} 命令来标记,分别是一、二、三级标题。 例如: ``` \documentclass[12pt, a4paper, oneside]{ctexart} \usepackage{amsmath, amsthm, amssymb, graphicx} \title{我的第一个\LaTeX 文档} \author{Luthics} \date{\today} \begin{document} \maketitle \section{一级标题} 一级标题下文字 \subsection{二级标题} 二级标题下文字 \subsubsection{二级标题} 三级标题下文字 \subsection{二级标题} 第二个二级标题下文字 \end{document} ``` ## 目录 在有了章节的结构之后,使用 \tableofcontents 命令就可以在指定位置生成目录。 通常带有目录的文件需要编译两次,因为需要先在目录中生成.toc文件,再据此生成目录。 ``` \documentclass[12pt, a4paper, oneside]{ctexart} \usepackage{amsmath, amsthm, amssymb, graphicx} \title{我的第一个\LaTeX 文档} \author{Luthics} \date{\today} \begin{document} \maketitle \newpage \tableofcontents \newpage \section{一级标题} 一级标题下文字 \subsection{二级标题} 二级标题下文字 \subsubsection{二级标题} 三级标题下文字 \subsection{二级标题} 第二个二级标题下文字 \end{document} ``` ## 图片 插入图片需要使用 **graphicx** 宏包,使用以下方式插入 ``` \begin{figure}[htbp] \centering \includegraphics[width=12cm]{图标路径.png} \caption{图片标题} \end{figure} ``` 其中,[htbp] 的作用是自动选择插入图片的最优位置,\centering 设置让图片居中,[width=12cm] 设置了图片的宽度为12cm,\caption{} 用于设置图片的标题。 ## 表格 使用 LaTeX 中预设的表格环境插入 ``` \begin{table}[htbp] \centering \caption{表格标题} \begin{tabular}{ccc} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{tabular} \end{table} ``` LaTeX 中表格直接排版比较复杂,可以使用 [TablesGenerator](https://www.tablesgenerator.com/ "TablesGenerator") 生成 ## 列表 LaTeX中的列表环境包含无序列表itemize、有序列表enumerate 和描述 description ``` \begin{enumerate} \item 这是第一点; \item 这是第二点; \item 这是第三点. \end{enumerate} ``` 使用 \item[自定义名字] 既可自定义每行前的名字,description 中必须使用自定义名字 ## 公式 可以使用 [LaTeXLive](https://www.latexlive.com/ "LaTeXLive") 在线编辑公式 ### 单行公式 单行公式通常使用 $..$ 来输入 `$x^2+y^2=z^2$` 得到的结果是 $$x^2+y^2=z^2$$ ### 多行公式 多行公式用 $$..$$ 来输入 ``` $$ x^2+y^2=z^2 $$ ``` 结果和上面一样,但是有的符号在两种输入方式下现实的不同(如 $$\int$$符号) ### 上标下标 上标可以用`^`输入,例如`a^n`,效果为$$a^n$$;下标可以用`_`来输入,例如 `a_1`,效果为 $$a_1$$。上下标只会读取第一个字符,如果上下标的内容较多的话,需要使用大括号扩起全部上/下标。 ### 分式 分式可以用`\dfrac{}{}`来输入,例如`\dfrac{a}{b}`,效果为$$\dfrac{a}{b}$$ 为了在行间、分子、分母或者指数上输入较小的分式,可以改用`\frac{}{}`,例如`a^\frac{1}{n}`,效果为$$a^\frac{1}{n}$$ ### 括号 括号可以直接用`(..)`输入,但是需要注意的是,有时候括号内的内容高度较大,需要改用`\left(..\right)`。例如`\left(1+\dfrac{1}{n}\right)^n`,效果是$$\left(1+\dfrac{1}{n}\right)^n$$。 在中间需要隔开时,可以用`\left(..\middle|..\right)`。 另外,输入大括号`{}`时需要用`\{..\}`,其中`\`起到了转义作用。 ### 加粗 对于加粗的公式,建议使用 bm 宏包,并且用命令 \bm{} 来加粗,这可以保留公式的斜体。 ### 大括号 在这里可以使用cases环境,可以用于分段函数或者方程组,例如 ``` $$ f(x)=\begin{cases} x, & x>0, \\ -x, & x\leq 0. \end{cases} $$ ```  ### 多行公式 多行公式通常使用 aligned 或者 gather 环境,例如 ``` $$ \begin{aligned} a & =b+c \\ & =d+e \end{aligned} $$ ``` 效果为:  如果不需要等号对齐,可以使用 gather ``` \begin{gather} a = b+c \\ c = d+e+f \\ \end{gather} ``` 效果为:  参考文章: 【LaTeX】新手教程:从入门到日常使用 : https://zhuanlan.zhihu.com/p/456055339 标签: 学习, LaTeX 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
已有 1 条评论