我尝试了以下建议:使用 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
。