orgmodeコードブロックでデフォルトのヘッダー引数を指定する方法


19

次のように、組織ファイル内のコードブロックにデフォルトのヘッダー引数を設定します。

#+PROPERTY: header-args  :session *my_python_session*
#+PROPERTY: header-args  :results silent
#+PROPERTY: header-args  :tangle yes

私のコードブロックは次のようになります。

#+BEGIN_SRC python
  import pandas as pd
#+END_SRC

ただし、org-babel-tangleこのバッファーから呼び出すと、filename.orgからTangled 0コードブロックが取得されます。行:tangle yesの最後に追加すると、#+BEGIN_SRCを呼び出しorg-babel-tangleたときにコードブロックがエクスポートされます。

:tangle yes各コードブロックに設定する必要がないと思います。何が間違っていますか?

回答:


24

すべてのヘッダー引数を1行で入力する必要があります。

#+PROPERTY: header-args :session *my_python_session* :results silent :tangle yes

複数の#+PROPERTY行を持つことは受け入れられますが、あなたがしようとしている方法ではありません。

Orgマニュアル(7.1プロパティ構文)から:

既存のプロパティの値に追加する場合は、プロパティ名に「+」を追加します。次の結果、プロパティ「var」の値は「foo = 1 bar = 2」になります。

#+PROPERTY: var  foo=1
#+PROPERTY: var+ bar=2

ですので、header-argsプロパティおよび:session:resultsおよび:tangleはその値であるため、次のようになります。

#+PROPERTY: header-args :session *my_python_session*
#+PROPERTY: header-args+ :results silent
#+PROPERTY: header-args+ :tangle yes

ただし、IMOを1行だけ持つ方が簡単です。


特定の言語のorg-babelヘッダーを追加するには、プラスは言語名の後に続きます。たとえば、:header-args:shell+: :dir /workdir
jfs
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.