Notepad++打开.tex文件需手动设置语言为LaTeX并绑定扩展名,编译需配置pdflatex路径及UTF-8编码,中文支持须统一编码与ctex宏包,正向搜索需-synctex=1、SumatraPDF和NppSynctex插件协同。

Notepad++ 打开 .tex 文件不显示语法高亮怎么办
默认不识别,得手动关联文件类型。Notepad++ 不像 VS Code 那样自动探测 LaTeX,它靠扩展名匹配语言定义。
- 打开一个
.tex文件 → 点击菜单栏 语言 → L → LaTeX(注意不是 “LaTex” 或 “Latex”,拼写必须是LaTeX) - 如果没看到
LaTeX选项,说明语法定义没加载:菜单栏 语言 → 定义语言… → 在列表里找LaTeX,勾选启用 - 永久绑定:右键编辑区 → 扩展名设置 → 输入
tex→ 选中LaTeX→ 确定
常见错误是只点了一次 LaTeX,关掉再开文件又变回纯文本——根本原因是没做扩展名绑定。
用 Ctrl+R 快速编译却报错 Cannot find compiler
Notepad++ 本身不带编译器,Ctrl+R 调用的是外部命令,路径配错了就直接失败。
- 确认本地已安装 LaTeX 发行版(如
TeX Live或MiKTeX),且pdflatex命令能在 CMD/PowerShell 中直接运行 - 菜单栏 运行 → 运行… → 输入:
pdflatex -synctex=1 -interaction=nonstopmode "$(FULL_CURRENT_PATH)" - 点击 保存… → 命名为
Compile LaTeX→ 设置快捷键(比如F5) - 别用
Ctrl+R默认的“运行”框,它不记历史也不存配置,每次都要重输
容易踩的坑:Windows 用户常把路径写成 C:\Program Files\... 却没加英文双引号,空格导致命令截断;或者用了 xelatex 但没装对应引擎。
中文支持乱码、编译出错或 PDF 无汉字
Notepad++ 默认编码是 ANSI(即系统本地编码),而现代 LaTeX 项目普遍要求 UTF-8,不统一就崩。
- 打开
.tex文件后,顶部菜单 编码 → 转为 UTF-8 编码(不带 BOM) —— 带 BOM 的 UTF-8 会让pdflatex报Unicode character not set up for use with LaTeX - 在导言区必须有对应宏包和字体设置,例如:
\usepackage{ctex}(推荐)或\usepackage[UTF8]{ctex} - 不要用
\usepackage{CJK}+ 手动\begin{CJK}{GBK}{...},老旧且易出编码冲突 - 如果用了
inputenc和fontenc,确保顺序和参数匹配:\usepackage[utf8]{inputenc}+\usepackage[T1]{fontenc}
关键点在于:Notepad++ 编码设置、文件实际保存编码、LaTeX 源码声明三者必须都是 UTF-8,缺一不可。
怎么让 Ctrl+Shift+B 自动跳转到 PDF 对应位置(正向搜索)
需要 synctex 支持 + PDF 查看器配合,Notepad++ 单独搞不定。
- 编译命令里必须带
-synctex=1参数(前面已提),生成.synctex.gz文件 - PDF 查看器得支持 SyncTeX:推荐
SumatraPDF(轻量、Windows 原生支持),不要用 Adobe Acrobat - 在 SumatraPDF 中打开 PDF 后,按
Ctrl+Click可跳回 Notepad++ 对应行;反过来,在 Notepad++ 按Ctrl+Alt+Click(需安装NppSynctex插件)可跳到 PDF 位置 -
NppSynctex插件不是内置的,得去官网下载 DLL 手动放进plugins目录,新版 Notepad++(v8+)可能不兼容,建议用 v7.9.5 测试通过版本
这个功能链路长、依赖多,最容易卡在插件不生效或 SumatraPDF 没设为默认查看器——不是 Notepad++ 的问题,而是三端没对齐。


















