koma-article определена в org-latex-classes, но не в ava

koma-article определена в org-latex-classes, но не в ava

Я попробовал это предложение:Использование статьи KOMA-Script с org-mode

При попытке экспорта из файла org в документ LaTeX класса koma-article я получаю сообщение unknown LaTeX class '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.

Экспорт в файл LaTeX с классом article работает. Затем я могу изменить класс на scrartcl в режиме TeX и создать pdf. Это работает, но мне было интересно, есть ли способ пропустить этот шаг.

Спасибо.

решение1

Это строка документации org-latex-classes:

org-latex-classes— это переменная, определенная в ox-latex.el.

Список классов LaTeX и связанный заголовок и структура. Если #+LATEX_CLASSзадано в буфере, используйте его значение и связанную информацию. Вот структура каждой ячейки:

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

Первая запись в каждом списке — это class-nameимя, которое вы установили с помощью #+LATEX_CLASS:в вашем файле .org. Так что если вы хотите использовать 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.

Связанный контент