組織ファイルの上部にあるLATEX_HEADERの混乱を減らす


13

私はよく組織モードでメモを書き、latexにエクスポートします。ただし、一部のドキュメントは複雑であるため、次のように先頭に多くのラテックスパッケージを含める必要があります。

#+LATEX_HEADER: \usepackage[margin=1.15in]{geometry}
#+LATEX_HEADER: \usepackage{parskip}
#+LATEX_HEADER_EXTRA: \usepackage{graphicx}
#+LATEX_HEADER_EXTRA: \usepackage{mdframed}
#+LATEX_HEADER_EXTRA: \usepackage{needspace}
#+LATEX_HEADER_EXTRA: \usepackage{hyperref}         
#+LATEX_HEADER_EXTRA: \usepackage{titling}
#+LATEX_HEADER_EXTRA: \usepackage{enumitem}
#+LATEX_HEADER_EXTRA: \usepackage{etoolbox}                             
#+LATEX_HEADER_EXTRA: \usepackage{color}                             
#+LATEX_HEADER_EXTRA: \usepackage{underscore}...

すべてのラテックスヘッダーコマンド(\ usepackage、マクロ定義など)を別のtexファイルに保存して、orgファイルの先頭に1行だけインクルードできるようにすることは可能ですか?これにより、混乱が大幅に減り、パッケージの追加が容易になります。

回答:


14

あなたは利用することができます #+SETUPFILE:

これらの設定をすべてファイルなどに入れて、次のコマンドで./setup/setupfile.orgドキュメントに含めます。

#+SETUPFILE: ./setup/setupfile.org

このファイルでは、あなたも含むことができ#+OPTIONS:#+AUTHORおよび同様の設定をして、バッファ。さらに便利なのは、#+SETUPFILE:最初にロードした場合、これらの構成の一部をローカル設定で上書きできることです。

エクスポートに関する組織のマニュアルも参照してください。

もう1つの解決策は、ファイルのコンテンツを単純に組織ソースとして含む#+INCLUDE: "./setup/more-settings.org" src org(に注意")を利用することです。これは、#+INCLUDE(afaik)が1つしか存在できない場所に複数存在する可能性があるため、少し多目的#+SETUPFILEです。

最後に、混乱を視覚的に隠すために、これらすべてのローカル設定を引き出しに(つまり、のある行:DRAWER:とのある行の間に:END:)入れ、単にで非表示にすることもできますtab


3
私の実際の経験では、ドロワーソリューションはヘッダーを操作する最も便利で最速の方法です。
Dieter.Wilhelm

4

別の解決策は、変数をチェック/カスタマイズすることですorg-latex-packages-alist-必要なものをすべてそこに追加してください\usepackage{...}

この変数はで宣言されて使用されるox-latexため、組織設定には宣言が必要(require 'os-latex)です。この方法では、タイトルを除いて、組織ドキュメントに追加する行はありません。

マクロに関しては、使用する場合、通常の格納場所はyasnippetパッケージです。


3

別の解決策は、エクスポートされていない見出しを使用して構成をラップすることです。

* Configuration :ignoreheading:
#+AUTHOR:   
#+STARTUP: showall
...

このソリューションとドロワーの利点は、LaTeXブロックなどの高度な構成を簡単に含めることができることです。

#+BEGIN_EXPORT LATEX
...
#+END_EXPORT

引き出しの中に(デフォルトでは)読み取られません。

このソリューションと構成ファイル(setupfileまたはinclude)の利点は、現在のファイルに含まれているため、構成を簡単に変更できることです。

最後に、組織ファイルを開いたときにこの見出しをデフォルトで閉じておきたい場合は、次の構文を使用できます。

* Configuration :ignoreheading:
  :PROPERTIES:
  :VISIBILITY: folded
  :END:

私は与えるべき賛成票が1つしかありません-しかし、これはちょうど私の新しいデフォルトになりました!これらすべての回答は、ラテックスエクスポートのベストプラクティスとして提案されているように、ドキュメント中心のセットアップとほとんどのセットアップをemacs構成に置くこととして、org-manualに入力する必要があります。
-glallen

1

#+SETUPFILE:受け入れられた回答に従って使用するのではなく、LaTeX出力にのみ興味がある場合は、代わりに次の行を追加できます。

#+LATEX_HEADER: \input{header.tex}

header.tex(または何あなたがそれを呼びたい)、あなたはその後の全体の束を必要とせずに、すべてのLaTeXのプリアンブルを置くことができ#+LATEX_HEADER:、引数。スーパーメタになるには、この#+LATEX_HEADERオプションをに含めることもできます#+SETUPFILE


この質問に対する回答を編集しました。
jdtonkin 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.