导出过程中 可以插入其他文件内容。例如插入 ‘.emacs’ 文件可使用:
#+INCLUDE: "~/.emacs" src emacs-lisp
INCLUDE 关键字后有三个位置参数:
org-escape-code-in-string 转义。可使用任意块名,但以 ‘:’ 开头的块名需要加引号,如 ‘":name"’ 。
如果插入的文件未指定标记语言,Org 会默认将其视为 Org 格式并照常处理,仅有少数例外情况。Org 会让插入文件中的脚注标记(见 Creating Footnotes)仅在该文件内有效。插入文件的内容归属于包含 ‘INCLUDE’ 关键字的同一结构—标题、列表项等。具体来说,文件内的标题会成为当前章节的子标题。可以通过附加关键字参数 ‘:minlevel’ 改变这一行为,它会将插入文件中的标题整体提升为最低层级。例如,下面的语法会让插入文件与当前顶层标题成为同级标题:
#+INCLUDE: "~/my-book/chapter2.org" :minlevel 1
使用 ‘:lines’ 参数可只插入文件部分行,范围为左闭右开区间,起止值可省略以使用默认值。
| ‘#+INCLUDE: "~/.emacs" :lines "5-10"’ | 插入第 5–9 行 |
| ‘#+INCLUDE: "~/.emacs" :lines "-10"’ | 插入第 1–9 行 |
| ‘#+INCLUDE: "~/.emacs" :lines "10-"’ | 从第 10 行插入到文件末尾 |
可使用文件链接提取 org-link-search 匹配的对象132(见 Search Options in File Links)。 ‘:lines’ 范围相对于目标元素,因此:
#+INCLUDE: "./paper.org::*conclusion" :lines "1-20"
会插入标题 ‘conclusion’ 下的前 20 行。
将 ‘:only-contents’ 设为非 nil 可只提取匹配对象的正文内容,忽略计划行与属性抽屉。例如插入自定义 ID 为 ‘theory’ 的标题正文:
#+INCLUDE: "./paper.org::#theory" :only-contents t
以下命令可跳转到插入文件:
org-edit-special) ¶访问光标处的插入文件。
注意 org-link-search-must-match-exact-headline 本地绑定为非 nil ,因此 org-link-search 仅匹配标题与命名元素。