我想使用 KOMA-Script 文章类将文档从 org-mode 导出到 latex scrartcl
。我认为这就像从 切换到 一样简单article
。book
所以我在我的 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-article
scrartcl
答案1
从组织手册:
默认情况下,LaTeX 输出使用类
article
。您可以通过为 设定不同的值来全局更改此设置, 或者通过在文件中
org-latex-default-class
添加选项来局部 更改此设置,或者 使用在导出仅包含此(子)树的区域时适用的属性来更改此设置。该类必须在 中列出。此变量为每个类定义一个标题模板,并允许您为每个类定义分段结构。您还可以在那里定义自己的类。#+LATEX_CLASS: myclass
EXPORT_LATEX_CLASS
org-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}"))))