KOMA-Script の記事クラスを使用して、org-mode から LaTeX にドキュメントをエクスポートします。からscrartcl
に切り替えるのと同じくらい簡単だと思いました。そこで、org ファイルに次の構成を入れました (ドキュメントは、より大きなドキュメントのサブツリーです)。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
両方の名前を試しましたが、どちらの場合も同じエラー メッセージが表示されます。koma-article
scrartcl
答え1
からorgマニュアル:
デフォルトでは、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}"))))