Использование статьи KOMA-Script с org-mode

Использование статьи KOMA-Script с org-mode

Я хочу экспортировать документ из org-mode в latex с классом статьи KOMA-Script scrartcl. Я думал, что это так же просто, как переключиться с articleна book. Поэтому я поместил в свой org-файл следующую конфигурацию (doc — это поддерево более крупного документа):

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

Однако после выполнения команды экспорта я получаю сообщение об ошибке:

Unknown latex class `koma-article'

Я не мог себе представить, что классы кома не распознаются автоматически org-mode. Я провел некоторые исследования в Интернете и попробовалэто решениено это не сработало.

Что не так? Есть ли что-то очевидное, что я не делаю?

Спасибо за вашу помощь.

Добавлена ​​информация после комментария:правильное имя класса — scrartclа не koma-article. На самом деле я пробовал оба имени koma-articleи scrartcl, но в обоих случаях получаю одно и то же сообщение об ошибке.

решение1

Оторг руководство:

По умолчанию вывод 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}"))))

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