koma-article 在 org-latex-classes 中定义,但没有 ava

koma-article 在 org-latex-classes 中定义,但没有 ava

我尝试了以下建议:使用 KOMA-Script 文章与 org-mode

当我尝试从 org 文件导出到 LaTeX 文档类 koma-article 时,我收到消息未知的 LaTeX 类“scrartcl”。

这是一个 MWE。

#+LATEX_CLASS: scrartcl
#+latex_class_options:

#+title: Mininum Working Example

* Opening Statement

 This is a minimal working example.

以下是我的 init.el

(require 'ox-latex)
(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}"))))

我已经检查了'org-latex-classes 并且 koma-article 数据就在那里。

导出到带有 article 类的 LaTeX 文件是可行的。然后我可以在 TeX 模式下将类更改为 scrartcl 并创建 pdf。它有效,但我想知道是否有办法跳过该步骤。

谢谢。

答案1

这是的文档字符串org-latex-classes

org-latex-classes是在 中定义的变量ox-latex.el

LaTeX 类和相关标题及结构的列表。如果 #+LATEX_CLASS在缓冲区中设置,则使用其值和相关信息。以下是每个单元格的结构:

(class-name  
  header-string
  (numbered-section . unnumbered-section)
  ...)

每个列表中的第一个条目是 ,这class-name是您在 .org 文件中使用 设定的名称#+LATEX_CLASS:。因此,如果您想使用scrartcl,则 init 文件中的条目应如下所示:

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

(require 'ox-latex)请注意,使用时不需要表格with-eval-after-load

相关内容