Emacs的org-mode:如何在保存时自动“处理为PDF”?

6

Org-mode的C-cep可以将内容导出为LaTeX并处理为PDF如何使C-cep在每个C-xs上都执行?

此外,很可能这不是最佳解决方案,所以请随意提出更好的建议。现在,我必须同时进行C-cepC-xs

最终解决方案

对abo-abo下面的答案进行微小修改,不会打开PDF,让Skim捕捉到任何更改,因此保持Emacs的焦点。

(defun org-export-as-pdf ()
  (interactive)
  (save-buffer)
  (org-latex-export-to-pdf))

(add-hook 
 'org-mode-hook
 (lambda()
   (define-key org-mode-map 
       (kbd "<f5>") 'org-export-as-pdf)))

此外,应从一个全新的Emacs会话中将Org升级到8版本:也就是说,在使用软件包管理器安装之前,不应执行任何Org命令。否则,你将遇到Invalid function: org-with-silent-modifications错误。
1个回答

3
您可以使用以下内容:
(defun org-export-as-pdf-and-open ()
  (interactive)
  (save-buffer)
  (org-open-file (org-latex-export-to-pdf)))

(add-hook 
 'org-mode-hook
 (lambda()
   (define-key org-mode-map 
       (kbd "<f5>") 'org-export-as-pdf-and-open)))

UPD

这需要 org-mode 版本为 8.0.0 及以上。你可以使用 list-packages 轻松安装。


我正在使用自动刷新.pdf文件的Skim,所以(我认为)org-export-as-pdf(不带-and-open)就足够了。然而,我逐字尝试了您的解决方案,但出现了“符号函数定义无效:org-latex-export-to-pdf”的错误。 - Blaz
1
你必须使用旧版本的Org。请升级到8版。 - fniessen
我会将您的函数放在“after-save-hook”中,以回答OP的问题:(add-hook 'after-save-hook' 'org-export-as-pdf-and-open) - fniessen
在保存时导出每个org文件并不是很高效。我相信OP会觉得这非常烦人。在我看来,一键保存、导出和打开更好。 - abo-abo
你在Org 7方面是正确的。然而,现在由于异步导出(在Org 8中),当导出到PDF时你不再被阻塞了。 - fniessen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接