从Overleaf迁移到本地:VSCode+TeXLive高效LaTeX环境配置指南
从 Overleaf 迁移到本地我一开始是抗拒的。虽然 Overleaf 在多人协作和快速验证模板上确实方便但用到后来高峰期编译排队、免费版编译时长的隐性限制、以及论文手稿放在云端的不安全感让我越来越想找一条更可控的路。尤其是在写几十页的大文档、或者带大量 TikZ 图表的书籍时Overleaf 那个转圈真的让人崩溃。后来我下决心把环境换成 VSCode TeXLive配置完实测下来编译速度比在线快出几个量级日常写作的体验也完全碾压——这篇文章就把我在这套环境上踩过的坑、验证过的配置完整地梳理一遍。这套方案的核心组合是VSCode 作为编辑器TeXLive 作为 LaTeX 发行版LaTeX Workshop 插件作为编译和预览的桥梁。覆盖 Windows 和 macOS 双平台全文我会把两个平台各自的安装差异、路径问题和工具链选型都讲清楚。Lets开始吧。1. 这套本地 LaTeX 工作流的核心思路与选型逻辑在动手安装之前先把为什么这么选型讲明白这样你遇到问题时才知道问题出在哪一环。1.1 本地环境比 Overleaf 强在哪很多人觉得 Overleaf 零配置、即开即用没必要折腾本地环境。这话对短文档、多人协作、或者临时改个模板场景下成立但对认真写论文、写书、写技术文档的人来说本地编译的优势是不可替代的。第一是编译速度。Overleaf 的免费版所有文档共享编译队列高峰期你点一下 Recompile经常要等十几秒甚至几十秒。本地环境在主流配置的电脑上一篇 10 页左右的论文 PDF 编译时间基本在 3 秒以内就算是很长的 book 类文档XeLaTeX 编译也就是十几秒的事。开发讲究反馈循环写作其实也一样——编译越慢你越不愿意频繁改、频繁看效果写作体验会明显变差。第二是隐私和可控性。论文在正式发表前都是有保密需求的放在别人的服务器上哪怕没有恶意风险心理上也不太踏实。本地编译意味着源文件、编译中间产物、PDF 全部在自己的磁盘上你完全掌控数据流向。第三是没有功能墙。Overleaf 的高级功能比如 Git 集成、更多编译时长、References 搜索增强都要订阅付费。而本地环境里这些全部免费还有更多可玩的高级姿势——自定义编译器、预处理脚本、自定义 latexmkrc、和 Git / 同步盘深度配合全都放开。1.2 为什么是 TeXLive 而不是 MiKTeX 或 MacTeXWindows 上大家最常说的两个发行版是 TeXLive 和 MiKTeX。我最终选定 TeXLive原因很直接跨平台统一。TeXLive 在 Windows、macOS、Linux 上包管理器和行为完全一致。我经常在 Windows 和 macOS 之间切换写文档用同一套 TeXLive 就不会出现“Windows 上正常、macOS 上缺包”这种闹心问题。包完整性好。TeXLive 默认安装的包非常全绝大多数期刊模板和宏包开箱即用你不需要去手动逐一下载宏包。官方维护稳定。TeXLive 的发布是每年一次的滚动更新模型tlmgr 也可以单独升级宏包长期用下来非常省心。macOS 上大家常用的 MacTeX 其实是 TeXLive 的 macOS 定制发行版多了 MacTeX 的额外工具和一些 GUI 软件比如 TeXLive Utility。它的核心还是 TeXLive。我会在 macOS 安装部分给出比“直接装 MacTeX.pkg”更灵活的 TeXLive 官方安装脚本方式因为很多人的痛点是 MacTeX 那个安装包体积大、且不好定制组件组合。如果你不想折腾装 MacTeX.pkg 也能用我后面会说明两者差别。1.3 为什么是 VSCode 而不是 TeXstudio 或 TexifierLaTeX 编辑器有很多TeXstudio、WinEdt、Texmaker、Texifier原 Texpad都是成熟方案。但我个人强烈推荐 VSCode原因有几个VSCode 的本质是一个通用代码编辑器它的 LaTeX 体验是靠 LaTeX Workshop 插件实现的。这带来一个巨大的好处——你只需要学一个编辑器就能同时编辑 Python、C、Markdown、LaTeX。很多科研工作者其实都同时写代码和论文VSCode 的统一体验比单独的 LaTeX IDE 好很多。另一方面VSCode 的生态非常丰富。LaTeX Workshop 提供了编译链管理、正向/反向搜索、自动补全、引用补全、代码格式化、清理临时文件等功能能覆盖日常 90% 的需求。配合 Git 插件、Lint 插件整套写作流程都可以在一个软件里完成不需要反复切换窗口。如果你是从 TeXstudio 迁移过来的用户你可能会问“TeXstudio 自带的数学符号面板很好用VSCode 怎么办” 这个确实需要适应。VSCode 的方案是用 LaTeX Workshop 的 snippet 自动补全比如输入\frac会自动帮你补全成\frac{}{}并且光标定位到第一个空参数。对常用符号来说这个体验其实是更高效的只是你一开始需要一点点学习成本来记住常用 snippet 的触发方式。平台差异在这里也要提一句Windows 上我更推荐 SumatraPDF 作为 PDF 查看器macOS 上则是 Skim。这两个工具都支持 SyncTeX 正反向搜索也就是你在 VSCode 里 Ctrl点击或 Cmd点击可以跳到 PDF 对应位置在 PDF 里双击也能跳回代码。这是 Overleaf 做不到的本地体验对长文档编辑来说效率提升非常明显。2. TeXLive 安装全流程Windows 和 macOS 各自怎么装安装 TeXLive 是整个配置中最耗时的一步因为发行包体积有好几个 GB。我这里给出双平台可落地的完整步骤顺便把容易踩的坑都标出来。2.1 Windows 安装 TeXLive 的完整步骤在 Windows 上安装 TeXLive 的官方推荐方式是使用安装引导器 install-tl-windows.exe。虽然官方也可以让你从镜像站下载 ISO 完整镜像但对大多数人来说直接跑安装器联网安装更方便。第一步访问 TeXLive 官网的“download”页面找到 install-tl-windows.exe 下载链接。注意官网托管的服务器可能比较慢国内用户建议直接用镜像站的同名文件。操作方法是找一个国内镜像站比如清华、中科大镜像进入CTAN/systems/texlive/tlnet/目录下载其中的 install-tl-windows.exe。第二步在本地双击运行 install-tl-windows.exe。启动后你会看到 GUI 界面tlink 界面。界面默认是全量安装方案(scheme-full)也就是安装所有宏包和工具。我有一个实际建议除非你硬盘非常宽裕并且不想以后折腾缺包否则直接全量安装不要选 scheme-small 或 scheme-basic。全量安装虽然占用约 7~8GB 硬盘空间但它能让你避免后续大量“宏包找不到”的问题。LaTeX 的宏包之间依赖关系复杂手动补包的成本远高于一次多占几个 GB。注意安装器底部有一个“Advanced”按钮点开后可以设置安装路径。这里要特别注意一个坑安装路径不要放在带中文或空格的目录。默认路径C:\texlive\2025就是安全的。我见过有人把 TeXLive 装到D:\软件\texlive\下面结果编译某些包时出现奇怪的路径解析问题。第三步点击 Install 开始安装。安装时间取决于网速和电脑性能网速正常的情况下约 20~40 分钟。装完之后安装器会提示你完成。此时 TeXLive 会自动把C:\texlive\2025\bin\windows加入系统 PATH你不需要手动改环境变量。但要注意新打开的命令行窗口才会读到新的 PATH如果你之前开着终端需要重开。第四步验证安装。按 WinR 输入cmd打开命令行执行latex --version如果能正常输出版本信息就说明安装成功。另外执行xelatex --version也确认一下因为后面我们会用 XeLaTeX 作为主要编译引擎尤其是处理中文时。2.2 macOS 安装 TeXLive 的完整步骤macOS 上的安装路径有两条路径一直接下载 MacTeX.pkg双击安装。这是最简单的方案适合不喜欢折腾的用户。MacTeX 基于 TeXLive额外包含了一些 macOS 专用的 GUI 工具比如 TeXLive Utility默认会安装到/usr/local/texlive/2025/下并且已经配好 PATH装上就能用。缺点是安装包巨大约 5GB且 GUI 工具其实你后来多半不会打开。路径二用官方 install-tl-unx 脚本手动定制安装 TeXLive。这个方案更灵活也能避免 MacTeX 自带的一些 GUI 工具。我在这篇文章里展开讲这个方案因为它同时适用于 Linux学会之后一劳永逸。具体操作从镜像站下载install-tl-unx.tar.gz。比如清华镜像的CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz。mkdir -p ~/texlive-install cd ~/texlive-install curl -o install-tl-unx.tar.gz https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz tar -xzf install-tl-unx.tar.gz cd install-tl-*然后执行安装命令。sudo perl ./install-tl --no-interaction这里我用sudo是因为 TeXLive 默认会装到/usr/local/texlive/这种系统级路径。如果你不希望用 sudo也可以在安装器提示时指定安装到用户目录比如--prefix$HOME/texlive但这样后续 PATH 要自己配我不推荐新手这么玩。建议直接默认路径 sudo。大前提macOS 默认没有 Perl 环境但系统是自带 Perl 的/usr/bin/perl所以sudo perl install-tl可以直接执行不用担心no Perl这个问题。安装完成后在 macOS 上还需要把 TeXLive 的二进制目录加入 PATH。如果你是通过 MacTeX 安装的这一步已经自动配好了。如果你是用 install-tl-unx 脚本方式安装的需要手动加。echo export PATH/usr/local/texlive/2025/bin/universal-darwin:$PATH ~/.zshrc source ~/.zshrc注意 macOS 从 Catalina 开始默认 shell 是 zsh所以改~/.zshrc。如果你还在用 bash则改~/.bash_profile。2025 版 TeXLive 在 Apple SiliconM 系列芯片和 Intel Mac 上对应的二进制目录都是universal-darwin因为 TeXLive 用的是通用二进制。验证安装latex --version xelatex --version2.3 安装后立刻要做的三件事这里分享三个安装后立刻要做的事情能省掉后面大量麻烦。第一件更新 tlmgr 仓库到镜像站。默认 tlmgr 走的是 CTAN 官方仓库在国内容易超时。改镜像源之后后面安装新宏包会快很多。Windows 和 macOS 都可以用下面的命令tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/ tlmgr update --self第二件立即更新宏包库。TeXLive 的年度发布版本是年初定下来的之后官方会不断修补宏包的 bug。所以安装完一定要跑一次tlmgr update --all把宏包更新到当前最新状态。这一步可能需要一定时间但很重要——很多“编译报错”其实是旧版宏包导致的。第三件创建一个最小测试文档确认整条编译链是通的。新建一个test.tex文件内容就写最简单的一行\documentclass{article} \begin{document} Hello, TeXLive! \end{document}然后在 test.tex 所在目录执行xelatex test.tex。如果成功生成 test.pdf说明发行版本体已经没问题了。这一步和后续的 VSCode 配置分开验证能帮你把“发行版的问题”和“编辑器配置的问题”隔离开排查起来更清晰。3. VSCode 与 LaTeX Workshop核心配置详解装好 TeXLive 之后剩下的就是让 VSCode 变成一个顺手的高级 LaTeX 编辑器。这里涉及选装插件、settings.json 配置和双向搜索三个部分。3.1 安装 VSCode 与必要插件VSCode 官网直接下载安装包即可。Windows 和 macOS 的安装过程都很简单这里不展开。装好后在扩展商店里搜 “LaTeX Workshop”安装由 James Yu 维护的版本。这是 VSCode 上最强大的 LaTeX 插件不需要装其他 LaTeX 插件。我还建议装这几个插件配合使用Code Spell Checker英文写作时自动检查拼写错误对论文党来说是刚需。LTeX语言语法检查支持 LaTeX 文件能够检查句子结构问题。不过它需要安装 Java 运行时懒人可以跳过。GitLens如果配合 Git 管理论文版本这个插件能直观显示每一行的提交时间和修改人。vscode-pdf或直接在 VSCode 中预览 PDF 的插件LaTeX Workshop 自带的 PDF 预览功能其实已经够用但偶尔需要看多页时内置预览也出色。注意不要装多个功能重复的插件比如一些旧的 LaTeX 辅助插件——它们可能会和 LaTeX Workshop 抢快捷键反而增加混乱。3.2 核心 settings.json 配置解析LaTeX Workshop 不默认开箱即用它需要你在 VSCode 的settings.json里配置一些关键项。我直接给出我验证过的最简配置然后逐行解释每项是干什么的。按CtrlShiftPmacOS 是CmdShiftP输入 “Open User Settings (JSON)”打开 settings.json然后加入以下内容{ latex-workshop.latex.recipes: [ { name: latexmk (xelatex), tools: [latexmk] }, { name: pdflatex - bibtex - pdflatex * 2, tools: [pdflatex, bibtex, pdflatex, pdflatex] } ], latex-workshop.latex.tools: [ { name: latexmk, command: latexmk, args: [ -xelatex, -synctex1, -interactionnonstopmode, -file-line-error, %DOC% ], env: {} }, { name: pdflatex, command: pdflatex, args: [ -synctex1, -interactionnonstopmode, -file-line-error, %DOC% ], env: {} }, { name: bibtex, command: bibtex, args: [%DOCFILE%], env: {} } ], latex-workshop.latex.autoBuild.run: onSave, latex-workshop.latex.autoClean.run: onBuilt, latex-workshop.view.pdf.viewer: tab, latex-workshop.synctex.afterBuild.enabled: true }这段配置的作用我拆开讲一下。recipes是编译方案列表。它定义了你按 CtrlAltBmacOS 是 CmdAltB时可以选择的编译流程。第一个 recipe 叫latexmk (xelatex)意思是直接调用 latexmk 工具并让 latexmk 内部使用 xelatex 引擎——这是处理中文文档最稳妥的方案。第二个 recipe 是给需要 BibTeX 文献管理的论文准备的四步流程先跑 pdflatex再跑 bibtex 处理参考文献再跑两遍 pdflatex 解决引用编号。如果你的文档用 BibTeX 管理引文务必保留这个 recipe。tools是每条编译命令的具体定义。其中%DOC%是 LaTeX Workshop 提供的魔法变量指代当前编辑的文件名带 .tex 后缀%DOCFILE%是当前文件名不带后缀。-synctex1的含义是生成 SyncTeX 数据文件这是正反向搜索的基础没有它你无法从 PDF 跳回代码。-interactionnonstopmode的意思是遇到编译错误不中断而是把所有错误信息输出到日志里方便你统一查看。autoBuild.run设为onSave表示每次保存文件时就自动触发编译。这一步是提升写作效率的关键。保存即编译、编译完自动切到 PDF 预览页——这套“保存→预览”的闭环几乎可以让写作变成实时预览。autoClean.run设为onBuilt意思是在编译完成后自动清理生成的 .aux、.log、.out 等中间文件。LaTeX 编译会产生大量中间文件不清理的话你的目录会变得很乱。建议保留这个选项。唯一要注意的是如果启用了 bibtex 类型的 recipe清理时机需要谨慎——但 LaTeX Workshop 的清理机制足够智能只会删除编译过程中产生的可重建文件不会误删源文件。synctex.afterBuild.enabled设为true效果是每次编译结束后自动把 PDF 视图定位到当前编辑的源文件位置。这个功能对长文档非常友好你可以边写边看到对应页面的效果。3.3 Windows 和 macOS 的同步 PDF 查看器设置默认情况下 LaTeX Workshop 会用 VSCode 自带的 PDF 预览 Tab 来显示 PDF。如果你只是想快速看效果这个内部预览完全够用。但它有两个不足一是没有独立的 PDF 窗口有时候写代码需要对照着看屏幕不够用二是标注和选择文本不方便。我建议 Windows 用户安装SumatraPDFmacOS 用户安装Skim并把它们配成 LaTeX Workshop 的外部查看器。SumatraPDF 是一个非常轻量、启动极快的 PDF 阅读器在 Windows 上简直是 LaTeX 的最佳伴侣。安装后在 settings.json 里加latex-workshop.view.pdf.viewer: external, latex-workshop.view.pdf.external.viewer.command: C:/Users/你的用户名/AppData/Local/SumatraPDF/SumatraPDF.exe, latex-workshop.view.pdf.external.synctex.command: C:/Users/你的用户名/AppData/Local/SumatraPDF/SumatraPDF.exe, latex-workshop.view.pdf.external.synctex.args: [ -forward-search, %TEX%, %LINE%, %PDF% ]注意路径里的反斜杠要写成正斜杠这是 JSON 的要求。另外路径不要有中文和空格。macOS 用户安装 Skim 后在 settings.json 里加latex-workshop.view.pdf.viewer: external, latex-workshop.view.pdf.external.viewer.command: /Applications/Skim.app/Contents/SharedSupport/displayline, latex-workshop.view.pdf.external.viewer.args: [ -r, %LINE%, %PDF%, %TEX% ], latex-workshop.view.pdf.external.synctex.command: /Applications/Skim.app/Contents/SharedSupport/displayline, latex-workshop.view.pdf.external.synctex.args: [ -r, %LINE%, %PDF%, %TEX% ]配置完成后按CtrlAltJmacOS 为CmdAltJ即可正向搜索从代码跳到 PDF 对应位置。反向搜索则在 SumatraPDF/Skim 里双击 PDF 文本VSCode 会自动跳转到对应源文件行。这个来回切换的效率是真的香写长文档时我不需要再手动去滚 PDF。4. 双平台差异化处理与写作工作流补充同一套配置在 Windows 和 macOS 上仍然有两个容易忽略的差异点。这里单独交代清楚顺带讲一些写作工作流的补充。4.1 Windows 用户名是中文怎么办这是 Windows 用户最常见也最头疼的问题。如果你的系统用户名是中文比如C:\Users\张三那么 TeXLive 安装或后续编译时可能出现各种奇怪问题比如某些宏包报路径找不到、某些工具不能正常调用外部程序。网上有些教程让你去修改 Windows 用户名但那是非常伤筋动骨的操作可能会导致很多软件环境变量失效。我实测下来的可行方案是这样的保留系统用户名不动额外在环境变量层面把 TeXLive 需要的路径指向纯英文目录。具体做法是在用户环境变量里新建一个TEXMFHOME指向D:\texmf这种纯英文目录也可以是C:\texmf这样宏包缓存和用户宏包目录就避开了中文路径。另外项目的源文件目录也要保证是纯英文路径比如D:\papers\mypaper不要放在桌面桌面路径通常带着用户名。如果你已经装好了 TeXLive并且编译时发现各种诡异报错先检查源文件路径是否带中文再检查kpsewhich -var-value TEXMFHOME的输出是否正常。大部分“中文用户名导致的问题”本质上就是“某个工具无法处理非 ASCII 路径”导致的所以把所有相关路径改成纯英文问题就消失了。4.2 macOS 的 Apple Silicon 注意点与 Skim 的特殊设置macOS 这边如果你用的是 Apple SiliconM1/M2/M3 系列芯片TeXLive 2025 已经原生支持 arm64不需要 Rosetta 转译。安装时 TeXLive 会自动选择适配当前架构的二进制。但有一个细节当你用 Homebrew 安装一些 LaTeX 辅助工具比如latexindent或者用brew install --cask mactex-no-gui时要注意版本匹配。Homebrew 上的 mactex-no-gui 通常是最新版理论上没问题但如果你手动指定旧版本 TeXLive可能出现架构不匹配。Skim 的反向搜索设置需要在 Skim 偏好设置里开启。路径是Skim Preferences Sync然后在 “PDF-TeX Sync” 里选择预设为 “Visual Studio Code”。这样双击 PDF 才能正确唤起 VSCode 并跳转到对应行。很多新手配置完外部查看器发现没有反向搜索80% 是这一项没设置。4.3 跨平台同步写作本地环境配合 Git 工作流本地环境最大的潜在风险就是“只有本机一份”一旦硬盘坏了或者电脑丢了论文源文件就没了。这一点 Overleaf 其实做得很好毕竟云端有备份。我的解决方案是把论文目录放进 Git 管理然后推到私有仓库。具体操作很简单在论文目录执行git init写一个.gitignore忽略编译产物.aux、.log、.synctex.gz、.toc、.out 等然后正常提交。如果你和同学合作写论文你们各自在自己的本地环境编译再通过 Git 推送/拉取来同步。虽然编辑冲突需要手动解决但论文写作大多数时候是不同小节并行冲突概率很低。这套流程最大的好处是你拥有了完整的版本历史。改坏了可以随时回退和导师讨论时也能对比不同版本的差异。如果你之前用 Overleaf 的版本历史功能这个 Git 工作流是完全对等的替代方案。4.4 从 Overleaf 迁移本地时要注意的模板兼容问题最后一个迁移问题是从 Overleaf 直接复制下来的模板本地不一定能编译。原因通常是 Overleaf 已经预装了一些宏包或者使用了它的特殊编译器设置。迁移时你需要做两件事第一查模板文件里有没有\usepackage{...}中涉及的宏包逐个在本地确认是否已安装。可以用kpsewhich 宏包名.sty查看某个宏包是否存在。如果不存在执行tlmgr install 宏包名安装。第二注意模板指定的编译引擎。很多期刊模板在 Overleaf 上默认用 pdfLaTeX但如果你在本地一直用 xelatex 编译可能会遇到字体相关的问题。这时候我通常建议先用模板默认的编译器在本地编译一次成功后再考虑是否切到 xelatex。5. 常见问题排查与 LaTeX 写作技巧速查最后这部分我整理了一些我实际使用中遇到的典型问题以及和一些高频搜索词相关的写作小技巧。这个清单可以直接当作日常排查手册来用。5.1 高频编译报错与解决方案速查表现象可能原因解决方法编译时提示latexmk: Command for xelatex not foundTeXLive 的 PATH 没配好VSCode 找不到 xelatex确认终端里xelatex --version可用然后重启 VSCodemacOS 检查~/.zshrc里 PATH提示LaTeX Error: File ctex.sty not found缺少 ctex 宏包或没有用 xelatex 引擎执行tlmgr install ctex并确认编译工具链用的是latexmk -xelatex编译中文乱码或者方块编译器不是 xelatex或者字体有问题检查.tex文件头部是否声明\documentclass且编译引擎为 xelatex中文文档建议\usepackage{ctex}或\usepackage{fontspec}反向搜索双击 PDF 没有跳回 VSCodeSkim 或 SumatraPDF 没有配置 Sync 预设macOS 在 Skim 的偏好设置里选择 Visual Studio CodeWindows 检查 external.synctex.args 路径保存文件后不自动编译autoBuild.run 没设为 onSave 或 VSCode 没有信任工作区在 VIews 里选择 Trust Workspace或CtrlShiftP输入 “Trust” 信任确认 settings.json 语法无报错! I cant write to directory xxx源文件路径或输出目录没有写入权限把文件移到本地纯英文路径比如D:\papers\或~/Documents/papers/编译超时或卡死文档中有大量 TikZ 图片或宏包冲突用-interactionnonstopmode查看具体卡在哪个宏包尝试注释掉可疑宏包逐段排查VSCode 中 PDF 预览白屏PDF 预览 Tab 加载失败切换latex-workshop.view.pdf.viewer为browser或external重新编译生成 PDF5.2 换行与段落、表格自动换行的快速处理很多刚开始写 LaTeX 的人会纠结换行符到底怎么打。这里说一个最简单的区分LaTeX 中两个连续换行才是分段单换行在排版时不会产生新段落只会当成空格处理。所以你也完全不用像 Word 那样刻意处理“换行”写作时直接一个空行作为段落分隔即可。如果你要强制换行但不分段用\\或\newline。如果你要在一个段落内换行同时不引入缩进用\linebreak。这些在表格单元格里特别有用表格单元格默认不会自动换行你需要指定列宽并配合p{宽度}列类型比如\begin{tabular}{|p{3cm}|p{5cm}|} \hline 列1 列2 \\ \hline 内容 内容 \\ \hline \end{tabular}p{}列类型会让单元格内容按指定宽度自动换行。这是表格自动换行的最简单方案。如果你觉得这个宽度写死麻烦也可以加载tabularx宏包配合X列类型自适应宽度。5.3 LaTeX 符号速查希腊字母和常用符号的输入方法写作中频繁输入希腊字母VSCode 的 LaTeX Workshop 提供了 snippet 提示输入\al就能联想\alpha。常用的几个先记牢\alpha→ α\beta→ β\gamma→ γ\delta→ δ\epsilon→ ε\zeta→ ζ\eta→ η\theta→ θ\lambda→ λ\mu→ μ\pi→ π\rho→ ρ\sigma→ σ\tau→ τ\phi→ φ\omega→ ω对应的大写形式首字母大写即可比如\Gamma→ Γ、\Delta→ Δ、\Omega→ Ω。分段函数和公式中常见的\times、\div、\pm、\leq、\geq、\approx、\neq、\in、\subset这些也是写作中绕不开的高频符号。推荐一个长期记忆方法你不需要一次性背下所有符号命令。写文档时遇到不会的符号直接在 VSCode 里输入\开头LaTeX Workshop 会弹出候选列表把常用的几个通过重复输入自然记住。真正需要画特殊符号的时候再查 Comprehensive LaTeX Symbol List 文档就行。5.4 插图与图片路径的两个高频坑LaTeX 插图也是高频搜索词。最基础的使用方式\documentclass{article} \usepackage{graphicx} \begin{document} \begin{figure}[htbp] \centering \includegraphics[width0.8\textwidth]{figures/result.png} \caption{这是图片标题} \label{fig:result} \end{figure} \end{document}这里有两个高频坑第一个是图片路径。如果图片放在子目录figures/下\includegraphics里要写相对路径。如果你用 LaTeX Workshop 编译工作目录默认是 .tex 文件所在目录所以只要相对路径写对就行。第二个坑是图片格式。用 xelatex 编译时建议使用 PDF、PNG、JPG 格式尽量不要用 EPS 或 SVG 直接插图需要先转换成 PDF 或 PNG。插图位置参数htbp是 LaTeX 排版的一个“建议”而非“强制”——它代表 here、top、bottom、page of floatsLaTeX 会根据排版效果决定最终位置不必纠结为什么图片没出现在你希望的位置。最后分享一个工作流上的小习惯配置完整套环境后我的工作流变成了这样在 VSCode 里打开论文目录左侧是源文件右侧是自动刷新的 PDF 预览每按一次 CtrlS编译自动完成PDF 自动定位到当前页。写一段、看一眼排版改一个措辞、立刻确认效果。这种编译反馈几乎是无延迟的写作体验和用在线编辑器完全不同。如果你之前一直在用 Overleaf刚切换的前一两天会因为缺少“云端自动保存”而感到不适应。我的建议是把 Git 提交养成肌肉记忆只要完成一个小节就git add . git commit这个动作的成本比 Overleaf 的 Save 还低而且版本历史更加清晰。还有一个小技巧如果你经常在不同设备之间切换可以在 U 盘或同步盘里放一份texlive-packages.txt文件内容是tlmgr list --only-installed导出的宏包列表。换新机器时执行tlmgr install导入这个列表就能快速恢复一套完整环境。我实测过整机迁移时这个方法能省下大量重新配宏包的时间。本地 LaTeX 环境的优势在于确定性和速度。它把写作过程中所有变数——网络延迟、服务器排队、宏包缺失——全部消除让你能完全专注在内容本身。