![org-mode でヘッダーにカスタムファイルを含める](https://rvso.com/image/286974/org-mode%20%E3%81%A7%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%90%AB%E3%82%81%E3%82%8B.png)
私は、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: file
(http://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: