以 Notepad++ 为 LaTeX 编辑器及以 SumatraPDF 进行正反向搜索的配置方法

编辑器 2019-11-08 01:17  浏览 :1140
Notepad++ 是一款轻量化的开源文本编辑器,它启动速度快,具有强大的编辑功能,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码,支持众多计算机程序语言。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的扩展模块。利用 Notepad++ 的插件 NppExec、Customize Toolbar 并配合 SumatraPdf,可将 Notepad++ 打造成一款优秀的 LaTeX 前端。本文将对这几款软件的配置方法做一个简要的介绍。 ## 需要的环境 1. TeX 发行版: TeXLive 或 MiKTeX 均可。 2. Notepad++ V 7.8: [64位安装程序](http://download.notepad-plus-plus.org/repository/7.x/7.8/npp.7.8.Installer.x64.exe) [32位安装程序](http://download.notepad-plus-plus.org/repository/7.x/7.8/npp.7.8.Installer.exe),本文假定其安装的路径为`C:\\Program Files\\Notepad++` 3. Notepad++ 插件 NppExec:可在Notepad++ 菜单 `插件`->`插件管理` 中查找安装。 4. Notepad++ 插件 Customize Toolbar:安装方法同上。 5. SumatraPDF:本文假定其安装路径为`C:\\Program Files\\SumatraPDF` ## NppExec —— Execute 1. 首先用 Notepad++ 打开一个 `tex` 文件。 1. NppExec 安装完成后,快捷键 `F6`调出 Execute 对话框: ![execute 对话框](https://pics.latexstudio.net/data/images/201911/510ee0187426d94.png "execute 对话框") 2. 在窗口内输入如下代码: ```batch cd $(CURRENT_DIRECTORY) xelatex -synctex=1 -interaction=nonstopmode $(NAME_PART) ``` 简要介绍一下代码含义,`$(CURRENT_DIRECTORY)` 是 NppExec 插件的设置的变量,表示当前文件所在的目录;`$(NAME_PART)` 表示当前文件文件名(不含扩展名)。这两句代码的含义就很好理解了,进入当前目录,对当前文件用 `xelatex` 以指定参数进行编译。 3. 将这段临时脚本起名保存为 `XeLaTeX`,点击 ok 按钮即开始这段脚本。 4. 类似地,我们可以创建其他编译命令的执行脚本,不一一赘述。 5. 为了实现以SumatraPDF实现正反向搜索,预览PDF文件的脚本应输入如下代码: ```batch cd $(CURRENT_DIRECTORY) NPP_run "C:\\Program Files\\SumatraPDF\\SumatraPDF.exe" -reuse-instance -forward-search $(NAME_PART).tex $(CURRENT_LINE) -inverse-search "\\"C:\\Program Files\\Notepad++\\Notepad++.exe\\" -n%l %f" $(NAME_PART).pdf ``` 简单解释几个命令和变量:`Npp_run` 是 NppExec 附带的命令,表示执行外部程序和命令;`$(CURRENT_LINE)` 表示文件的当前行。 这一段正反向搜索的命令在[啸行的专栏](https://wenda.latexstudio.net/article-5055.html)已经进行详细介绍,这里不再赘述。 6. 若要形成编译链,连续使用几个既已保存的脚本,可以不用将脚本命令重复 copy,可以使用 NppExec 附带命令 `Npp_exec` 执行相应脚本即可。例如,已经设置保存了 `XeLaTeX`、`bibtex` 和 `View PDF` 三个脚本,若需创建一个标准的完整编译过程的脚本,可以在Execute 窗口输入如下代码并保存即可。 ```batch Npp_exec "XeLaTeX" Npp_exec "bibtex" Npp_exec "XeLaTeX" Npp_exec "XeLaTeX" Npp_exec "View PDF" ``` ## NppExec —— Advanced Options 采用菜单项 `插件` -> `NppExec`-> `Advanced Options` 可以进行一些高级设置,将已经保存的脚本加入到菜单项中。如下图所示: ![高级设置](https://pics.latexstudio.net/data/images/201911/13f3f0e1dc06b3d.png "高级设置") `Menu item` 一栏可以选择需要添加到菜单的脚本,并为菜单项设置名称;`Menu item*` 一栏中 `Place to the Macros submenu` 的 checkbox 勾选之后,菜单项将添加在 `宏(M)` 菜单项之下。 对话框的其他设置,用户可以根据自己的需要自行选择设置。 ## 快捷键的设置 快捷键可以通过菜单 `宏(M)`->`管理快捷键...`进行设置,在 `插件命令` 选项卡可以找到添加到菜单项的命令,利用对话框设置快捷键即可。 ![](https://pics.latexstudio.net/data/images/201911/f36454e1647931b.png) ## NppExec —— Console Output Filters 快捷键 `Shift`+`F6` 可以调出 NppExec 控制台输出过滤。 ![控制台信息过滤](https://pics.latexstudio.net/data/images/201911/1844fc6a55809b0.png "控制台信息过滤") 在`HighLight` 选项卡中,我们可以设置控制台信息过滤条件:`l.%LINE%`,并设置高亮颜色和粗体下划线样式。在勾选最前面的checkbox 启用这个条件后,我们可以编辑一个简单的 `tex` 文件: ```tex \\documentclass{article} \\begin{document} Hello! \\latex \\end{document} ``` 我们故意写错 `\\LaTeX` 为 `\\latex`,进行编译后,显然系统将给出报错信息,我们发现控制台回显的报错信息中: ``` l.4 Hello! \\latex ``` 已经成为了我们设定的格式。双击这条报错信息,在文本编辑器内,光标将定位到出错这一行的行首。这个设置实现了错误快速定位。 ## 利用 Customize Toolbar 为常用菜单项添加工具条按钮 1. Customize Toolbar 安装完成后,菜单项 `插件` -> `Customize Toolbar`-> `Custom Buttons` 可以启动用户自定义工具条按钮。按钮的配置是通过文件 `%APPDATA%\\Notepad++\\plugins\\config\\CustomizeToolbar.btn` 实现的。文件示例如下: ``` 宏(M),pdfLaTeX,,,pdflatex.bmp 宏(M),XeLaTeX,,,xelatex.bmp 宏(M),bibtex,,,bibtex.bmp 宏(M),biber,,,biber.bmp 宏(M),makeindex,,,makeindex.bmp 宏(M),View PDF,,,adobe.bmp 宏(M),Clear,,,trash.bmp 宏(M),Latexmk,,,latexmk.bmp ``` 其中,每一行均为4个 `,` 分隔成的5部分,前4部分为各级菜单项名称,必须与当前菜单选用的界面语言一致,最后一项为按钮显示图标文件名,图标文件必须为16×16的bmp格式图像。特别需要注意的是:`CustomizeToolbar.btn` 的文件编码格式必须保存为:**UCS-2 Little Endian 含 BOM**,文件行尾格式必须为 **Windows (CR LF)**。 至此,对 Notepad++ 的配置基本完毕,Notepad++已经被打造成一个不错的 LaTeX 前端, Happy TeXing!
发布评论
登录后方可评论!点击登录
全部评论 (4)
registor
1楼 · 2019-11-08 08:03

太好了,喜欢这种轻量级的工具。

啸行
2楼 · 2019-11-09 00:00

棒啊,这样就解决了很多常见编辑器的配置

悟空小时候
3楼 · 2019-11-09 22:28

请问清理过程文件的命令是什么?

青莲剑仙
4楼 · 2019-11-08 18:31

太好了,赞!喜欢notepad++