我正在使用带有 org 模式的 emacs 来记笔记。我读到组织模式可以在您键入时导出为 pdf C-c C-e lp
。当我输入此内容时,*Org PDF LaTeX Output*
缓冲区显示:
/bin/bash: pdflatex: 未找到命令
但是当我$ pdflatex
在终端上运行时,程序就会执行。我相信 emacs 不会在 bash 中登录,因此它无法访问我的$PATH
变量。
你知道我该如何解决这个问题吗?提前致谢。
答案1
当 Emacs PATH 不复制登录 shell 的内容时,我也遇到同样的问题。我在 Emacs *scratch* 缓冲区中运行此命令:
(getenv "PATH")
"/usr/bin:/bin:/usr/sbin:/sbin"
(或者,点击M-x
并键入getenv
,然后键入PATH
。)
pdflatex
我在终端的登录 shell 中搜索了位置:
> which pdflatex
/Library/TeX/texbin/pdflatex
所以我将该目录添加到 PATH 中,例如将其添加到.emacs
:
(setenv "PATH" (concat (getenv "PATH") ":/Library/TeX/texbin"))
M-x load-file
并使用 和输入再次获取它~/.emacs
。现在C-c C-e lp
在组织模式下可以工作:
PDF file produced.
(交叉发布于堆栈溢出.)