今天在用ctex+winedit编译文档的时候频频爆出’.sty’ not found的错误,缺失sty文件有三种解决思路:
- (自动)在线更新。(行不通,能自动安装还会报错?)
- 看到有人说ctex里的MikTeX组件版本过旧,导致不能连接到合适的服务器,所以无法自动更新(解释了1)。因此,可以再单独安装一个MikTeX,使得TeX编译环境能正常自动更新。
给两个链接:
A. CTeX中MiKTeX太旧,无法更新宏包解决方案
B. CTeX自动安装宏包解决Error .sty not found
这两篇写得都挺细致的,感觉后者更详尽一些,可以参考。
尽管这看起来是个一了百了的好方法,但我在两篇文章中给出的MikTeX下载链接所下载的exe文件都无法运行,只好作罢。 - 手动下载缺失的sty文件(包)。
下面详细说说第三种方法。
已有的package都在哪里?
一般latex的package路径都在C:\CTEX\MiKTeX\tex\latex
目录下,里面的每一个文件夹就是一个package。因此,我们后面手动下载的package就要拖到这个目录下。
该从哪里下载需要的package?
可以在LaTeX宏包下载页面搜索缺少的sty文件名称,然后下载。
一般sty文件和包同名。如果不同名,可能在网址中直接搜sty文件名也能搜到包,如果搜不到,可以百度/google一下,会看到用了这个sty文件的别人的latex脚本里用了哪个包,再回到网址里搜就可以了。
怎么安装?
找到下载路径,然后解压。解压之后要看看你需要的sty文件是否在文件夹中,
- 如果只有同名的ins文件,则需要:
- 进入命令提示符窗口,进入文件夹所在路径(假设在桌面,包叫xxx),进入的方法是直接输入:
cd C:\Users\username\Desktop\xxx
- 然后把ins文件转译成sty文件(假设ins文件叫yyy),接着输入:
latex yyy.ins
- 如此你就会得到一个yyy.sty文件,接着去做下一步 ↓ \downarrow ↓。
- 进入命令提示符窗口,进入文件夹所在路径(假设在桌面,包叫xxx),进入的方法是直接输入:
- 如果原文件夹中有sty文件:
- 把整个文件夹拖到
C:\CTEX\MiKTeX\tex\latex
目录下(也有可能不在C盘) - 关闭当前正在使用的tex编写程序,在电脑程序中找到MikTeX Settings(Admin)-General,点击Refresh FND8
- 把整个文件夹拖到
Finished!