如何在sublime里编译latex文档(+部分不常见问题及解决办法)

来源:互联网 发布:java 编码格式 编辑:程序博客网 时间:2024/06/07 17:44

Q1. 为什么使用sublime来编译latex格式的文档呢?

A1. 操作简单,界面美观,快捷键丰富……(其实我也不知道)


Q2. 教程在哪里?

本教程集中了其他多个网页的内容,在文章结尾会有传送门。好啦,教程开始……

1. 下载并安装一些东西。

(1)ctex:下载地址。(如果你有的话就不用安装了,但是要确认一下你安装的ctex路径里是否有“SumatraPDF.exe”这个软件,我的这个软件在这个路径:D:\CTEX\CTeX\ctex\bin)

(2)sublime:下载地址。我载的版本是:Sublime Text 3 ,Windows 64 bit。

2. 配置sublime。

(1)首先要注册sublime。

打开sublime --> help,单击license相关的那个。输入如下注册码[参考链接]。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Nicolas Hennion

Single User License

EA7E-866075

8A01AA83 1D668D24 4484AEBC 3B04512C

827B0DE5 69E9B07A A39ACCC0 F95F5410

729D5639 4C37CECB B2522FB3 8D37FDC1

72899363 BBA441AC A5F47F08 6CD3B3FE

CEFB3783 B2E1BA96 71AAF7B4 AFB61B1D

0CC513E7 52FF2333 9F726D2C CDE53B4A

810C0D4F E1F419A3 CDA0832B 8440565A

35BF00F6 4CA9F869 ED10E245 469C233E

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

注册成功。

(2)安装package control。

打开sublime。在键盘上点 ctrl+` (“ ` ” 这个符号是大键盘数字1左边的那个按键),这是sublime界面最下端会出现一个长条的白色框,把以下命令输入该框内:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

以上命令针对的是sublime3,如果你是sublime2,请参照这个链接。

这时,sublime界面上就会出现preferences --> package control选项。

(3)安装必要的工具包。

打开sublime。输入Ctrl+Shift+P打开命令行,在命令行内输入:package control:install Package,回车。

继续输入latextools,回车。(用于编译latex文档)

继续输入ConvertToUTF8,回车。(用于显示中文字符)

(4)最后一步。

重启sublime,输入latex文档,按 ctrl+b 进行编译,sublime默认是通过“SumatraPDF.exe”这个软件来显示编译好的pdf文件,所以,ctrl+b 之后,会弹出sumatraPDF的一个窗口,显示编译结果。


Q3. 不常见问题。

error1:

弹出错误框,提示:Could not find SumatraPDF.exe. Please ensure the "sumatra" setting in your LaTeXTools settings is set and points to the location of Sumatra on your computer.如下图:


这个错误是说,sublime在编译的时候找不到生成pdf的软件了,所以编译是能编译,但是不能弹出pdf了。错误提示指出解决办法就是去latextools的设置里把有关sumatra的路径设置指向“SumatraPDF.exe”软件的实际位置。

我首先在电脑里找到了“SumatraPDF.exe”的实际位置,并在latextools的设置里做了更改,但没起作用。。应该是自己改的不对。

然后我就采用了第二种笨拙的方法:

(1)先找到“SumatraPDF.exe”的实际位置,我这里的路径是:D:\CTEX\CTeX\ctex\bin\SumatraPDF.exe

(2)建立一个名为SumatraPDF的文件夹,把SumatraPDF.exe放到这个文件夹中

(3)把SumatraPDF文件夹放到如下路径:C:\Program Files\

结束~再按 ctrl+b 编译试试吧,pdf 就可以弹出来的。


如果!还是没有弹出pdf,我希望你可以看一下以上方法的原理,然后再采取其他手段。原理如下:

(1)latextools能调用“SumatraPDF.exe”一定是因为latextools工具中有用于调用的源代码,所以我们在安装latextools的位置找到它调用“SumatraPDF.exe”的源代码文件:sumatra_viewer.py。

源代码文件的地址:C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Packages\LaTeXTools\viewers\sumatra_viewer.py

(2)这是一个python脚本,右键 --> Edit with IDLE,或者右键 --> 记事本,打开该python脚本。

可看到有下图这么一段代码:如果“SumatraPDF.exe”不在第一个框框中的路径中,那么该python脚本就不能调用它,那么就会弹出错误框,所以我才会想出把“SumatraPDF.exe”放在路径 C:\Program Files\中,当然你可以选择把“SumatraPDF.exe”放到其他另两个路径中。所以如果你按照以上方法没能解决问题,请看看你电脑上这个脚本中的第一个框框中的路径是什么,然后把“SumatraPDF.exe”放进去就行了。




Q4. 其他教程传送门。

1. 解决中文字符显示问题:http://heipark.iteye.com/blog/2070541 

2. 注册码问题:http://blog.sina.com.cn/u/2136306090 我看的是百度快照版,反正就是这个博客的帖子~

3. http://blog.csdn.net/qibaoyuan/article/details/30244279

4. http://www.07net01.com/2015/04/811831.html

5. http://www.zhihu.com/question/36038602?sort=created

6. http://liam0205.me/2014/12/14/advanced-builder-latextools/

7. 安装package control:https://packagecontrol.io/installation#st3

1 0
原创粉丝点击