Tex环境, Tex Live
建议完整安装, 可以避免自己再去安装新的包.
- Windows
- 不用说, 傻瓜式安装.
Ubuntu
- 参见: https://stone-zeng.github.io/2018-05-13-install-texlive-ubuntu/
- 可以考虑装到自己指定的目录里, 避免过度占用根分区空间
编辑环境, VSCode
可以选择的编辑环境有很多, 这里我选择VSCode, 因为这样可以避免装太多的软件, 这也是高级文本编辑工具的好处, 插件系统可以提供丰富的功能支持.
主要使用的插件:
LaTeX Workshop, 提供完整的LaTeX编辑支持. 包括编译和预览支持. (VSCode可以使用标签页来预览PDF)
- [可选,一般第一个就够了] LaTeX Snippets, 提供更多的LaTeX代码段支持
主要配置代码:
// ======================== LaTeX 设置 BEGIN ========================
// https://zhuanlan.zhihu.com/p/136931926
// https://github.com/lartpang/myoptions/blob/master/vscode/settings.json#L72
"latex-workshop.bibtex-format.tab": "tab",
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": false,
"latex-workshop.bind.altKeymap.enabled": true,
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.intellisense.unimathsymbols.enabled": true,
"latex-workshop.intellisense.update.aggressive.enabled": true,
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.latexindent.path": "latexindent",
// 这是一些独立的编译选项,可以作为工具被编译方案调用
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOCFILE%"
]
},
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-pdf",
"-synctex=1",
"-file-line-error", // 使报错输出文件和行号
"-halt-on-error", // 使编译遇到错误时立即停止
"-interaction=nonstopmode",
"%DOCFILE%"
],
"env": {}
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "latexmk ",
"tools": [
"latexmk"
]
},
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "pdflatex",
"tools": [
"pdflatex"
]
},
{
"name": "pbpp",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
{
"name": "xbxx",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
}
],
// 清空中间文件
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.bcf",
"*.run.xml",
"*.synctex.gz"
],
"latex-workshop.latexindent.args": [
"-c",
"%DIR%/",
"%TMPFILE%",
"-l=/home/lart/ScriptsLib/SomeConfigFiles/latexindent_cfg.yaml"
],
// ======================== LaTeX 设置 END ========================
每次使用, 可以使用VSCode中, 你未来会最高频次使用的快捷键 CTRL-SHIFT-P
, 输入 recipe
会出现对应的标记为如下所示:
确定后会出现:
这些对应的就是配置文件里设置的那几个 recipe
, 如果有文献引用(即使用 ~~`bibtex` ), 则建议使用后两个~~(直接使用第一个latexmk,更方便). 选定后回车即可编译.
在VSCode左下角会出现对应的进度条, 全部完成后, 即可通过 CTRL-SHIFT-P
输出 pdf
选择预览功能即可在新的标签页进行pdf的预览.
预览主要基于前两个命令, 但是前两个似乎功能一致, 我也没发现差异, 所以直接选择第一个即可.
或者直接使用侧边栏中的预览功能:
(这里展示侧边栏展示的功能,基本在前面使用的快捷键唤出的指令中都有)。
格式化支持, latexindent
LaTeX Workshop本身也支持格式化, 但是太慢了, 有时候会半天没反应.
我建议直接使用下面的工具.
一般完整安装后都会带有一个包: latexindent
. 这个可以对Tex文件进行格式化, 而且你也可以自定义格式化设置. 主要使用的指令是:latexindent -w -l fileBasename
.
为了在VSCode中方便的调用, 我使用的是VSCode的task功能. (其实终端直接调用更方便些)
通过配置任务, 我们编写如下内容:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "LatexFormatter",
"type": "shell",
"command": "latexindent -w -l ${fileBasename}",
"problemMatcher": []
}
]
}
从而我们可以通过 CTRL-SHIFT-P
-> >(输入) task
:
选择弹出来的任务, 执行即可.
错误提示
虽然编译错误总是一大堆, 但是你仔细翻看, 总是会只想你文件中的特定代码块, 比如说表哥代码的最后一个花括号…
这时候就要发挥你的耐心, 仔细想想, 是不是有些符号需要在数学环境中使用, 而你直接在文本中写了等等… 这个就得看经验了…
公式与符号
这里推荐两个方便搜索各种基本符号的地方:
- LaTeX Workshop中侧边栏里提供了符号分类搜索功能:
- 直接到在线latex公式编辑网站https://latex.codecogs.com/eqneditor/editor.php中从符号面板中查看。
其他的一些公式编辑网站:
- https://sailist.github.io/LatexTool/latexEditor.html
[界面做的很好] https://latexlive.com/
表格绘制
几个重要的网站:
[常用] 从csv、excel中的表格数据转换为latex或者其他格式的代码:https://www.tablesgenerator.com/
- [不太常用]
- 非常好的一个网站,支持反向从latex代码中转换为excel表格(csv数据):https://tableconvert.com/