org-mode でヘッダーにカスタムファイルを含める

org-mode でヘッダーにカスタムファイルを含める

私は、TeX ドキュメント (およびそのようなもの) 用のいくつかのディレクティブを含む LaTeX ファイルを持っています\usepackage。今、私はこのファイルを別の org-mode ファイルで再利用したいと考えています。 を使用してファイルを含めることができることは知っています#+include: 'path/to/some/file.tex'が、これにより、ファイルの内容が の後に配置されます\begin{document}

何らかの方法でヘッダーにファイルを含めることはできますか?

提案されているように、ここに例を示します。

テンプレート.texヘッダーを保持するファイル:

\documentclass[a4paper]{customClass}
\usepackage{etex}
\title{Some Title}
\supervisor{Someone}

ここでも示されているように、これはカスタム ドキュメント クラスを使用します。これが、これを含められるようにしたい理由の 1 つです。

次に、すべてのコンテンツを含むファイルを作成します(コンテンツ.org):

#+INCLUDE: template.tex

* Chapter 1
** Subchapter 1
   Some content
** Subchapter 2
   More content

現在出力されているのは(コンテンツ.tex):

\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
% a lot more org-mode standard header stuff
% ...

\begin{document}

\maketitle

\setcounter{tocdepth}{3}
\tableofcontents
\vspace*{1cm}

% my template.tex file
% not where I wanted it
\documentclass[a4paper]{customClass}
\usepackage{etex}
\title{Some Title}
\supervisor{Someone}


\section{Chapter 1}
% rest of the document
% ...

\end{document}

つまり、template.texいくつかの組織ドキュメントでファイルを再利用して、一貫した書式設定を実現したいのです。これは可能ですか?

答え1

LaTeXファイルでこれを行う方法はわかりませんが、#+SETUPFILE: filehttp://orgmode.org/manual/In_002dbuffer-settings.html) を使用すると、エクスポートに外部 org ファイルを含めることができます。その後、#+LaTeX_HEADER:外部 org ファイルで使用できます。

たとえば、次のようになりますcontent.org

#+SETUPFILE: template.org

そして、次のようになりますtemplate.org

#+LaTeX_CLASS: customClass
#+LaTeX_CLASS_OPTIONS: [a4paper]
#+LaTeX_HEADER: \usepackage{etex}
#+LaTeX_HEADER: \title{Some Title}
#+LaTeX_HEADER: \supervisor{Someone}

をエクスポートするとcontent.org、それらは のプリアンブルの一部として含められますcontent.tex

答え2

org がエクスポートに使用する LaTeX ヘッダーは に保存されておりorg-format-latex-header、必要に応じて変更できます。ヘルプによると:

このヘッダーでは、ページにページ番号が表示されないようにする必要があります。変数 org-latex-packages-alist で定義されたパッケージは org-latex-default-packages-alist' and、このヘッダーのプレースホルダー "[PACKAGES]" を置き換えるか、追加されます。

答え3

org ファイル内にファイル ローカル変数を作成してデフォルトのヘッダーを無効にすると、必要な LaTeX コードを混乱させる独自のヘッダー出力がなくなります。

# Local Variables:
# org-latex-default-packages-alist: nil
# org-latex-with-hyperref: nil
# org-latex-packages-alist: nil
# End:

関連情報