在mac上texstudio,用的外部pdf浏览器能正常显示中文,但是内部自带的pdf浏览器却不能显示中文这是什么原因呢


我也遇到了这个问题,其实问题很好解决,安装poppler是对的,但是目录不对

首先在terminal上输入:

$ strings -a /Applications/texstudio.app/Contents/Frameworks/

找到对应的版本号

然后找一下poppler的版本号,在这个位置查看

$ cd /usr/local/Cellar/poppler/

我这里对应的是0.81.0版本

mkdir -p /usr/local/Cellar/poppler/0.74.0-texworks/share
ln -s /usr/local/Cellar/poppler/0.81.0/share/poppler /usr/local/Cellar/poppler/0.74.0-texworks/share/poppler

我之前就是直接看的大佬的答案,但是版本号不对,所以没有解决问题,版本号弄好了就搞定了

希望能帮到大家


usepackage[fontset=mac]{ctex}

加入这个。


标准解决方案和分析

这个问题老早就在texstudio的issue tracker里面有提到了,因为texstudio的自带的pdf阅读器的CJK(中日韩)语言显示依赖于poppler库。 @说谎的傻子 的回答只对了一半,并没有把问题讲清楚:没说为啥要新建一个/usr/local/Cellar/poppler/0.74.0-texworks/share目录。解决方案很简单,不用重新装老版本。分步说明如下:

(1) 确保mac上安装了poppler。可以用命令brew install poppler直接安装,如果已经安装了他会提示或许还会提示有新版本可以更新(更不更新过随便你);如果没有安装,那正好。

(2) 查看texstudio的libproppler.xx.dylib(xx表示版本号,比如libpoppler.89.dylib)动态库调用的系统proppler库的目录是。可以使用如下命令查看:

strings -a /Applications/texstudio.app/Contents/Frameworks/libpoppler.89.dylib | grep poppler

命令strings -a的作用是查看一个动态库调用了其他的所有库的信息,包括路径;grep的作用是只过滤其中包含poppler字元串的那些结果,这个字元串在结果中会高亮显示,查看的结果截图如下:

现在就知道texstudio调用的是/usr/local/Cellar/poppler/0.79.0-texworks/share/poppler目录下的库(注意这里的0.79.0是关键,这就是为什么@说谎的傻子的回答中创建/usr/local/Cellar/poppler/0.74.0-texworks/share目录的原因,应该是他的texstudio调用的版本是0.74.0),我敢肯定出现中文显示问题的同学肯定是没有这个目录。

(3) 那么接下来就可以创建一个这样的目录,并且把用brew安装的poppler库给软连接过去就行了。使用如下命令:

mkdir -p /usr/local/Cellar/poppler/0.79.0-texworks/share
ln -s /usr/local/Cellar/poppler/0.87.0/share/poppler /usr/local/Cellar/poppler/0.79.0-texworks/share/poppler

经过以上三步,就完美解决了问题。也讲这个问题的本质讲给了大家。觉得答案有用就请点个赞吧!

没有测试过其他版本,如果有人经过以上步骤依然没解决问题,欢迎交流,请再留言区详细描述问题,以便共同解决!


备注我的版本信息:

(1) TexStudio: 2.12.22

(2) poppler: 0.87.0


楼上所的对,是因为linux自带PDF渲染的问题,在终端termal里使用brew install poppler安装完成即可。brew命令需要安装homebrew,这个可以自行百度。


最近换Mac本之后也发现了这个问题。texstudio 应该是基于Qt的,记得之前在Linux下内置阅读器的渲染是依赖 libpoppler的,所以在macOS里也尝试用homebrew安装poppler发现就可以了。


对于最近出现的texstudio显示中文问题,参考了上 @说谎的傻子 等大佬的回答,查了一圈,应该就是poppler库版本问题,最新texstudio2.12.16版本用的库版本号很新(poppler官网最近更新的最新正式版版本也才0.83) ...

上面回答中重新链接的方法是可以的,但最小白的办法是重装一个旧版(在texstudio的sourceforge页面可以找到全部版本)。尝试过之后发现2017年11月更新的2.12.6是可以正常显示中文的(位于texstudio文件夹内)...它的poppler版本是.66(虽然并不同2.1210/12/14为啥也不行,他们的poppler版本是0.72,而homebrew已经更新到了0.81,很迷 )。


推荐阅读:
相关文章