Cara menentukan argumen header standar dalam blok kode orgmode

19

Saya berusaha untuk menetapkan argumen tajuk default ke blok kode dalam file org saya, seperti ini:

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

Blok kode saya terlihat seperti ini:

#+BEGIN_SRC python
  import pandas as pd
#+END_SRC

Namun, ketika saya menelepon org-babel-tangledari buffer ini, saya mendapatkan blok kode Tangled 0 dari filename.org . Ketika saya menambahkan :tangle yeske akhir #+BEGIN_SRCbaris, blok kode diekspor ketika saya menelepon org-babel-tangle.

Saya berharap bahwa saya tidak perlu mengatur :tangle yespada setiap blok kode. Apa yang saya lakukan salah?

andreas-h
sumber

Jawaban:

24

Anda harus memiliki setiap argumen tajuk dalam satu baris:

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

Memiliki beberapa #+PROPERTYbaris diterima, tetapi tidak dengan cara yang Anda coba lakukan.

Dari manual Organisasi ( 7.1 sintaksis Properti ):

Jika Anda ingin menambah nilai properti yang ada, tambahkan '+' ke nama properti. Hasil berikut di properti 'var' memiliki nilai "foo = 1 bar = 2".

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

Jadi, karena header-argsadalah properti dan :session, :resultsdan :tanglenilainya, seharusnya:

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

Tetapi lebih mudah memiliki satu baris IMO saja.

undostres
sumber
untuk menambahkan header org-babel untuk bahasa tertentu, nilai tambahnya mengikuti nama bahasa misalnya,:header-args:shell+: :dir /workdir
jfs