在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,很迷 )。


推薦閱讀:
相关文章