一、入门
1. 语法
参考一份不太简短的 LATEX 2ε 介绍可以解决99%的问题。
2. 安装与简单配置
按照知乎:使用VSCode编写LaTeX安装texlive与vscode插件,并配置相关的设置。
3. 配置相互跳转
在VSCode中编写LaTeX并进行PDF和TeX文本之间的相互同步跳转,一般需要用到LaTeX Workshop这样的扩展。以下是设置步骤(ChatGPT提供):
-
开启正向和反向搜索:
- 正向搜索(从.tex跳到.pdf)和反向搜索(从.pdf跳到.tex)通常是默认启用的。
- 确保在LaTeX Workshop的设置中启用了这两个功能。
- 这些设置可以在用户设置中的
LaTeX-workshop.view.pdf.viewer中找到,确保它设置为"tab"或者"external"。
-
配置设置:
- 打开设置(
Ctrl+,)。 - 搜索
latex workshop。 - 检查“Synctex after build”选项是否启用。
- 打开设置(
-
使用正向和反向搜索:
- 对于正向搜索,你可以在.tex文件中右键点击然后选择“SyncTeX from cursor”,或者使用快捷键(通常是
Ctrl+Alt+J)。 - 对于反向搜索,在PDF阅读器中(如果你使用的是内置的PDF查看器),通常是
Ctrl+ 左键点击你想要跳转的地方。
- 对于正向搜索,你可以在.tex文件中右键点击然后选择“SyncTeX from cursor”,或者使用快捷键(通常是
二、交大论文模板
GitHub:SJTUThesis 示例模板,新版2.0的模板对学士学位论文的支持有很大的问题,不要下载markdown里的内容,回退到1.1.1的release,https://github.com/sjtug/SJTUThesis/releases。
1. VSCode编译
知乎里面设置的配置,xelatex之类的都没法正常的编译交大模板,翻它的wiki,在工作区的 .vscode/settings.json 添加下面的配置(我把DOC改成了DOCFILE)。
{
"latex-workshop.latex.recipes": [
{
"name": "latexmk-sjtuthesis",
"tools": [
"latexmk"
]
}
],
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-xelatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-halt-on-error",
"-time",
"%DOCFILE%"
]
}
],
}
2. 编译脚本
在 Windows 上双击 Compile.bat 即可完成编译过程,生成 thesis.pdf。在命令行里还可以使用其他的命令:
./Compile.bat thesis
./Compile.bat clean
./Compile.bat cleanall
./Compile.bat wordcount # 论文字数统计
3. 其他技巧
3.1. 将摘要/Abstract/缩略语/符号对照表插入目录页。
可在相应*/tex文件中插入
\addcontentsline{toc}{chapter}{摘 \quad 要} %chapter可换成section/subsection等
通过此功能可插入不同的未显示编号的页面。
3.2. 将插图索引/表格索引插入目录页。
将\listoffigures去除,使用下列语句。
% 插图索引
\listoffigures
% 表格索引
\listoftables
3.3.超链接的外框去除。
在setup.tex文件中找到\usepackage{hyperref}改成以下字段
\usepackage[colorlinks=true,linkcolor=black,citecolor=black]{hyperref}
% 方括号内的即为去除相关外框的方式
3.4.参考文献格式引用
setup.tex中找到biblatex的引用,根据需要修改各类信息。
\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=familyahead,gbpub=false,doi=false,eprint=false,gbalign=center,url=false]{biblatex}
3.5 子图引用带括号
子图引用格式:使 \subref 输出 (a)/(b)(而不是 a/b),从而得到“图 3.1(a)”
\captionsetup[sub]{subrefformat=parens}