0

Emacs:Gnu Emacs 23.4
操作系统:OS X 10.6
rst.el:不确定版本,但从sourceforge下载最新

我在我的 .emacs 中设置了正确的路径,以便它可以看到 rst2pdf。我试图让 rst-compile-pdf-preview() 在我的 rst 模式下工作。当我执行 Cc Cc Cp 时,我不知道发生了什么——它默默地失败了。当我运行这个按键时,我希望 emacs 执行

rst2pdf "1 file with space.txt" -o "1 file with space.pdf"

请注意,我需要使用引号来处理带有空格和 -o 的文件。

这是被调用的代码:

(defvar rst-pdf-program "/Applications/Preview.app/Contents/MacOS/Preview"
"Program used to preview PDF files.")

(defun rst-compile-pdf-preview ()
"Convert the document to a PDF file and launch a preview program."
(interactive)
(let* ((tmp-filename (make-temp-file "rst_el" nil ".pdf"))
 (command (format "%s %s %s && %s -o %s ; rm %s"
          (cadr (assq 'pdf rst-compile-toolsets))
          buffer-file-name tmp-filename
          rst-pdf-program tmp-filename tmp-filename)))
  (start-process-shell-command "rst-pdf-preview" nil command)
  ;; Note: you could also use (compile command) to view the compilation
  ;; output.
   ))

(对不起,我似乎可以用正确的格式粘贴代码,我不想单独格式化每一行)。

现在,当我执行 Cc Cc Cc 并手动发出 rst2pdf 1.txt - 它可以工作。

4

2 回答 2

1

我检查了问题,发现外部 rst2pdf 不符合 reStructuredText 调用标准。rst.el 在这方面是正确的,并且可以与 Docutils 沙箱中的 rst2pdf 一起使用。恕我直言,应修复外部 rst2pdf 以符合 reStructuredText 标准。

除此之外,在预览功能中添加“-o”通常不会解决生成 PDF 时的问题。

斯特凡

rst.el 的维护者和主要开发者

于 2012-11-11T11:29:03.507 回答
0

看起来 rst.el 的这一部分确实存在错误。buffer-file-name需要引用,所以替换buffer-file-name(shell-quote-argument buffer-file-name). 我的 rst2pdf 也需要 a-o而 rst.el 代码似乎没有提供任何内容,但是您上面的示例代码添加了-o太“晚”:它应该放在第二个和第三个之间%s

于 2012-09-27T01:07:43.863 回答