在 org-mode 中使用 KOMA-Script 文章

在 org-mode 中使用 KOMA-Script 文章

我想使用 KOMA-Script 文章類將文件從 org-mode 匯出到 Latex scrartcl。我認為這就像從 切換article到 一樣簡單book。因此,我在我的組織文件中新增了以下配置(該文件是較大文件的子樹):

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

但是,在執行匯出命令後,我收到錯誤訊息:

Unknown latex class `koma-article'

我無法想像 org-mode 不會自動辨識 koma 類別。我在網上做了一些研究並嘗試過這個解決方案但沒有成功。

怎麼了 ?有什麼明顯我沒有做的事情嗎?

感謝您的幫助。

評論後新增資訊:正確的類別名稱是 ,scrartcl而不是koma-article。實際上我嘗試了 namekoma-articlescrartcl,但在這兩種情況下我都收到相同的錯誤訊息。

答案1

組織手冊:

預設情況下,LaTeX 輸出使用類別article.

您可以透過設定不同的值來全域變更此值 ,也可以透過在檔案中org-latex-default-class新增選項(如 在檔案中)或 使用匯出僅包含此(子)樹的區域時套用的屬性來本機變更此值。該類別必須列在 中。此變數為每個類別定義一個標頭模板,並允許您為每個類別定義分段結構。您也可以在那裡定義自己的類別。#+LATEX_CLASS: myclassEXPORT_LATEX_CLASSorg-latex-classes

org-latex-classes是一個包含 LaTeX 類別以及關聯頭和結構的關聯清單。因此,您必須將您的添加koma-article到此清單中。我建議你在初始化檔案中加入這樣的內容:

(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}"))))

相關內容