Je rédige des documents en mode organisation et les exporte vers LaTeX, HTML, etc. selon les besoins. J'utilise fréquemment la balise :no_export:
chaque fois que je ne veux pas qu'un sous-arbre particulier apparaisse dans la sortie.
Ce que je veux aussi, c'est que l'exportation soit complètement ignorée de certains en- têtes de sous-arbre , mais ne pas ignorer le contenu du sous-arbre sous cet en-tête. En d'autres termes, certains sous-arbres doivent être exportés comme si leur contenu n'était qu'une continuation du parent, au lieu d'avoir son propre sous-arbre.
J'imagine idéalement une balise comme :no_title:
. Je veux que mon plan en mode organisation ressemble plus ou moins à mon habitude. Mais je considérerais d'autres approches avec des résultats similaires.
Pour illustrer, voici un MWE d'un document rédigé en org-mode.
* Chapter 1
** Section 1
*** Paragraph 1 :no_title:
First paragraph of text in the section.
*** Paragraph 2 :no_title:
Second paragraph of text in the section.
* Chapter 2
** Section 1
*** Subsection 1
**** Paragraph 1 :no_title:
First paragraph of text in the subsection.
**** Paragraph 2 :no_title:
Second paragraph of text in the subsection
Lorsque j'exporte cela actuellement, j'obtiens quelque chose comme ceci:
1 Chapitre 1
1.1 Section 1
1.1.1 Paragraphe 1: no_title:
Premier paragraphe de texte dans la section.
1.1.2 Paragraphe 2: sans_titre:
Deuxième paragraphe de texte dans la section.
2 Chapitre 2
2.1 Section 1
2.1.1 Sous-section 1
◊ 2.1.1.1 Paragraphe 1: no_title:
Premier paragraphe du texte de la sous-section.
Mais ce que je veux ressemble plus à ceci:
1 Chapitre 1
1.1 Section 1
Premier paragraphe de texte dans la section.
Deuxième paragraphe de texte dans la section.
2 Chapitre 2
2.1 Section 1
2.1.1 Sous-section 1
Premier paragraphe du texte de la sous-section.
la source
contrib/lisp
dossier - voir orgmode.org/cgit.cgi/org-mode.git/tree/contrib/lisp/ox-extra.el - dans votre fichier de configuration emacs, vous devrez peut-être ajouter une ligne comme(add-to-list 'load-path "/path/to/contrib/lisp")
.Oui , c'est tout à fait possible. Ajoutez le code suivant à votre fichier init:
Remerciements
Cette question a déjà été posée sur StackOverflow (avec un accent et un libellé différents, c'est probablement pourquoi vous n'avez pas pu le localiser lorsque vous avez recherché Internet avant de publier ici). Le code ci-dessus est une version simplifiée du code dans la réponse acceptée ; il fonctionne pour le nouvel exportateur introduit dans la version
org-mode
8.0 et est indépendant du backend .Mise à jour
Comme indiqué dans les commentaires, le code ci-dessus fait
:no_title:
disparaître le contenu des entrées marquées avec si elles sont précédées d'une entrée étiquetée à exclure du document exporté. Par exemple, l'exportation du document suivant produira un document avec un titre et une table des matières, mais sans contenu:La raison en est que
org-mode
supprime le titre balisé avec:no_title:
avant de supprimer l' entrée dont le titre est balisé:no_export:
. Par conséquent, lorsqu'il parvient à supprimer l'no_export
entrée, il traite le contenu de l'no_title
entrée comme appartenant à l'no_export
entrée précédente . Cela est parfaitement logique car il n'y a plus d'élément structurel (en-tête) qui sépare le contenu des entrées originales.Pour résoudre ce problème, nous pouvons transférer la responsabilité de la suppression des
no_export
entrées versorg-remove-headlines
. De cette façon, nous nous assurons que toutes lesno_export
entrées ont disparu avant que les titres ne soient supprimés desno_title
entrées:la source
no_export
titre vient juste avant celui étiqueté avecno_title
, alors le contenu de la deuxième rubrique n'est pas non plus exporté.no_export
etno_title
sœurs sont-ils (c.-à-d. Ont-ils le même nombre d'étoiles principales)? Sinon, laquelle des deux rubriques a le plus d'étoiles?org-remove-headlines
n'est qu'une fonction; cela ne vous sera pas très utile s'il n'est jamais appelé de n'importe où. Alors oui, vous devez toujours évaluer la ligne(add-hook 'org-export-before-processing-hook #'org-remove-headlines)
pour activer le bon comportement. J'aurais probablement dû être explicite à ce sujet dans les modifications apportées à ma réponse d'origine. Quant aux avertissements que vous voyez: je ne les reçois pas avec Emacs 24.4 vanilla et la version 8.2.10 du mode Org. Pour vous débarrasser de l'avertissement que vous mentionnez, vous pouvez essayer(require 'org-agenda)
avant d'évaluer laadd-hook
ligne.