Latex 入门教程
Posted 随遇丿而安
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Latex 入门教程相关的知识,希望对你有一定的参考价值。
Latex 入门教程
运行环境:texlive2021、texstudio-4.1.2-win-qt6
1. 基本结构
整个 Latex 文件分为两个部分,第一个部分为导言区,第二个部分为正文区。具体内容如下
% 导言区
\\documentclassarticle %book, report, letter
\\title数字孪生
\\authorxiaxiang
\\date\\today
% 显示中文包
\\usepackagectex
% 正文区 有且只有一个 document 环境
\\begindocument
% 让 title 显示出来
\\maketitle
第一小节
\\enddocument
2. 中文处理
- 设置编辑器,查看 选项-》设置-》构建-》默认编辑器-》XeLaTex
- 确保 Latex 源文件为 UTF-8 格式,才能支持中文,选项在 Texstudio 编辑器右下角
- 导入中文宏包,
\\usepackagectex
查看各类相关文档 texdoc xxx
texdoc ctex
texdoc lshort-zh
,这份资料是 Latex 中文的入门教程,很不错
3. 字体设置
在 Latex 中,一个字体有五种属性,字体编码,字体族,字体系列,字体形状,字体大小
相关设置如下
% 一般只有 10-12 磅,[12pt] 代表正常字体的大小
\\documentclassarticle[12pt] %book, report, letter
\\usepackagectex
% 推荐使用字体方式为 自定义字体,而非使用系统字体
\\newcommand\\myfont\\textrm\\textmd
% 有且只有一个 document 环境
\\begindocument
% 字体系列 (罗马字体,无衬线字体、打字机字体)
\\textrmRoman Family \\textsfSans Serif Family \\textttTypewriter Family
% 字体作用域
\\rmfamily Roman Family \\sffamily Sans Serif Family \\ttfamily Typewriter Family
\\sffamily Hello global family
% 字体系列设置
\\textmdMedium Series \\textbfBoldface Series
\\mdseries Medium Series \\bfseries Boldface Series
% 字体形状
\\textupUpright Shape \\textitItalic Shape
%\\textslSlanted Shape \\textscSmall Caps Shape
%\\upshape Upright Shape \\itshape Italic Shape \\slshape Slanted Shape \\scshapeSmall Caps Shape
% 中文字体
\\songti 宋体 \\quad \\heiti 黑体 \\quad \\fangsong 仿宋 \\quad \\kaishu 楷书
% 字体大小 tiny scriptsize footnotesize small normalsize large Large LARGE huge Huge
\\tiny Hello
\\zihao5 你好
\\enddocument
更加详细的文档可以参考 texdoc ctex
。其中需要注意的是在
- 在
documentclass
处可以设置 normal font size - 在使用时一般自定义字体,而不是直接使用系统字体
4. 篇章结构
- section、subsection、subsubsection 构成篇章结构,
\\tableofcontents
构成目录
\\begindocument
% 目录
\\tableofcontents
% \\chapter绪论
\\section引言
% \\par 分段 \\\\ 换行 通常使用空行
\\section实验方法
\\section实验结果
\\subsection数据
\\subsection图表
\\subsubsection实验条件
\\subsubsection实验过程
\\subsection结果分析
\\section结论
\\section致谢
\\enddocument
空行可以进行分段;\\par
也可以进行分段,开头会空两格;\\\\
不会分段,只会换行,开头不会空两格
- 使用
\\chapter
也可以分章节,但是这时候文档类别得设置成book
,在这种情况下subsubsection
会无效 - 如果想自定义标题样式,可以设置
\\ctexset
,具体实现方法见texdoc ctex
5. 特殊字符
- 空白符合
% 空行分段,多个空行等同一个
% 自动缩进,绝对不能使用空格代替
% 英文中多个空格处理为一个空格,中文中空格将被忽略
% 汉字与其他字符的间距会自动由 XeLaTeX 处理
% 禁止使用中文全角空格
\\quad % 1em
\\qquad % 2em
\\, \\thinspace % 1/6em
\\enspace % 0.5em
\\ % 空格
~ % 硬空格(不能分割得空格)
\\kern 1pc % 1pc=12pt=4.218mm 自定义长度得空格
\\kern -1em % 使用负号长度
\\\\hskip 1em % 自定义
\\hspace35pt % 自定义
\\hphantomxyz % 占位宽度
\\hfill % 弹性长度空白
- 控制符
% 转义这些符合
\\# \\$ \\% \\ \\ \\~ \\_ \\^ \\&
\\textbackslash % 转义 \\\\,原因 \\\\ 代表换行
-
排版符号,
\\S \\P \\dag \\ddag \\copyright \\pounds
-
标识符号,
\\Tex \\LaTeX \\LaTeXe
-
引号
% 左边的单引号和双引号
` ``
% 右边的单引号和双引号
\' \'\'
-
连字符
- -- ---
-
非英文字符
\\oe \\OE \\ae \\AE \\aa \\AA \\o \\O \\l \\L \\ss \\SS !
-
重音符号,以 o 为例
\\`o \\\'o \\^o \\\'\'o \\~o \\=o \\.o \\uo \\vo \\Ho \\ro \\to \\bo \\co \\do
6. 插图
使用插图先安装宏包,在引入图片路径,最后引用
- 使用宏包和引入图片路径
% 引入图片宏包
\\usepackagegraphicx
% 可以指定多个路径
\\graphicspathfigures/, pics/
- 插入图片,使用图片时可不用写图片后缀,支持 EPS,PDF,PNG,JPEG,BMP
\\includegraphicsimg2.jpg
% 不带后缀也可以
\\includegraphicstiger
% 缩放旋转
\\includegraphics[scale=0.3]tiger
命令细节 texdoc graphicx
7. 表格
表格有专门的环境:tabular
\\begindocument
% | 表示表格竖线 || 双竖线
\\begintabular|| l | c || c | c | p1.5cm ||
% hline 表示一条横线,两个为双横线
\\hline
姓名 & 语义 & 数学 & 外语 & 备注 \\\\
\\hline \\hline
张三 & 15 & 10 & 20 & 好 \\\\
李四 & 20 & 5 & 8 & 及格 \\\\
王五 & 15 & 10 & 20 & 好 \\\\
\\endtabular
\\enddocument
需要注意的是这些符号
- l c r p:l 表示左对齐,c 表示中心对齐,r 表示右对齐,p表示指定宽度
\\hline
表示一条横线,连续两个为双横线。 | 表示竖线,|| 表示双竖线- & 分割一行中的每项数据
\\\\
表示换行
详细细节可以看texdoc booktab, texdoc longtab, texdoc tabu
8. 浮动体
举两个例子,图像和表格,分别有自己的浮动环境
% 一般只有 10-12 磅
\\documentclassarticle[12pt] %book, report, letter
\\usepackagegraphicx
\\graphicspathfigures/
\\usepackagectex
% 有且只有一个 document 环境
\\begindocument
这是一只可爱的猫(图\\reffig-tiger)
\\beginfigure[htbp]
\\centering
\\includegraphics[scale=0.3]tiger
\\captiontiger \\labelfig-tiger
\\endfigure
图像学基础(图\\reffig-graphics)
\\beginfigure[htbp]
\\centering
\\includegraphics[scale=0.3]img2
\\captiontiger \\labelfig-graphics
\\endfigure
这是三年级五班的成绩(表\\reftab-score)
\\begintable[h]
\\centering
\\caption考试成绩单 \\labeltab-score
\\begintabular|| l | c || c | c | p1.5cm ||
% hline 表格恒星,两个为双横线
\\hline
姓名 & 语义 & 数学 & 外语 & 备注 \\\\
\\hline \\hline
张三 & 15 & 10 & 20 & 好 \\\\
李四 & 20 & 5 & 8 & 及格 \\\\
王五 & 15 & 10 & 20 & 好 \\\\
\\hline
\\endtabular
\\endtable
\\enddocument
解释下其中代码含义
- figure 和 table 分别是表格和图像的浮动布局,用来设置两种元素的位置
- [htbp] 表示允许的位置,h,此处;t,页顶;b,页底;p,独立一页;默认tbp
- \\centering 表示横向剧中
- \\caption 表示标题
- \\label 表示当前图的表示,可以在其他地方引用,达到交叉引用的效果
图和表分别计算,从 1 自动往后递增。扩展:标题控制(caption,bicaption等)、并排与子图表(subcaption、subfig、floatrow等)、绕排(picinpar、wrapfig等)
9. 数学公式
排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版
\\begindocument
\\section简介
排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版。
\\section行内公式
\\subsection美元符号
$a+b=c=d+f=e$
\\subsection小括号
\\(a+b=c=d+f=e\\)
\\subsectionmath环境
\\beginmath
a+b=c=d+f=e
\\endmath
\\section上下标
$x^3_1 + 3x^2_2 + 2x_11 + 9 = 0$
\\section希腊字母
$\\alpha$ $\\beta$ $\\gamma$ $\\epsilon$ $\\pi$ $\\omega$ $\\Gamma$ $\\Delta$ $\\Theta$ $\\Pi$
$\\alpha^2 + \\beta^2 +\\gamma^2 = 1$
\\section数学函数
$\\log$ $\\sin$ $\\cos$ $\\arcsin$ $\\arccos$ $\\ln$
$ y=\\log_2n + \\sqrt[3]m + \\sin^-1$
\\section分式
$a/b \\frac38$
\\section行公式
\\subsection美元符号
$$
y=\\log_2n + \\sqrt[3]m + \\frac38
$$
\\subsection中括号
\\[ y=\\log_2n + \\sqrt[3]m + \\frac38\\]
\\subsectiondisplaymath
\\begindisplaymath
y=\\log_2n + \\sqrt[3]m + \\frac38
\\enddisplaymath
\\subsection自动编号公式equation环境(如公式\\refeq:y1)
\\beginequation
y=\\log_2n + \\sqrt[3]m + \\frac38
\\labeleq:y1
\\endequation
\\enddocument
注意解释的只有最后一个自动编号公式,该公式可以提取出当前公式序号,达到交叉引用的效果
10. 矩阵排版
矩阵运算需要有数学公式的环境,因此可以用到第 9 节的行外公式,首先介绍各种矩阵
$
\\beginmatrix
0 & 0 \\\\
1 & 1
\\endmatrix
$ \\
$
\\beginpmatrix
0 & 0 \\\\
1 & 1
\\endpmatrix
$ \\
$
\\beginbmatrix
0 & 0 \\\\
1 & 1
\\endbmatrix
$ \\
$
\\beginBmatrix
0 & 0 \\\\
1 & 1
\\endBmatrix
$ \\
$
\\beginvmatrix
0 & 0 \\\\
1 & 1
\\endvmatrix
$ \\
$
\\beginVmatrix
0 & 0 \\\\
1 & 1
\\endVmatrix
$
上述分别为各种矩阵的环境,矩阵内同样可以进行各种计算
$$
\\beginbmatrix
a^2_11 & a^2_12 & a^2_13 \\\\
0 & a^2_22 & a^2_23 \\\\
0 & 0 & a^2_33 \\\\
\\endbmatrix
$$
也可以写各种省略符号
\\newcommand\\adots\\mathinner\\mkern2mu%
\\raisebox0.1em.\\mkern2mu\\raisebox0.4em.%
\\mkern2mu\\raisebox0.7em.\\mkern1mu
$$
A = \\beginbmatrix
a^2_11 & \\dots & a^2_1n \\\\
\\adots & \\ddots & \\vdots \\\\
& & a^2_nn \\\\
\\endbmatrix_n \\times n
$$
结合分块矩阵和长省略号可得
$$
\\beginbmatrix
a_11 & a_12 & \\dots & a_1n \\\\
\\hdotsfor4 \\\\
& & \\ddots & \\vdots \\\\
\\multicolumn2c\\raisebox1.3ex[0pt]\\Huge 0 & & a^2_nn \\\\
\\endbmatrix
$$
使用 array 可以表示更为复杂的矩阵
$$
\\beginarrayc@\\hspace-5ptl
\\left(
\\beginarrayccc|ccc
a & \\cdots & a & b & \\cdots & b \\\\
& \\ddots & \\vdots & \\vdots & \\adots \\\\
& & a & b \\\\
& & & c & \\cdots & c \\\\
& & & \\vdots & & \\vdots \\\\
\\multicolumn3c\\raisebox2ex[0pt]\\Huge 0 & c & \\cdots & c
\\endarray
\\right)
&
\\beginarrayl
\\left.\\rule0mm7mm \\right\\p\\\\
\\\\
\\left. \\rule0mm7mm \\right\\q
\\endarray
\\\\[-5pt]
% 第二行
\\beginarraycc
\\underbrace\\rule17mm0mm_m &
\\underbrace\\rule17mm0mm_m
\\endarray
\\endarray
$$
解析这个表达式
- 最外层套了一个 array,它包括矩阵、pq 和两个 m。大框架就已经确定了
- 矩阵为一个 array,它包括 a、b、0 和 c
- 只要把整体结构把握好,还是比较容易看出拼凑的逻辑
11. 多行数学公式
多行公式的环境有,gather|gather*, alig|align*, split, case
% 有且只有一个 document 环境
\\begindocument
% 带编号的公式
\\begingather
a+b=b+a \\notag \\\\
ab = ba
\\endgather
% 不带编号
\\begingather*
a+b=b+a \\\\
ab = ba
\\endgather*
% align 环境带编号
\\beginalign
x & = a + \\cos(b) + \\sin(c) \\\\
y & = 1 \\\\
z & = \\frac2079 \\times 987
\\endalign
\\beginalign*
x &= t & x &= \\cos y \\\\
y &= u & y &= \\sin (u+1)
\\endalign*
% split 对齐方式与 align 一致,但整体属于一个公式
\\beginequation
\\beginsplit
\\cos 2x &= \\cos^2 x - \\sin^2 x \\\\
&= 2\\cos^2 x -1
\\endsplit
\\endequation
\\beginequation
D(x) = \\begincases
1, & \\text如果 x \\in \\mathbbQ \\\\
2, & \\text如果 x \\in \\mathbbR \\setminus \\mathbbQ
\\endcases
\\endequation
\\enddocument
注意点:
- 带星号是不带编号的数学公式
- 在 gather 环境中,\\notag 表示当前行没有公式
- 在 align 环境中,可以用 & 进行对其操作
- 在 split 环境中,也可以使用 & 进行对齐,并且整体属于一个公式
- 在 cases 环境中,整体属于一个公式
- 在数学公式中不能输入文字,但是可以通过 \\text 的方式输入文本
12. 参考文献
参考文献排版分为多类,如果只是单次使用,直接用 thebibliography
环境即可,使用 \\cite
进行引用;如果想进行单次管理多次使用,可以将参考文献使用另外的文件定义
- 单次使用
引用第一篇文章 \\citearticle1,引用第二篇书籍 \\citebook1 等等
% 参考文献排版
% 一次管理,一次使用,99为编号样本
\\beginthebibliography99
\\bibitemarticle1 引用\\emph重点文章1
\\bibitembook1 引用书籍1
\\endthebibliography
- 多次使用
新建一个 bib 格式的文件,text.bib,数据来源,谷歌学术,知网
@article陶飞2018数字孪生及其应用探索,
title=数字孪生及其应用探索,
author=陶飞 and 刘蔚然 and 刘检华 and 刘晓军 and 刘强 and 屈挺 and 胡天亮 and 张执南 and 向峰 and 徐文君 and others,
journal=计算机集成制造系统,
volume=24,
number=1,
pages=1--18,
year=2018
@articlerego20153dmol,
title=3Dmol. js: molecular visualization with WebGL,
author=Rego, Nicholas and Koes, David,
journal=Bioinformatics,
volume=31,
number=8,
pages=1322--1324,
year=2015,
publisher=Oxford University Press
先点击引用,后点击 BibTeX 将得到需要的数据,复制粘贴进我们创建的 bib 文件中即可使用
使用方法
% 1 设置参考文献样式
\\bibliographystyleplain % plain unsrt alpha abbrv
\\begindocument
% \\cite 后面的参数是 bib 单个数据中的第一个头信息
这是引用来自知网的参考文献 \\cite__2021
% \\citep \\citet
这是引用的 bib 文件下的参考文献 \\cite陶飞2018数字孪生及其应用探索 便于探索
\\nocite*
\\bibliographytext, zote
\\enddocument
\\nocite*
表示将没有引用的文献也罗列出来\\bibliographytext, zote
表示导入 bib 数据库,这里有两个数据库
- 导入知网中的文献,下载 zotero 以及 google 的扩展工具,进入知网的搜索页面,点击扩展工具,可以获得当前页面的所有文献信息。这些信息可以通过 zotero 导出成 bib 文件供我们使用,也可以把这个文件中的信息复制出来统一放在一个 bib 文件中
- 新参考文献排版引擎 BibLaTeX 使用较麻烦,有兴趣可以自行搜索
13. 定义新命令和环境
可以定义新命令使用、
% 一般只有 10-12 磅
\\documentclassarticle[12pt] %book, report, letter
\\usepackagectex
\\newcommand\\newMessage这是一个新的命令字符串
\\newcommand\\loves[2]#1 喜欢 #2
\\newcommand\\lovess[3]#1 喜欢 #2, #2 喜欢 #3,#3 喜欢 #1
% 第一个参数为可选参数,默认为喜欢
\\newcommand\\defaultLove[3][喜欢]#2 #1 #3
% \\renewcommandcmddef 与 newcommand 使用方法
% \\newenvironmentenvnamebegdefenddef 与 newcommand 用法一致,具体见文档
% 有且只有一个 document 环境
\\begindocument
\\newMessage
\\loves猫儿小鱼
\\lovess猫儿狗儿羊儿
\\defaultLove小花小明
\\defaultLove[讨厌]小花小明
\\enddocument
- 注意可以用默认参数
- 自定义命令可以是输出指定字符串
- 重定义环境看相关文档
以上是关于Latex 入门教程的主要内容,如果未能解决你的问题,请参考以下文章