1

orgmode 选项用于导出和查看 odt 文件的直观用途应该是在 libre/open 办公室中查看它。但是,到目前为止,我还没有让它发挥作用。它总是在 emacs 中作为压缩存档打开。通过插入我的 .emacs

(add-to-list 'org-file-apps '("\\.odt\\'" . "xdg-open %s"))

在访问 org 文件中的文件链接时,我会正确打开它们,但它似乎不会影响导出和查看选项。我已经考虑过改变org-odt-export-as-odf-and-open,但没能看到它有什么不同。任何帮助,将不胜感激。再一次,我想org-odt-export-as-odf-and-open用 xdg-open 或 libreoffice 打开 odf,而不是 Emacs。

谢谢!

4

3 回答 3

1

您调用的函数用于导出 OpenDocument公式.odf文件),而不是 OpenDocument 文本文档(.odt文件):

Export LaTeX fragment as OpenDocument formula and immediately open it.
Use `org-odt-export-as-odf' to read LaTeX fragment and OpenDocument
formula file.

由于导出的文件没有.odt扩展名,因此您的添加org-file-apps不会影响它。

我没有看到任何将 Org 模式文档导出到 LibreOffice Writer 文件并打开它们的内置函数,但编写起来很简单:

(defun my-org-export-to-odt-and-open ()
  (interactive)
  (org-open-file (org-odt-export-to-odt)))
于 2014-06-26T16:49:39.450 回答
0

编辑在 org-mode 列表中提供了一个更优雅的解决方案,不需要编辑任何打包的 org 文件。只需将以下内容添加到您的 .emacs 即可重新绑定 'system 正在执行的操作:

(setcdr (assq 'system org-file-apps-defaults-gnu ) "xdg-open %s")
当前版本的代码存在错误。可以通过编辑 ox-odt.el 的第 97 行来修复它: :menu-entry '(?o "Export to ODT" ((?o "As ODT file" org-odt-export-to-odt) (?O "作为 ODT 文件并打开" (lambda (asvb) (if a (org-odt-export-to-odt tsv) (org-open-file (org-odt-export-to-odt nil sv) 'system)) )))) 通过删除最后一个 `'system`,所以你有: :menu-entry '(?o "Export to ODT" ((?o "As ODT file" org-odt-export-to-odt) ( ?O "作为 ODT 文件并打开" (lambda (asvb) (if a (org-odt-export-to-odt tsv) (org-open-file (org-odt-export-to-odt nil sv) )) )))) 您可能还需要编辑 ox-odt。
于 2014-06-27T19:20:00.787 回答
0

我已经尝试过 WorldsEndless 的解决方案,但它对我不起作用,而是我使用了这个变体

(setcdr (assq 'system org-file-apps-defaults-gnu ) '(call-process "xdg-open" nil 0 nil file))
于 2015-05-17T18:58:55.867 回答