koma-article은 org-latex-classes에 정의되어 있지만 ava에는 정의되어 있지 않습니다.

koma-article은 org-latex-classes에 정의되어 있지만 ava에는 정의되어 있지 않습니다.

나는 다음에서 제안을 시도했습니다.조직 모드에서 KOMA 스크립트 사용하기

조직 파일에서 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 데이터가 있습니다.

기사 클래스를 사용하여 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)
  ...)

각 목록의 첫 번째 항목은 .org 파일에서 class-name설정한 이름입니다 . #+LATEX_CLASS:따라서 를 사용하려면 scrartclinit 파일의 항목이 다음과 같아야 합니다.

(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.

관련 정보