【问题标题】:reference unique id across emacs org-mode files跨 emacs 组织模式文件引用唯一 ID
【发布时间】:2014-11-25 16:56:39
【问题描述】:

我有几个 .org 文件,我希望能够使用 ID 在它们之间创建链接。我使用 DOI 作为唯一标识符。我可以使用属性在文件中链接:

* Paper 1
  :PROPERTIES:
  :CUSTOM_ID: 10.1088/0953-8984/23/21/213001
  :END:

* Paper 2
  :PROPERTIES:
  :CUSTOM_ID: 10.1038/nphys2935
See also [[#10.1088/0953-8984/23/21/213001]]

有没有办法使 custom_id 全局化,以便我可以从另一个文件中引用它?

我认为 org-id 是我需要更进一步的,但我发现文档有点混乱。我尝试在我的.emacs 中添加以下行

;; Use global IDs
(require 'org-id)
(setq org-id-link-to-org-use-id use-existing)

;; Update ID file .org-id-locations on startup
(org-id-update-id-locations)

但是文件.emacs.d/.org-id-locations只有nil

似乎不会自动生成全局链接 (Assign IDs to every entry in Org-mode)。我尝试(将光标放在标题上)使用M-x org-id-get-create,但这似乎没有任何作用。

编辑:(基于有用的评论)

在一个会话中,我可以在标题上使用M-x org-store-link 存储和创建链接(在上面的示例中为Paper 1)。然后我可以使用M-x org-insert-link,并输入 ID 以插入链接。链接看起来像[[id:10.1088/0953-8984/23/21/213001][Paper 1]]。但我遇到了两个问题:(1)我希望自动存储 ID。 (2) 当我关闭并重新打开文件时,链接不起作用。

编辑:一个相关问题:

https://emacs.stackexchange.com/questions/2186/have-org-modes-exported-html-use-custom-id-when-linking-to-sub-sections-in-toc

【问题讨论】:

  • 也许有帮助:(setq org-id-link-to-org-use-id 'create-if-interactive)。我使用org-store-linkorg-insert-link
  • 我认为org-store-linkorg-insert-link 让我成功了!但是一旦我关闭并重新打开文件,这些链接就不起作用了。我错过了一些配置吗? (我将使用新信息编辑我的问题)

标签: emacs org-mode


【解决方案1】:

这就是我想出的解决方案。

  1. 在我的.emacs 配置中,我保留了与我的问题中相同的设置:

    (require 'org-id)
    (setq org-id-link-to-org-use-id use-existing)
    
    ;; Update ID file on startup
    (org-id-update-id-locations)
    
  2. 文件需要成为议程列表的一部分(或使用org-id-extra-files (See org-id documentation) 添加到其他文件列表中)

  3. PROPERTIES 抽屉中使用ID 而不是CUSTOM_ID

    * Paper 1
      :PROPERTIES:
      :ID: 10.1088/0953-8984/23/21/213001
      :END:
    
  4. 需要创建每个 ID(如果需要;在我的情况下,我已经拥有它们),并将链接添加到 ID 文件中(链接存储在 .emacs.d/.org-id-locations 中)。这是使用org-id-get-create 完成的:将光标放在标题上,调用它使用

    M-x org-id-get-create
    
  5. 使用[[id:10.1088/0953-8984/23/21/213001][Paper 1]]链接到一个ID。

我需要多考虑一下何时创建 ID;我可以通过将 ID 存储绑定到我将对所有标题执行的另一个函数来自动化该过程。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多