Notepad++需手动绑定.tex文件:右键编辑区→扩展名设置→输入tex→选LaTeX→确定;若无LaTeX选项,先在“语言→定义语言…”中勾选启用并重启。

LaTeX 语法高亮不生效,怎么手动绑定 .tex 文件?
Notepad++ 不会自动识别 .tex 文件为 LaTeX,必须显式绑定扩展名。只点一次菜单栏「语言 → L → LaTeX」是临时切换,关掉再打开又变回纯文本。
正确做法是:右键编辑区空白处 →「扩展名设置」→ 在「扩展名」框里输入 tex(不含点)→ 左侧列表选中 LaTeX → 点「确定」。这一步必须做,否则后续所有配置都白搭。
如果列表里没有 LaTeX 选项,说明语法定义未启用:菜单栏「语言 → 定义语言…」→ 找到并勾选 LaTeX → 确定后重启 Notepad++。
编译时报 Cannot find compiler,怎么配好 pdflatex 路径?
Notepad++ 本身不带编译器,Ctrl+R 默认调用的是系统 PATH 下的命令。报这个错,90% 是因为:pdflatex 命令在 CMD 里根本跑不通,或者路径含空格但没加引号。
先验证基础环境:
- 打开 CMD,输入
pdflatex --version,有输出才说明 TeX Live / MiKTeX 已正确安装且加入 PATH - 若提示“不是内部或外部命令”,请重装发行版,并勾选「Add directory to PATH」选项
- 若用的是 xelatex 或 lualatex,确保命令名和引擎实际存在(比如
xelatex而非xetex)
配置运行命令(推荐用「运行 → 运行…」而非 NppExec):
pdflatex -synctex=1 -interaction=nonstopmode "$(FULL_CURRENT_PATH)"
点击「保存…」→ 命名为 Compile LaTeX → 设快捷键(如 F5)。别依赖 Ctrl+R 的临时输入框,它不存历史。
中文编译失败或 PDF 无汉字,UTF-8 编码三件套缺一不可
乱码根源从来不是字体或宏包本身,而是编码链条断裂:Notepad++ 显示编码 ≠ 文件实际保存编码 ≠ LaTeX 源码声明的编码。
必须同时满足:
- Notepad++ 菜单「编码 → 转为 UTF-8 编码(不带 BOM)」——带 BOM 会导致
Unicode character not set up for use with LaTeX - 文件保存时确实是 UTF-8(不带 BOM),可在「编码」菜单右下角确认状态栏显示「UTF-8」
- 导言区明确加载中文支持,推荐用
\usepackage{ctex}(无需额外参数),不要混用inputenc+fontenc,容易冲突
如果用了 \usepackage[UTF8]{ctex} 却仍报错,检查是否误写成 [utf8](小写)——ctex 宏包参数区分大小写。
怎么实现 Ctrl+Click 跳转到 PDF 对应位置(正向搜索)?
这不是 Notepad++ 单独能完成的事,需要三方协同:编译命令、PDF 阅读器、插件/脚本三者缺一不可。
关键条件:
- 编译命令必须含
-synctex=1参数(已出现在上一条的命令中) - PDF 查看器必须是 SumatraPDF(Foxit / Adobe 不支持反向/正向同步),且安装路径不含中文和空格(稳妥起见建议装到
C:\SumatraPDF\) - Notepad++ 中需配置「运行」命令打开 PDF:
"C:\SumatraPDF\SumatraPDF.exe" "$(CURRENT_DIRECTORY)\$(NAME_PART).pdf"
注意:SumatraPDF 需开启「Reuse instance」(启动参数加 -reuse-instance),否则每次编译都弹新窗口;另外首次跳转可能稍慢,因要读取 .synctex.gz 文件。
最常被忽略的一点:正向搜索依赖 PDF 文件名与源文件名严格一致(不含路径差异),所以别用 pdflatex -output-directory=xxx 把 PDF 输出到其他目录,否则跳转会失败。

















