Як вказати аргументи заголовків за замовчуванням у блоках коду orgmode


19

Я встановлюю аргументи заголовка за замовчуванням для блоків коду в моєму файлі org, наприклад:

#+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з цього буфера, я отримую блоки Tangled 0 з коду filename.org . Коли я додаю :tangle yesв кінець #+BEGIN_SRCрядка, код коду експортується під час дзвінка org-babel-tangle.

Я б очікував, що мені не потрібно встановлювати :tangle yesкожен код коду. Що я роблю неправильно?

Відповіді:


24

У вас повинен бути кожен аргумент заголовка в одному рядку:

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

Має кілька #+PROPERTYрядків, але це не так, як ви намагаєтеся це зробити.

З посібника з Org ( 7.1 синтаксис властивостей ):

Якщо ви хочете додати значення існуючої властивості, додайте до імені властивості "+". Наведені нижче результати властивості "var" мають значення "foo = 1 бар = 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

Але простіше мати лише один рядок ІМО.


для додавання заголовків org-babel для певної мови, плюс іде після назви мови, наприклад,:header-args:shell+: :dir /workdir
jfs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.