2017-05-04 3 views
2

C-c C-x C-l 명령을 사용하여 org-mode에서 latex 코드를 미리 봅니다. emacs-nox가이 작업을 수행 할 수 없기 때문에 apt-get install emacs24을 시도했습니다. 내가 GUI와 emacs24를 설치 한 후 그러나, 나는org-mode의 Emacs24가 'latex'을 찾을 수 없습니다. (이미지의 LaTeX 조각을 변환하는 데 필요합니다.)

내가 texlive2016를 설치 한
can't find \`latex'(needed to convert LaTeX fragments to images) 

같은 오류가 발생, 내가 할 수 latex *.tex 쉘 명령한다.

.emacs에 /paht/to/latex을 추가했지만 제대로 작동하지 않습니다.

+0

어떻게 이맥스에/path/to/latex를 추가 했습니까? ' – Nick

+1

이맥스'CX는 Cf를'열려 ~/이맥스,'("/ 경로 /로/라텍스" (의 GetEnv "PATH") ) 에서는 setenv "PATH" (CONCAT)를 추가 - '오류'를't', 미리보기를 시도하고 backtrace를 어딘가에 게시 하시겠습니까? 또한 org-mode 버전을 게시하십시오 ('M-x org-version'이 알려줍니다). BTW, 이것은 아마도 org-mode 메일 링리스트에서 더 잘 수행 될 것입니다. – nil

+0

당신이'디버그를 설정할 수 있습니다 – Nick

답변

1

내 수정 구슬은 터미널에서 GUI 이맥스를 시작하지 않으므로 $ PATH 설정을 상속받지 못한다는 사실을 알려줍니다. 예를 들어 https://emacs.stackexchange.com/questions/10722/을 봅니다 (해당 질문은 OSX에 있지만 다른 시스템에서도 같은 문제가 나타납니다).

분명히 env-vars를 ~/.pam_environment (GNU/Linux 시스템의 경우)에 GUI에서 직접 시작된 것을 포함하여 모든 응용 프로그램에 영향을 미칠 수 있도록 전역으로 설정할 수 있습니다. 이것은 로그인 할 때만 참조되므로 변경 사항을 적용하려면 logout + login을해야합니다.

;; 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/") 

그것은 아주 예쁜 솔루션 아니지만, 일을 수정하고 이해하기 매우 쉽습니다 :

+0

thx. 실제로 슈퍼 키에서 GUI 이맥스를 시작합니다. 그러나 ~/.emacs의 $ PATH가 작동 중입니다. 실제로, 내 문제는 $ path에/path/to/latex를 추가하는 것이지만 $ exec-path가 아니라 [exec-path와 PATH의 차이] (https://www.emacswiki.org/emacs/ExecPath), – nil

+0

다른 모든 응용 프로그램에서 사용되는'$ PATH'와 같아야하므로'~/.emacs'에서'$ PATH' (또는'exec-path')로 간섭하지 않아야합니다 : 글로벌 설정이어야합니다. – Stefan

+1

하지만이 작업을 수행하면 유용하고 문제가 해결됩니다. – nil

1

init.el에 다음을 추가하면 작동합니다.

이 솔루션은 macOS Sierra 및 Emacs v25.1을 실행하는 Mac에서 작동했습니다.