【问题标题】:Emacs ,org, beamer - No definition for class `beamer' in `org-export-latex-classes'Emacs,org,beamer - 在“org-export-latex-classes”中没有类“beamer”的定义
【发布时间】:2011-07-14 10:14:08
【问题描述】:

我正在关注这个tutorial,当我尝试将演示文稿导出到乳胶时出现此错误:

No definition for class `beamer' in `org-export-latex-classes'

注意:
我从 Ubuntu 的存储库中安装了 emacs。以下是我系统中可用的相关软件包:

emacs-snapshot
emacs-snapshot-bin-common
emacs-snapshot-common
emacsen-common
latex-beamer
latex-xcolor
preview-latex-style
texlive-latex-base
texlive-latex-extra
texlive-latex-recommended

我错过了什么吗?我需要配置其他东西吗?

【问题讨论】:

  • 您能否发布M-x org-version 的输出并指定您的安装方式?我认为您需要 org-beamer.el 并且不确定 emacs 附带的 org-mode 是否具有它。当我执行$ locate org-beamer 时,我对org-beamer.el 的唯一点击是在我当前版本或组织模式的git 克隆中。
  • 请注意,在第 8 版中,它们似乎对处理导出的方式进行了大修,但它(还)不包括 beamer 的合理默认值。代码导出代码现在都是ox-*

标签: emacs latex org-mode beamer


【解决方案1】:

我发现我必须运行 M-x org-beamer-export-to-pdf 才能让它工作。

【讨论】:

  • 谢谢!这也对我有用,但制作 pdf 文件花了很长时间。
  • 这是唯一一个适用于我的安装的答案。
【解决方案2】:

是的。你应该在 org-latex-export-classes 中定义 beamer 类。一个如何定义的例子在这个blog post

【讨论】:

  • 谢谢。它现在就像一个魅力。
  • 更新:有问题的变量现在是org-latex-classes
【解决方案3】:

编辑: 2022 年更新并让重现性更直接

原始答案如下,自 2011 年以来未触及。我仍然认为,在 2022 年,最受好评的答案和接受的答案是不必要的,而且众所周知,如果不了解基础知识,org-mode 就很难排除故障:

  • .emacs 和其他配置文件
  • 确切使用的.org文件

在尝试重新创建 worg tutorial cited 时,我认为它不再按原样工作。请注意,手册现在引用了different example

无论如何,这里是a github repo,我创建了以下内容,以帮助找到此内容的任何其他人:

  • min-config(没有自定义的 org-latex-classes 定义作为公认的答案建议的投影仪
  • 修改后的beamer_test.org 使用min-config 为我导出;一些小的调整是必要的
  • 名称中带有_ref的pdf和org文件;当用户导出时,他们可以将他们生成的 pdf 和 tex 文件(下载的 repo 中的文件将被覆盖)与这些引用进行比较,以研究差异并更好地识别问题

希望这能更好地消除对这个问题的任何绊脚石的困惑。

最后注:我相信我下面的答案可能总是错误的,或者在过去 10 年的某个时候出错,因为它应该是 C-c C-e lP 作为最终选项(beamer pdf),而不是 @987654334 @(常规乳胶 pdf)。我不记得有那么久的 org-mode 知道p 是否曾经在给定#+latex_class: beamer 设置的情况下工作过。

编辑 2 正如 ceochronos 在 cmets 中指出的那样,无论如何我的回答可能总是错误的,因为我在导出选项 C-c C-e pC-c C-e l p 中省略了小写 L .话又说回来,C-c C-e 是一个没有p 选项的交互式菜单,所以希望它不会在多年来太多 很多人的头脑中混淆!


不再需要接受的答案。 Beamer 导出有一个内置功能。有关详细信息,请参阅this tutorial。本质上,只需将以下内容放在 org 文件的顶部(在任何标题之前):

#+startup: beamer
#+LaTeX_CLASS: beamer
#+BEAMER_FRAME_LEVEL: 2

第一个选项引入了一些特定于投影仪的选项,第二个确保导出到 LaTeX 使用投影仪类,第三个选项意味着顶级标题是部分,第二级是幻灯片。将每个顶部标题作为幻灯片的值更改为 1。

然后用C-c C-e p导出。

【讨论】:

  • 您建议的教程与 OP 所遵循的教程相同。我也在做同样的事情,导出函数为我返回与 OP 相同的错误。
  • @SabreWolfy:哎呀!很抱歉错过了。我会在上面评论以获取更多信息。
  • 从 org-mode 9.4 开始,C-c C-e p 不起作用
  • @ceochronos 在 2022 年(或者可能永远),应该是 C-c C-e l P。 (这是小写 L,而不是 1)。看起来我至少错过了l,并且可能应该一直使用P,而不是p。再说一次,在给定#+latex_class: beamer 选项的情况下,org 可能曾经使用过p。在任何情况下,请查看更新后的答案,并使用完全可重现的配置和可以测试的文件查看我的存储库。
猜你喜欢
  • 1970-01-01
  • 2014-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多