符号参考
1 | % 这对 \max \sum 也有效 |
字号参考
1 | \tiny 5pt |
字体参考
1 | \textbf 加粗 |
用法:\textbf{content}
插入公式
1 | \begin{align*} |
第二种与第一种有相同的排版效果的,但如果只用一个$
,可以置于行内;在markdown中编写latex公式在预览时,有的只支持aligned
而不支持align
;但\tag
不能用在aligned
中。更多内容参考StackExchange。
插入列表
1 | \begin{itemize} |
插入图片
1 | \usepackage{graphicx} |
插入代码
1 | \usepackage{listings} |
(注意:如果要显示的代码顶格,这段代码不能缩进)
样式设置
1 | % 灰色背景 |
插入表格
三线表
1 | \usepackage{booktabs} |
插入算法
1 | \usepackage{algorithm} |
引用图表
引用图、表、公式、章节,都是加一个\label{mark}
,引用时使用\ref{mark}
,下面以引用图为例
1 | \begin{figure}[t] |
注意\label
要放在插入图片命令之后,caption
放在插入图片命令之后则标题会在图像下方。正文中这样用Figure \ref{fig:example}
,生成的pdf中就会显示为Figure 1
,即只是将\ref
的位置替换为数字
常见引用格式如下
1 | Fig. \ref{fig:example} |
引用文献
thebibliography
文章最后用下面方式列出所有参考文献,会自动编号1,2,3,...
,也会加一个标题References
1 | \newpage |
在正文中这样引用\cite{AlexNet}
,引用多篇则\cite{AlexNet, ResNet}
。需要编译两次才能正常引用。
换标题样式,如\renewcommand{\refname}{\centerline {REFERENCES}}
修改样式如
1 | \makeatletter |
BibTeX
在bibfile.bib
文件中用BibTex格式列出参考文献,如
1 | @inproceedings{he2016deep, |
在要列参考文献的位置,设置各式,引用bib
文件
1 | \bibliographystyle{plain} |
bib
文件文件名不要求与tex
文件名相同,只要文件名和这里引用的对应就行。
正文中引用具体文献时用\cite{krizhevsky2012imagenet}
,引用多个时这样\cite{he2016deep, krizhevsky2012imagenet}
。
编译需要四次才能正确引用,比如现在有一个example.tex
文件,则顺次运行下面四条命令
1 | xeletex example |
可以在vscode中将这四条命令配置成一个Recipe一键运行。
中文支持
- xelatex编译
4种方式
1 | \documentclass[12pt]{article} |
- pdfLatex编译
1 | \documentclass[UTF8]{ctexart} |
中文字体设置
这里只讨论xelatex编译下的中文字体设置,windows10环境。
这些设置在latex和beamer下都适用,不会影响英文字体。
查找可用字体
查找XeCJK宏包手册,搜索fc-list
找到这部分内容的说明。
简单记录如下,命令行中输入
1 | chcp 65001 |
得到fontlist.txt
和zhfont.txt
两个文件
全局设置
本节适用于ctex
和XeCJK
两个宏包,调用时唯一的区别在于将包名换一下。
1 | \documentclass[UTF8]{article} |
setCJKmainfont
中的微软雅黑
可以使用
1 | 微软雅黑 宋体 黑体 仿宋 楷体 等线 |
等等,出现在zhfont.txt
文件中的名称都可以(对应fontlist.txt
文件每一行冒号前面部分,应该只有中文字体有效,即zhfont.txt
文件中的名称)。
也可以直接载入字体文件名
1 | \setCJKmainfont{simkai.ttf} |
新下载的字体只要拖动到与simkai.ttf
这些字体相同的文件夹(Windows下为C:\Windows\Fonts
)下,即可直接通过文件名调用。
还可以设置粗体参数
1 | \documentclass[UTF8]{article} |
局部设置
本节适用于ctex
和XeCJK
两个宏包,调用时唯一的区别在于将包名换一下。
1 | \documentclass{article} |
这种设置方法可以支持zhfont.txt
中的所有字体。
ctex局部设置
1 | \documentclass[UTF8]{article} |
\songti
目前测试只有下面几种可用
1 | {\songti 这段文字是宋体} \\ |
这种不需要设置就可以使用,但是字体有所局限
ctexart字体设置
以上出现的在ctexart
中都适用
1 | \documentclass{ctexart} |
总结
- ctex宏包完美支持各种情况,包括字体的全局设置、局部设置,以及在article/beamer中的使用。实际使用中只要加载ctex宏包,使用xelatex编译就完美了
- ctexart文档类支持article中的各种设置,但是不能在beamer中使用
- xeCJK宏包多数功能都可以使用,只缺少一种局部设置功能
简单模板
英文模板
1 | \documentclass[a4paper,12pt]{article} |
中文模板
1 | \documentclass[a4paper,12pt]{article} |
常用命令
生成标题
1 | % 正文 |
其他命令
1 | \tableofcontents |
Theorem等环境参考这里
文档类型可选article,report,book
,中文则有对应的ctexart,ctexrep,ctexbook
,选择中文的文档类型好处之一在于不同配置图表的中文题注。
下载模板
英文模板
导入一些常用包,然后套用其他模板,或者overleaf上找模板,包括Journal, Homework, Project等。
1 | \usepackage{amsmath,amssymb,amstext} |
中文模板
英文导入的包+中文包,配置中文字体
1 | \usepackage{ctex} |
VScode配置
基于LaTeX Workshop插件,配置如下
1 | { |
latex-workshop.latex.tools
中定义一些工具;latex-workshop.latex.recipes
中组合工具,其中第一条是保存是默认运行的。一般用xelatex运行,因为中文等支持都比较灵活,需要用Bibtex引用文献时手动点击运行第二个recipe。
在tex文件页面,左边栏会有一个TEX栏,recipe命令都是在这里选,其中Snippet Panel可以显示一些常见的符号。
如果是英文文档,可以选择用pdflatex来编译,这样更快,不需要修改配置,只需要在文档开头加一行,保存时会默认用pdflatex编译
1 | %!TEX program = pdflatex |
反向搜索设置:在SumatraPDF中,设置-选项,下方填入
1 | "C:\Program Files\Microsoft VS Code\Code.exe" "C:\Program Files\Microsoft VS Code\resources\app\out\cli.js" -g "%f:%l" |
则双击pdf中文字会定位tex文件中的位置。
快捷键
Ctrl + Alt + C
可以删除多余文件Ctrl + Alt + B
手动build- 当不想保存时自动build,则修改这条配置
latex-workshop.latex.autoBuild.run
- 打开第二个tex文件后,保存时自动build可能就会失效,这时关掉VScode重新打开就会好,或者用上述方法手动build
- 当不想保存时自动build,则修改这条配置
Ctrl + Alt + J
确定光标位置后正向搜索- 等价于点击
"Navigate, select and edit" --> "SyncTex from cursor"
- 等价于点击
其他插件
- Paste Image: 方便地插入剪切板中的图片,支持tex和md文件,也可以设置图片路径