Emacs和Pandoc:can';不要创建pdf

Emacs和Pandoc:can';不要创建pdf,emacs,pandoc,Emacs,Pandoc,我在Mac中使用GNU Emacs。安装了最新版本的Pandoc后,我无法创建pdf文件。当我使用终端时,Pandoc工作得很好。我认为问题在于Emacs没有找到模板default.latex。此模板位于my~/.pandoc/templates中 这是我在尝试创建pdf时收到的错误消息: pandoc:/usr/local/share/pandoc-1.10.1/data/templates/default.latex:openBinaryFile:不存在(没有这样的文件或目录) 我不明白为什

我在Mac中使用GNU Emacs。安装了最新版本的Pandoc后,我无法创建pdf文件。当我使用终端时,Pandoc工作得很好。我认为问题在于Emacs没有找到模板default.latex。此模板位于my
~/.pandoc/templates

这是我在尝试创建pdf时收到的错误消息: pandoc:
/usr/local/share/pandoc-1.10.1/data/templates/default.latex:openBinaryFile:不存在(没有这样的文件或目录)

我不明白为什么Emacs试图在这里找到
default.latex

(setq pandoc-binary "/usr/local/bin/pandoc")
此答案假设您在
/usr/local/bin/
中没有名为
pandoc
的文件夹,并且实际可执行文件的绝对路径为
/usr/local/bin/pandoc
。如果可执行文件被更深地隐藏在另一个或更多文件夹中,则相应地调整本例中的路径。此答案顶部的代码位于
.emacs
文件中

您可能还希望根据首选设置修改此变量:

(setq pandoc-data-dir "~/.emacs.d/pandoc-mode/")

您可以使用以下方法实现更通用的解决方案:

GNU Emacs库,用于确保Emacs中的环境变量与用户外壳中的环境变量相同

只需在
.emacs
文件中安装它,并要求它(仅当您不使用MELPA时),然后将这一行添加到其中:

(exec-path-from-shell-initialize)

有关更多信息,请参阅。

也许您最新版本的pandoc有一个新文件夹名,您需要重新调整路径,以包含包含pandoc可执行文件的新文件夹。下面是我在texlive中使用的示例:
(setenv“PATH”(concat(getenv“PATH”):/usr/texbin”)
,因此您需要找出新的pandoc安装到哪里。@lawlist My pandoc v.1.12.3安装在
/usr/local/bin/pandoc
中。我在
usr/bin
中还有一个较旧的版本v.1.10.1。Pandoc在Emacs中工作(几乎)很好,因为我可以从中转换文件。唯一不起作用的是转换为pdf文件。我会尝试将其放入我的
.emacs
文件中,看看这是否有帮助:
(setenv“PATH”(concat(getenv“PATH”):/usr/local/bin/pandoc”)
要想获得更多帮助,我们需要知道您是如何指示pandoc生成latex文件的。例如,您是否正在使用
pandoc模式
?:您可以做的另一件事是在OSX的应用程序文件夹中打开Terminal.app并键入
echo$PATH
。您可能会发现您的旧pandoc文件夹出现了。如果是这样,那么您可以删除它——OSX使用各种位置来设置路径——例如,在雪豹上,有四个常见的位置可以设置这些内容:
/private/etc/path
<代码>/private/etc/path.d/X11<代码>~/.bash_配置文件;和
~/.profile
非常感谢您的帮助。在
init.el
中设置
pandoc binary
回答了我的问题。太好了——很高兴能提供帮助。请在答案上打勾,将此线程标记为已解决。