私はメモややることを追跡するためにemacsorg-modeを使用しています。公式の会社スタイルを使用して、メモをラテックスファイルとしてエクスポートしたい場合があります。正しい見出しスタイルを取得するには、次のelispを実行します。
(add-to-list 'org-latex-classes
'("report"
"\\documentclass{report}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
)
残念ながら、これは.emacsでは機能しません。次のエラーが発生します。
Debugger entered--LISP error: (void-variable org-latex-classes)
(member (quote ("report" "\\documentclass{report}" ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))) org-latex-classes)
(if (member (quote ("report" "\\documentclass{report}" ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))) org-latex-classes) org-latex-classes (setq org-latex-classes (cons (quote ("report" "\\documentclass{report}" ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))) org-latex-classes)))
eval((if (member (quote ("report" "\\documentclass{report}" ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))) org-latex-classes) org-latex-classes (setq org-latex-classes (cons (quote ("report" "\\documentclass{report}" ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))) org-latex-classes))) nil)
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)
command-execute(eval-last-sexp)
このコマンドは、add-to-listを実行する前にorg-export-dispatchを実行してPDFにエクスポートした場合にのみ機能します。
私はelispとEmacsの設定の初心者であり、LaTeXの使用の初心者でもあります。ですから、誰かがコマンドを.emacsで動作させる方法を教えてくれたら、とてもありがたいです。 .emacsがロードされたとき、リストはまだ作成されていないと思いますが、これを機能させる方法について途方に暮れています。
以下を使用してください。
(with-eval-after-load 'ox-latex
(add-to-list 'org-latex-classes
'("report"
"\\documentclass{report}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
これにより、ox-latexパッケージがロードされるとすぐに変数が調整されます。
リストorg-latex-classes
はox-latex.el
で定義されているため、追加する前に(require 'ox-latex)
に.emacs
を挿入する必要があります。