使用 KOMA-Script 文章与 org-mode

使用 KOMA-Script 文章与 org-mode

我想使用 KOMA-Script 文章类将文档从 org-mode 导出到 latex scrartcl。我认为这就像从 切换到 一样简单articlebook所以我在我的 org 文件中输入了以下配置(文档是较大文档的子树):

:EXPORT_LATEX_CLASS: koma-article
:EXPORT_LATEX_CLASS_OPTIONS: [11pt,twoside,a4paper]

但是,执行导出命令后,我收到错误消息:

Unknown latex class `koma-article'

我无法想象 org-mode 无法自动识别 koma 类。我在网上做了一些研究,并尝试此解决方案但它不起作用。

怎么了?我明显没有做哪些事吗?

感谢您的帮助。

评论后添加信息:类的正确名称是scrartcl和 不是。实际上,我尝试了和koma-article这两个名称,但在这两种情况下,我都得到了相同的错误消息。koma-articlescrartcl

答案1

组织手册

默认情况下,LaTeX 输出使用类article

您可以通过为 设定不同的值来全局更改此设置, 或者通过在文件中org-latex-default-class添加选项来局部 更改此设置,或者 使用在导出仅包含此(子)树的区域时适用的属性来更改此设置。该类必须在 中列出。此变量为每个类定义一个标题模板,并允许您为每个类定义分段结构。您还可以在那里定义自己的类。#+LATEX_CLASS: myclassEXPORT_LATEX_CLASSorg-latex-classes

org-latex-classes是一个包含 LaTeX 类和相关标题和结构的关联列表。因此,您必须将您的添加koma-article到此列表中。我建议您在 init 文件中放入类似以下内容的内容:

(eval-after-load "ox-latex"
  '(add-to-list 'org-latex-classes
                '("koma-article" "\\documentclass{scrartcl}"
                  ("\\section{%s}" . "\\section*{%s}")
                  ("\\subsection{%s}" . "\\subsection*{%s}")
                  ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
                  ("\\paragraph{%s}" . "\\paragraph*{%s}")
                  ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))))

如果您使用的是 Emacs 24.4 或更高版本,则可以使用:

(with-eval-after-load "ox-latex"
  (add-to-list 'org-latex-classes
               '("koma-article" "\\documentclass{scrartcl}"
                 ("\\section{%s}" . "\\section*{%s}")
                 ("\\subsection{%s}" . "\\subsection*{%s}")
                 ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
                 ("\\paragraph{%s}" . "\\paragraph*{%s}")
                 ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))))

相关内容