记录下在Win10上安装配置LaTeX的过程。
安装环境与所需工具
安装环境:Win10
所需工具:TeX Live 2024、LaTeX Workshop in VS Code、SumatraPDF(可选);
安装前阅读材料
- 一份其实很短的 LaTeX 入门文档 | 始终
- 如何在1小时内快速入手LaTeX? - 知乎
- 支持LaTeX编辑的不只有TeX Live。
有哪些好的 LaTeX 编辑器? - 知乎
安装配置过程
安装TeX Live2019
20200406记:
TeX Live2019下载链接:texlive2019-20190410.iso 3.31GB
下载好后,右键 install-tl-advanced.bat
选择“以管理员身份运行(A)”,即可弹出安装向导;
了解到TeX Live支持USB便携安装,想着以后便于直接拷贝到其它机器上,就采用了这种特殊安装方式,但不确定这样装完之后配置VS Code方不方便(还好后面没有其它麻烦,只需把TeX Live添加到系统的环境变量中就行了)。
耗时41分钟后,TeX Live2019安装完毕。进入路径D:\OtherProgramFiles\Portable\texlive\2019下,双击
tl-tray-menu.exe
,右键【TeX Live Menu图标(位于任务栏右下角)】选择 Command Prompt ,键入命令tex --version
查看是否安装成功;
由于安装时勾选的是"Portable setup: yes",故还需把路径D:\OtherProgramFiles\Portable\texlive\2019\bin\win32添加到系统的PATH环境变量中,再通过win+R键入cmd命令打开Windows命令行,键入命令tex –version
查看是否成功添加到环境变量中;
安装TeX Live2024
20240715记:
- TeX Live2024下载链接:texlive2024-20240312.iso 5.61GB
wget https://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/texlive2024-20240312.iso
- 下载好后,右键
install-tl-advanced.bat
选择“以管理员身份运行(A)”,即可弹出安装向导; - 为了便于以后直接拷贝到其它机器上,通过设置"Portable setup: 是"选用了USB便携安装选项;
- 为了减少磁盘空间占用,选用Custom scheme来自定义所需安装的语言和包;
在Step4中先点选一次medium scheme,再点选Custom scheme,这样在Step5中就可以基于medium scheme来个性化设置; - 耗时30分钟后,TeX Live2024安装完毕。
- 由于安装时勾选的是"Portable setup: 是",故还需把路径D:\OtherProgramFiles\Portable\texlive\2024\bin\windows添加到系统的PATH环境变量中,并从系统的PATH环境变量中删除此前TeX Live2019版本的路径,再通过win+R键入cmd命令打开Windows命令行,键入命令
tex –version
查看是否成功添加到环境变量中。
TeX Live 版本更新
[Documentation - TeX Live - TeX Users Group] (https://www.tug.org/texlive/doc.html)
Release history of The TeX Live
关于安装TeX Live后的版本更新,建议直接重新安装新版本。
Upgrade - TeX Live - TeX Users Group
关于"Installing/updating packages after installation",
By default, please get the new TL by doing a new installation. You don’t need to remove an existing installation.
Windows
There is no comparable upgrade procedure for Windows. Doing a new installation is necessary.
$Date: 2024/03/13 22:47:17 $; TeX Live;
TeX Live的多个版本可以在同一系统上共存而不会发生冲突。
Quick install - TeX Live - TeX Users Group
Pre-install: download, cleanup
You do not need to remove an installation of a previous release, or any system-provided TeX; multiple releases of TL can coexist on the same system without conflict.
$Date: 2024/03/29 22:32:33 $; TeX Live;
但一次只能有一个版本处于活动状态,因为所有的TeX发行版都是使用搜索路径来查找它们的程序。
Windows - TeX Live - TeX Users Group
Multiple TeX distributions
Only one TeX distribution can be active at a time, because all the TeX distributions use the search path to find their programs. This means that to switch from one TeX to another, e.g., between TeX Live and MiKTeX if you have both installed, you must (at least) change the search path.
However, the individual shortcuts – including a command prompt – have a modified searchpath with TeX Live in front, so as long as you use TeX Live via the menu, you should be fine.
$Date: 2024/02/29 09:36:59 $; TeX Live;
单个package的安装与更新
初始安装时由于是自定义选择安装了部分的包,后续当需要安装更多的包或者需要更新包时,会用到 tlmgr
包管理器。进入路径D:\OtherProgramFiles\Portable\texlive\2024下,双击 tl-tray-menu.exe
,右键【TeX Live Menu图标(位于任务栏右下角)】选择"Package Manager",便可打开包管理器窗口"TeX Live Shell"。
[tlmgr - TeX Live - TeX Users Group] (https://www.tug.org/texlive/tlmgr.html)
The TeX Live Guide—2024 | 5 tlmgr: Managing your installation
TeX Live包含一个名为tlmgr
的程序,用于在初始安装后管理TeX Live。它的功能包括:
- 安装、更新、备份、恢复和卸载单个包,(可选地)考虑依赖关系;
- 搜索并列出包及其描述;
- 列出、添加和删除平台;
- 更改安装选项,如纸张大小和源位置(参见3.3.1节)。
tlmgr
的功能完全包含了texconfig
程序。我们仍然分发和维护texconfig
,因为任何人都习惯了它的接口,但我们现在推荐使用tlmgr
。
遇到的问题及解决方案:
右键【TeX Live Menu图标(位于任务栏右下角)】选择"Package Manager"打开包管理器窗口时,如果出现以下窗口提示:
“D:/OtherProgramFiles/Portable/texlive/2024 is not writable. You can probably not do much. Are you sure you want to continue?”。
这是因为权限不够,需要退出TeX Live,右键 tl-tray-menu.exe
选择“以管理员身份运行(A)”。
20240716谷歌检索"texlive is not writable. You can probably not do much.",
Using rmarkdown with TeX Live 2019: the directory /usr/local/texlive/2019/tlpkg/ is not writable. - Publishing Your Results - Posit Community 20200408
“You don’t have permission to change the installation in any way,
specifically, the directory /usr/local/texlive/2019/tlpkg/ is not writable.
Please run this program as administrator.”
遇到的问题及解决方案:
在安装新的包时,如果发觉点选该包后右键没有出现"安装"选项,或者右侧"Install marked"按钮有阴影是不可用的(marked是指打了对勾标记的),这是需要先Update tlmgr来更新包管理器"TeX Live Shell"。
![](https://i-blog.csdnimg.cn/blog_migrate/b720ec4e3024336b922bd75dcf6abaf7.jpeg#pic_center)
在TeX Live中使用LaTeX
安装好TeX Live后,其实就可以使用LaTeX了,因为TeX Live 自带了编辑器 TeXworks 。进入路径D:\OtherProgramFiles\Portable\texlive\2024下,双击 tl-tray-menu.exe
,右键【TeX Live Menu图标(位于任务栏右下角)】选择 Editor ,在 TeXworks 编辑框中输入LaTeX内容,保存后点击左上方的绿色三角形按钮(快捷键Ctrl+T)便可进行编译排版。编译方式:英文常用 pdfLaTeX ,中文常用 XeLaTeX 编译。
Hello, world! 测试
\documentclass[utf8]{ctexart}
\begin{document}
你好,世界!
Hello, world!
Press ctrl+b to complie, press ctrl+alt+v to view pdf.
\end{document}
TeX Live 内置阅览器的正向搜索和反向搜索
注:每次打开文件后,需要重新编译排版.tex文件by点击左上方的绿色三角形按钮(快捷键Ctrl+T),才能执行正向搜索和反向搜索。
遇到的问题及解决方案
遇到的问题及解决方案: 参考文献和图表公式引用编号显示为问号。
执行第一次XeLaTeX排版后,控制台输出"Errors, warnings, badboxes"报告以下信息,在生成的pdf文件中,对参考文献的引用显示的是"?“,对图、表、公式、章节编号的交叉引用显示的是”??"。
对于此问题,再执行一次BibTeX排版以及两次XeLaTeX排版后,控制台输出"Errors, warnings, badboxes"所报告的就只有倒数第一、二条信息了,在生成的pdf文件中,对参考文献的引用以及对图、表、公式、章节编号的交叉引用均能正常显示。
// 20231205 elsarticle
main.tex Package hyperref Warning: Rerun to get /PageLabels entry.
main.tex 226 Package natbib Warning: Citation `li2021modeling' on page 1 undefined on input line 226.
main.tex 325 LaTeX Warning: Reference `fig_gru' on page 4 undefined on input line 325.
main.tex 340 LaTeX Warning: Reference `tbl_netcfg' on page 8 undefined on input line 412.
main.tex 412 LaTeX Warning: Reference `eq1' on page 6 undefined on input line 340.
main.tex 682 LaTeX Warning: Reference `s4.3' on page 16 undefined on input line 682.
main.tex Package natbib Warning: There were undefined citations.
main.aux Package natbib Warning: Citation(s) may have changed. Rerun to get citations correct.
main.tex LaTeX Warning: There were undefined references.
main.tex LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
main.tex Package rerunfilecheck Warning: File `main.out' has changed. Rerun to get outlines right or use package `bookmark'.
main.tex Package rerunfilecheck Warning: File `main.brf' has changed. Rerun to get bibliographical references right.
main.tex Overfull \hbox (2.22pt too wide) has occurred while \output is active
在VS Code中使用LaTeX
安装配置LaTeX Workshop插件时的参考资料
在VS Code中安装LaTeX Workshop插件。
- *****VScode 配置为 LaTeX 编辑器(IDE) - hzworld 20191103
- ***使用VSCode编写LaTeX 20180617
- **论文写作利器 LaTex 系列之推荐套装 20190506
- ***基于Visual Studio Code的 LaTeX环境配置及使用示例(超详细) 20200217
了解VS Code的工作区设置
用户设置和工作区设置(User Settings and Workspace Settings)
VS Code. How to open JSON settings with defaults - Stack Overflow
编辑setting.json文件001
Visual Studio Code User and Workspace Settings
编辑setting.json文件002
在./vscode/settings.json中配置LaTeX编译方式
Workspace settings override user settings,因此选择编辑VS Code的工作区设置。
LaTeX Workshop将编译LaTeX文件时顺序执行的一系列/组命令称为LaTeX食谱(recipes),由latex-workshop.latex.recipes
参数所定义。
按键“Ctrl+Shift+P”–> 键入>Preferences: Open Settings
,打开./vscode/settings.json
文件编辑工作区设置Workspace Settings
,所作的修改主要是通过 Redefine LaTeX compiling recipes 和 Redefine LaTeX compiling tools to be used in recipes 添加了xelatex编译方式及包含.bib时的编译方式。
// 搜索设置:latex-workshop.latex.recipes
// Redefine LaTeX compiling recipes.
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "pdflatex",
"tools": [
"pdflatex"
]
},
{
"name": "xelatex ➞ bibtex ➞ xelatex × 2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "latexmk 🔃",
"tools": [
"latexmk"
]
},
{
"name": "pdflatex ➞ bibtex ➞ pdflatex × 2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
{
"name": "Compile Rnw files",
"tools": [
"rnw2pdf"
]
}
],
// Redefine LaTeX compiling tools to be used in recipes.
"latex-workshop.latex.tools":[
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {}
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
],
"env": {}
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
],
"env": {}
},
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
// 将 %DOC% 替换成 %DOCFILE% 就可以支持编译中文路径下的文件了
],
"env": {}
},
{
"name": "rnw2pdf",
"command": "Rscript",
"args": [
"-e",
"knitr::knit2pdf('%DOCFILE%')"
],
"env": {}
}
],
安装SumatraPDF作为外置阅览器
安装的是Portable version: SumatraPDF-3.2.zip (a single executable that can be run e.g. from USB drive and doesn’t write to registry)。
在./vscode/settings.json中配置pdf阅览器
Workspace settings override user settings,因此选择编辑VS Code的工作区设置。
按键“Ctrl+Shift+P”–> 键入>Preferences: Open Settings
,打开./vscode/settings.json
文件编辑工作区设置Workspace Settings
,所作的修改主要是配置LaTeX Workshop的pdf文件外置阅览器,以及实现LaTeX源文件(.tex)与SumatraPDF中pdf文件的正反向搜索。
// 搜索设置:latex-workshop.view.pdf.external.synctex
// The default PDF viewer.
// - none: Undetermined viewer. A viewer selector will pop up upon viewing PDF.
// - browser: Open PDF with the default web browser.
// - tab: Open PDF with the built-in tab viewer.
// - external: [Experimental] Open PDF with the external viewer set in "View > Pdf > External: command".
// 设置pdf文件的阅览方式
// "latex-workshop.view.pdf.viewer":"tab",
"latex-workshop.view.pdf.viewer":"external",
// "latex-workshop.view.pdf.ref.viewer":"external",
// 设置pdf文件外置阅览器
"latex-workshop.view.pdf.external.viewer.command": "D:/OtherProgramFiles/Mytools/SumatraPDF-3.2-32.exe",
"latex-workshop.view.pdf.external.viewer.args": [
"%PDF%"
],
// 配置Syntex的正向搜索(这是官网的),LaTeX->SumatraPDF
"latex-workshop.view.pdf.external.synctex.command": "D:/OtherProgramFiles/Mytools/SumatraPDF-3.2-32.exe",
"latex-workshop.view.pdf.external.synctex.args": [
"-forward-search",
"%TEX%",
"%LINE%",
"-reuse-instance",
"-inverse-search",
// "D:/Program Files/Microsoft/Microsoft VS Code/Code.exe D:/Program Files/Microsoft/Microsoft VS Code/resources/app/out/cli.js -r -g %f:%l",
"code \"D:\\Program Files\\Microsoft\\Microsoft VS Code\\resources\\app\\out\\cli.js\" -r -g \"%f:%l\"",
"%PDF%"
],
// 在SumatraPDF中配置反向搜索(SumatraPDF->LaTeX):打开SumatraPDF,进入设置->选项 对话框,在“设置反向搜索命令行”处填入如下内容(是一行内容,不是2行!):
// "D:\Program Files\Microsoft\Microsoft VS Code\Code.exe" "D:\Program Files\Microsoft\Microsoft VS Code\resources\app\out\cli.js" -r -g "%f:%l"
外置阅览器的正向搜索和反向搜索
正向搜索的使用:前提是设置了 "latex-workshop.view.pdf.viewer": "external",
。在TeX文件中光标定位后,Ctrl+Alt+X
切换到 LaTeX 面板,找到 “Navigate, select, and edit” ,点击第一项 “SyncTeX from cursor” (或者 在 TeX 文件中右键选择 “SyncTeX from cursor” 或 快捷键 Ctrl+Alt+J
),可以跳转到PDF文件的相应位置。
反向搜索的使用:前提是在VS Code中配置了正向搜索且在SumatraPDF中设置了反向搜索命令行。打开一个已经编译的TeX文件,Ctrl+Alt+V
打开 PDF 文件;在 PDF 文件中的某行文字处,双击鼠标左键,可以跳转到TeX文件中的相应位置。如果点击的是公式、图表等,可能不会正确返回。
![](https://i-blog.csdnimg.cn/blog_migrate/8bf8b3b325aef8756078827ec892b718.jpeg#pic_center)
![](https://i-blog.csdnimg.cn/blog_migrate/9c4e85fd4529108c51b5ecbb8a42b94c.jpeg#pic_center)
内置阅览器的正向搜索和反向搜索
正向搜索的使用:前提是设置了 "latex-workshop.view.pdf.viewer": "tab",
。在TeX文件中光标定位后,按下快捷键Ctrl+Alt+J
,也能定位到PDF文档相应位置。
反向搜索的使用:待补充。
![](https://i-blog.csdnimg.cn/blog_migrate/5e2761334800ac0025041d3a4d1e91d9.jpeg#pic_center)
- VScode如何实时预览LaTeX? - 摩金的回答 - 知乎 20190407
评论区有提到自动编译的设置:在设置中搜索autobuild,找到LaTeX Workshop插件中的设置项auto build:run,选择onSave,可以看看这张图:https://i.bmp.ovh/imgs/2022/03/5c188774f49163f1.png。
LaTeX Workshop插件的快捷键
功能 | 快捷键 |
---|---|
打开键盘快捷方式面板 | 点击左下侧齿轮 或 使用快捷键 Ctrl+K,Ctrl+S |
视图:显示LaTeX面板 (View: Show LaTeX) | Ctrl+Alt+X 或 Ctrl+L, Alt+X |
编译LaTeX项目 LaTeX Workshop: Build LaTeX project | Ctrl+Alt+B 或 Ctrl+L, Alt+B |
用某某食谱编译LaTeX项目 LaTeX Workshop: Build with recipe | 可自定义 |
清理辅助文件 LaTeX Workshop: Clean up auxiliary files | Ctrl+Alt+C 或 Ctrl+L, Alt+C |
正向搜索 LaTeX Workshop: SyncTeX from cursor | Ctrl+Alt+J 或 Ctrl+L, Alt+J |
预览生成的PDF文件 LaTeX Workshop: View LaTeX PDF file | Ctrl+Alt+V 或 Ctrl+L, Alt+V |
在Overleaf中使用LaTeX
LaTeX写算法流程
- *** Algorithms - Overleaf, Online LaTeX Editor
- *** 基于LaTeX的伪代码书写 - 邢存远的博客 | Welt Xing’s Blog 20220117
- xxx
- LaTeX各种算法排版例子_Monte0539的博客-CSDN博客 20220121
- LaTeX:算法模板 - 凯鲁嘎吉 - 博客园 20200720
- Latex使用:在latex中添加算法模块 - Fight boy - 博客园 20170526
- xxx
- algorithms - How can I typeset function names as they appear in algorithmic environments? - TeX - LaTeX Stack Exchange 20140929
20210617记:
使用LaTeX写算法流程暂未解决的问题:
- 带上INPUT和FUNCTION怎么弄;
- function func_xxx(args)前面不标明行号怎么弄;
参考过的LaTeX写算法流程的代码
- ATSS: 1912.02424v4
- Confluence: 2012.00257
LaTeX 公式编辑记录
零碎的
- Markdown数学公式
- 在线LaTeX公式编辑器-编辑器
- latex数学公式编辑——代码大全(图片)_exp(-2Πt^2)的博客-CSDN博客 20201123
\exp(x)
: exp ( x ) \exp(x) exp(x) is not an alternative toe^{x}
: e x e^{x} ex in LaTeX, exp ( x ) \exp(x) exp(x) is an alternative to e x e^{x} ex in maths and physics etc.
为什么exp(x)在Latex中不起作用? - Why does the exp(x) not work in Latex? - 开发者知识库- xxx
LaTeX 求和符号上(下)标放在正上(下)方
- 放在右上角的时候
\sum^n
: ∑ n \sum^n ∑n - 放在正上方的时候
\sum\limits^n
: ∑ n \sum\limits^n ∑n - xxx
- 放在右下角的时候
\sum_{k=1}
: ∑ k = 1 \sum_{k=1} ∑k=1 - 放在正下方的时候
\sum\limits_{k=1}
: ∑ k = 1 \sum\limits_{k=1} k=1∑
LaTeX arg 优化参数下标 argmax 和 argmin
-
在 LaTeX 环境中的 argmin argmax 上下标
上标\mathop{\arg\min}\^{param}
: arg min p a r a m \mathop{\arg\min}\limits^{param} argminparam
下标\mathop{\arg\max}\_{param}
: arg max p a r a m \mathop{\arg\max}\limits_{param} paramargmax -
在 CSDN 等使用 KaTex 网页环境编辑器中
有时需要加上\limits
符号来使用上下标, 例如:
\mathop{\arg\min}\limits_{\theta} L(\theta)
: arg min θ L ( θ ) \mathop{\arg\min}\limits_{\theta} L(\theta) θargminL(θ)
LaTeX 加粗
在LaTeX中,加粗文本可以使用\textbf{}
命令。如果你使用的是数学模式,可以使用\mathbf{}
命令来加粗字母和数字。对于数学模式中的加粗,还可以使用\boldsymbol{}
命令,它会更加适应数学字体。请注意,\mathbf{}
通常只对字母和数字有效,对于更复杂的数学表达式可能不会产生预期的效果;而\boldsymbol{}
需要 amsmath 宏包。
待补充
待补充