Code en ligne en mode organisationnel

103

Markdown permet embedded code. Comment cela peut-il être fait org-mode?

Je connais les blocs de code source:

#+begin_example
blah-blah
#+end_example

Mais ce que je veux, c'est quelque chose comme ça (évidemment, avec la bonne syntaxe, que je ne connais pas):

This is `embeded code`.

Cela peut-il être fait org-mode? Impossible de trouver ça dans la documentation ...

blueFast
la source
allait poser une question similaire. merci: D
alamin
Dans le démarquage, nous pouvons créer un bloc de code en englobant des lignes de code dans deux lignes de `` `` ``, ce qui est assez soigné IMO. Existe-t-il un moyen efficace de le faire en mode org? Je ne veux pas voir à +BEGIN_SRC...chaque fois.
Étudiant

Réponses:

119

Vous pouvez insérer le texte dans =ou des ~signes pour qu'il soit composé dans une police à espacement unique et l'exporter textuellement (ce qui signifie qu'il n'est pas traité pour la syntaxe propre à l'organisation):

This is =verbatim text= or ~code~.

Vous trouverez toutes les informations sur les éléments de balisage en mode organisationnel dans la section appropriée du manuel .

François Févotte
la source
3
Merci. Avoir les mots-clés est à mi-chemin. Si j'avais su que le mode org en parle en termes de monospaceet emphasisj'aurais trouvé cela moi-même. :( Je cherchais inlineet embedded, en vain.
blueFast
Oui, je me souviens avoir moi aussi été dérangé par le terme "accentuation", en cherchant une fonctionnalité permettant de masquer le balisage de l'organisation. Une fois que vous connaissez la terminologie, vous la trouvez immédiatement org-hide-emphasis-markers, mais j'ai cherché pendant des siècles avant de finalement la trouver presque accidentellement ...
François Févotte
5
en fait, le manuel dit simplement ~ code ~ c'est-à-dire entouré de ~.
calmar
1
Cette réponse donne simplement au code un aspect monospace, elle ne le dote pas réellement des propriétés exécutables d'un vrai BEGIN_SRCbloc. La réponse de @ Tom ci-dessous est meilleure si vous le souhaitez.
Ken Williams
J'ai trouvé ~ moche. Existe-t-il une solution de contournement pour utiliser l'accent grave à la place?
Ivan Huang
128

Bien que monespacement soit suffisant dans la plupart des cas, les blocs de code en ligne ont la forme src_LANG[headers]{your code}. Par exemple src_xml[:exports code]{<tag>text</tag>},.

Edit: La mise en évidence du code du code en ligne est certainement possible, bien qu'avec le patching org.el lui-même: la réponse donnée ici https://stackoverflow.com/a/20652913/594138 fonctionne comme annoncé, tournant

- Inline code src_sh[:exports code]{echo -e "test"}

Dans

entrez la description de l'image ici

dans html-export. Et la réponse gagnante dans cet article, https://stackoverflow.com/a/28059832/594138 , réalise la même chose sans avoir besoin de patcher org.el, mais vous devrez l'adapter si vous n'aimez pas l'optique pendant édition.

Tom Regner
la source
3
C'est la meilleure réponse ici, je pense. La partie pertinente du manuel est 14.1 Structure des blocs de code .
Arne Babenhauserheide
Et le manuel dit des choses comme «les blocs de code en direct nécessitent ...» Que signifie «vivre» ici? De plus, j'aimerais que la documentation contienne plus d'exemples au lieu de se concentrer principalement sur les définitions de syntaxe formelle (mais ce n'est pas un problème avec le mode org uniquement; c'est plus ou moins un problème général à mon avis).
Fernando Basso du
Les blocs de code en direct peuvent être évalués en mode org (ou pendant l'exportation) et leurs résultats sont insérés dans le fichier. J'utilise ceci pour les diagrammes UML avec plant-uml et parfois avec des blocs de code Clojure.
2
Bien, mais nous ne pouvons toujours pas mettre en évidence la syntaxe de cette façon, n'est-ce pas? Et je trouve étrange que ce [:exports code]soit nécessaire, car les documents sur orgmode.org/manual/exports.html#exports disent que c'est la valeur par défaut. (Mais sans cela, rien n'est exporté lorsque j'exporte le contenu de l'organisation vers Markdown, par exemple.)
Supernormal
Je ne vois pas cela comme un «code en ligne», mais plutôt comme un «bloc de code». Par exemple, je considère le code en ligne comme un nom de fichier, une chaîne de code courte (<1 ligne), généralement intégrée dans un autre texte.
James