关于 emacs:如何使用 Org-mode 重复投影仪帧?

How can I repeat a beamer frame with Org-mode?

使用 Beamer 可以通过标记应该重复的帧来重复帧,例如

1
2
3
\\begin{frame}[label=framelabel]
...
\\end{frame
}

,然后在要重复该帧的地方使用 \\againframe{framelabel}

这种方法如何与 Org-mode\\ 的 Beamer 导出一起使用?标签显然可以通过将其放在 BEAMER_envargs 中来添加,例如:

1
2
3
4
* Org-mode section
:PROPERTIES:
:BEAMER_envargs: [label=questions]
:END:

但是通过Org-mode使用\\againframe有两个问题:

  • \\againframe 放在 Org-mode 部分下和直接放在 Org-mode 部分中都不好。问题在于,在前一种情况下,当它应该放在框架之间时,它被放置在框架内。后一种情况的问题是它被放置在 \\frametitle 内。
  • \\againframe 要么被 Org 模式部分吞下,要么被标记为 1。两者都是其功能的不良逻辑表示。
  • 那么是否有一些有效的方法可以将 \\againframe 与 Beamer 一起使用,或者是否有其他方法可以在我忽略的 Org 模式下重复帧?

    我已经查看了 http://lists.gnu.org/archive/html/emacs-orgmode/2011-05/msg00954.html 试图解决这个问题。

    我在 Emacs 23.3.1 中运行 Org-mode 7.6,我使用 Beamer 3.13。


    当前的组织模式支持againframe。只需创建一个框架并将投影仪选项 BEAMER_env = againframe 添加到相应的部分。或者,如果您在 org-startup 上初始化了 beamer 模式,则使用 C-c C-b a 插入它。

    更多信息可以在 org-mode 文档中找到。

    在语法的原始提案中提供了一个示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    * section
    ** My frame title                     :B_frame:
    :PROPERTIES:
    :BEAMER_env: frame
    :END:

    Some text. Some text.  Some text. Some text.
    Some text. Some text.  Some text. Some text.

    ** section                                         :B_againframe:
      :PROPERTIES:
      :BEAMER_env: againframe
      :BEAMER_act: 2
      :BEAMER_ref: *My frame title
      :END:

      This section will create"\\againframe<2>{sec-1-2}".

    ** Following frame
    etc.

    我认为目前这是不可能的。限制在于组织文档的树结构。据我从您的问题中了解到, \\againframe{...} 命令基本上按原样重复幻灯片。在组织方面,这意味着用于生成幻灯片的原始树被重复。由于 org 文档格式不允许您拥有任何不属于树的内容(除了文件顶部的frontmatter/header),我相信这是不可能的。这已经在邮件列表上讨论过几次,据我了解,没有计划实施这样的事情。