Comment définir globalement les propriétés d'en-tête du mode org?

Aug 19 2020

J'essaie de définir la propriété d'enchevêtrement en mode org suivante ( mkdirp ), qui

crée des répertoires parents pour les fichiers emmêlés si le répertoire n'existe pas. Une valeur «oui» permet la création de répertoire alors que «non» l'inhibe.

Apparemment, il est logique de le définir pour tous les blocs de code pertinents. Ma question est:

Existe-t-il un moyen de définir une propriété / un argument d'en-tête comme celui-ci globalement pour l'ensemble du fichier .org?

Réponses

5 mankoff Aug 19 2020 at 21:58

Les propriétés au niveau du fichier peuvent être définies comme ceci:

#+PROPERTY: header-args :mkdirp yes

Les arguments spécifiques au langage peuvent être définis avec cette syntaxe (définition de la propriété p1sur la valeur v1):

#+PROPERTY: header-args:lang :p1 v1

Si vous souhaitez ajouter des propriétés sans réinitialiser tout le reste à la valeur par défaut, utilisez lang+, comme dans l'exemple suivant - cela ne modifie pas les paramètres précédemment définis p1lors du réglage p2. Sans le +, p2serait défini, mais p1reviendrait à la valeur par défaut

#+PROPERTY: header-args:lang+ :p2 v2.

Les propriétés au niveau du fichier doivent être évaluées ( C-c C-csur la ligne, ou fermer et rouvrir le tampon) pour prendre effet.

Enfin, plutôt qu'au niveau fichier, vous pouvez définir des propriétés à chaque * Headerniveau avec les PROPERTIEStiroirs:

* Header
:PROPERTIES:
:header-args:lang: :property_1 v1 :property_2 v2
:header-args:lang+: :property_n value_n
:END:

Celles-ci prennent effet immédiatement et n'ont pas besoin d'être évaluées.

Voir https://orgmode.org/manual/Property-Syntax.html pour les détails