2017-05-04 76 views
2

我想使用命令C-c C-x C-l在組織模式下預覽乳膠代碼。由於emacs-nox無法做到這一點,我試過apt-get install emacs24。不過,我已經安裝了GUI的emacs24後,我得到這樣Emacs24 org-mode無法找到「乳膠」(需要將LaTeX碎片轉換爲圖像)

can't find \`latex'(needed to convert LaTeX fragments to images) 

我已經安裝了texlive2016一個錯誤,我在shell命令latex *.tex

我將/paht/to/latex添加到.emacs中,但效果不佳。

+0

你是如何將/ path/to/latex添加到emacs的? – Nick

+1

emacs的'CX比照'開〜/的.emacs,加上'(SETENV 「PATH」 (CONCAT 「:/路徑/到/乳膠」 (getenv的 「路徑」) ) )' – nil

+0

可以在設置'調試-on-error'到't',嘗試預覽並在某處發佈回溯?同時發佈你的組織模式版本('M-x org-version'會告訴你)。順便說一句,這可能會更好地在組織模式郵件列表上完成。 – Nick

回答

1

我的水晶球告訴我,問題是你沒有從終端啓動GUI Emacs,所以它不能繼承你的$ PATH設置。例如見https://emacs.stackexchange.com/questions/10722/(該問題在OSX內,但在其他系統中出現相同的問題)。

顯然,您可以在~/.pam_environment(即GNU/Linux系統)中全局設置env-vars(以便它們影響所有應用程序,包括直接從GUI啓動的應用程序)。請注意,只有在您登錄時纔會查閱,因此您需要註銷+登錄才能使更改生效。

+0

thx。我確實從超級密鑰啓動了我的GUI Emacs。但〜/ .emacs中的$ PATH正在工作。實際上,我的問題是我將/ path/to/latex添加到$ PATH,而不是$ exec-path,[exec-path和PATH之間的區別](https://www.emacswiki.org/emacs/ExecPath), – nil

+0

你應該不需要干涉'〜/ .emacs'中的'$ PATH'(也不需要'exec-path'),因爲它應該與所有其他應用程序中使用的$ PATH相同:它應該是一個全球性的設置。 – Stefan

+1

但是當我這樣做,它是有用的,並解決我的問題 – nil

1

添加以下到我的​​使得它的工作:

;; Making emacs find latex (so that C-c C-x C-l works on orgmode) 
(setenv "PATH" (concat ":/Library/TeX/texbin/" (getenv "PATH"))) 
(add-to-list 'exec-path "/Library/TeX/texbin/") 

這不是一個很漂亮的解決方案,但它的工作,是很容易修改和理解。

該解決方案在運行macOS Sierra和Emacs v25.1的Mac上運行。