使用Notepad++作为Latex编辑器

来源:互联网 发布:网络批发玩具平台 编辑:程序博客网 时间:2024/05/17 23:13

1. 工具篇

相信很多朋友和我一样, 在Windows上不喜欢用其自带的记事本, 更习惯于使用Notepad++. Notepad++作为一种开源的文本处理工具, 上手之后, 确实感觉很好用. 多样的插件, 对于查看代码或者是其他一些文本都是极为好用的.

之前使用Latex写过论文, Latex确实很强大, 熟悉之后其编辑速度比word好快得多.特别是对于公式很多的文档.

关于Latex和Notepad++的优点, 知道的人都了解, 在这儿我就不多费口舌了吧.

下面提供两个工具的下载地址:

notepad++下载

MiKTeX下载

SumatraPDF下载

2. 安装篇

过程中所需要使用到的工具以及链接地址都提供在上方, 都是官网地址, 可以放心的下载.

另外一个值得注意的地方, SumatraPDF安装的时候, 安装路径不要带空格.

所有安装好之后, 在某个你觉得合适的路径下新建miktex_to_latex.bat文件, 我是放在notepad++的安装路径下. 使用notepad++打开该文件, 然后将下述内容复制到该文件中, 保存.

:: Called from Notepad++ Run  :: [path_to_bat_file] "$(CURRENT_DIRECTORY)" "$(NAME_PART)"  :: Change Drive and  to File Directory  %~d1  cd %1:: Run Cleanup  call:cleanup  :: Run pdflatex -> bibtex -> pdflatex -> pdflatex  pdflatex %2  bibtex  %2  :: If you are using multibib the following will run bibtex on all aux files  :: FOR /R . %%G IN (*.aux) DO bibtex %%G  pdflatex %2  pdflatex %2  :: Run Cleanup  call:cleanup  :: Open PDF  START "" "D:\SumatraPDF\SumatraPDF.exe" %3 -reuse-instance  :: Cleanup Function  :cleanup  del *.dvidel *.out:: del *.log :: del *.aux  :: del *.bbl    :: del *.blg  :: del *.brf  goto:eof  

注意, 上述内容中"D:\SumatraPDF\SumatraPDF.exe"是代表你SumatraPDF安装路径. 需要对应修改成你所安装的具体位置.

在notepad++界面, 点击 Plugins -> Plugin Manager -> Show Plugin Manager, 打开后如下图所示.

这里写图片描述

找到图示勾选的插件, 点击 Install. 自动下载安装好后会提示重启.

值得注意的地方:
在上述bat文件中, 其中有几行是设置LaTeX编译器的. pdflatex %2, 可以将其修改为别的编译器, 如xelatex %2 , latex %2, lualatex %2 以及 latexmk %2等. 类似的, 下面的参考文献工具也是能够设置成别的. 之前我就是因为编译器设定的不一样, 导致我和另一个同事共同编辑一个文档出现了不方便的地方, 他能编译, 而我编译不通过, 我能编译, 他则编译不通过.

3. 使用篇

上述工作完成之后, 在一个你觉得合适的路径下新建一个test.tex文件, 使用notepad++打开.将下述内容复制到你的新文件中.

\begin{document}\begin{CJK}{UTF8}{gkai}\title{测试文档}\author{Sun Bibei}\date{\today}\maketitle\section{策略梯度算法}    在增强学习的框架下, 可以将增强学习重新表述如下:    增强学习目的是找到一个最优的策略$\pi$, 在一个随机的环境中控制agent. 将连续的时间划分为离散的时间步$t$(time step $t$), 在每一个时间步, 可以观察(observe)得到agent 的一个状态(state) $x_t$, 依据该状态选择一个行为(action) $\pi(u_t \mid x_t )$, 下一个时间步的状态, 不单依据当前时间步的状态和所选择的行为, 还依赖于状态转移概率 $ p(x_{t+1} \mid x_t, u_t) $, 最优策略$\pi$是能够获得从时间步1到时间步T最大累积回报的策略.    从时间步1到时间步$T$的可以得到$(x_t, u_t)$序列, 将其表述成一条轨迹$\zeta$, 使用$r(\zeta)$表示沿着轨迹$\zeta$的总回报值, 使用$\pi(\zeta)$标记在策略$\pi$下轨迹$\zeta$的概率.    策略梯度算法(Policy gradient method), 是通过直接优化用参数$\theta$描述的策略$\pi_\theta$, 使其对应的回报期望值最大, 从而得到最优策略所对应的参数$\theta^*$.在实际操作过程中, 每一次迭代沿着$E[\nabla J(\zeta)]$方向走一个步长, 直至收敛. 每一次梯度的估算使用下述公式.其中, 学习步长需要谨慎的选择, 其会很大程度上影响学习的效率以及是否能够达到全局最优.    $$E[\nabla J(\theta)] = E[r(\zeta)\nabla\log{\pi_\theta(\zeta)}] \approx \frac1{m}\sum_{i=1}^m r(\zeta_i) \nabla\log{\pi_\theta(\zeta_i)}$$    其中, $ \nabla\log{\pi_\theta(\zeta_i)} $能够分解到$ \sum_t{\nabla\log{\pi_\theta(u_t \mid x_t)}} $, 因为状态转移概率$ p(x_{t+1} \mid x_t, u_t) $不依赖与优化变量$ \theta $.\clearpage\end{CJK}\end{document}

复制好了之后保存. 好, 这个时候可以按一下键盘上面的 F6 按键试试效果了.不出意外, 应该会弹出如下所示的提示框, 然后复制下述内容:

NPP_SAVE"<Path_to_bat_file>" "$(CURRENT_DIRECTORY)" "$(NAME_PART)" "$(NAME_PART).pdf"

将对话框中<Path_to_bat_file>改成前一篇中所新建的bat文件路径. 如我的设定如下:

这里写图片描述

点击 Save, 名字就自己取了, 单击 OK. 这个时候notepad++啪啪啪的执行, 执行完了之后会自动弹出生成好的pdf文件. 有没有很爽的赶脚啊…

还不够爽? 每次都会弹出对话框需要你点击让你很不开心?好吧…我只能说, 你赢了.

那就再爽得透彻些吧. 返回notepad++主界面.依次点击: Plugins -> NppExec -> Advanced Options.

在左下角Menu Item下方的Associated Script选项中选择刚刚我们保存的命令, 如我, 保存的名字叫 Latex_GenPDF, 如下图所示:

这里写图片描述

单击 OK 之后, 提示需要重新才能生效. 好吧, 那么重启一下呗.

依次点击 Plugins -> NppExec 能够看到子菜单最下方出现了我们的脚本名了, 单击即可直接运行.

最后一步, 在关联一个快捷键就可以了.依次点击: Settings -> Shortcut Mapper -> Plugin commands. 如图所示

这里写图片描述

找到我们脚本的名字, 双击, 就可以设定快捷键啦. 我设定的是Ctrl + F5. 当然你可以设定任何你觉得方便的快捷键, 但最好不要和系统快捷键冲突.

点击 OK, 点击Close 返回主界面, 使用快捷点 Ctrl + F5, notepad++就自己开始编译了. 这次有没有爽透啊?

1 0