emacs org-odt-export-as-odf-and-odt在emacs之外

时间:2014-06-26 15:42:42

标签: emacs export external org-mode odt

直接使用orgmode选项导出和查看和odt文件应该是在libre / open office中查看它。但是,到目前为止,我还没有运气好工作;它始终作为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。

谢谢!

3 个答案:

答案 0 :(得分:0)

function you are calling用于导出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)))

答案 1 :(得分:0)

编辑在组织模式列表中提供了更优雅的解决方案,该列表不需要编辑任何打包的组织文件。只需将以下内容添加到.emacs中即可重新绑定系统正在执行的操作:

(setcdr (assq 'system org-file-apps-defaults-gnu ) "xdg-open %s")
<德尔> 当前版本的代码中存在错误。它可以通过编辑ox-odt.el的第97行来修复: :菜单项       &#39;(?o&#34;导出到ODT&#34;            ((?o&#34;作为ODT文件&#34; org-odt-export-to-odt)         (?O&#34;作为ODT文件并打开&#34;             (lambda(a s v b)               (如果是(org-odt-export-to-odt t s v)             (org-open-file(org-odt-export-to-odt nil s v)&#39; system))))))) 删除最后一个'&#39;系统`,所以你有: :菜单项       &#39;(?o&#34;导出到ODT&#34;            ((?o&#34;作为ODT文件&#34; org-odt-export-to-odt)         (?O&#34;作为ODT文件并打开&#34;             (lambda(a s v b)               (如果是(org-odt-export-to-odt t s v)             (org-open-file(org-odt-export-to-odt nil s v))))))) 如果您使用的是编译版本,则可能还需要等效编辑ox-odt.elc。

答案 2 :(得分:0)

我尝试过WorldsEndless的解决方案,但它不适用于我,而是使用此变体

(setcdr (assq 'system org-file-apps-defaults-gnu ) '(call-process "xdg-open" nil 0 nil file))