Inline-Code im Organisationsmodus

103

Markdown ermöglicht embedded code. Wie kann das gemacht werden org-mode?

Ich weiß über Quellcodeblöcke Bescheid:

#+begin_example
blah-blah
#+end_example

Aber was ich will, ist so etwas (offensichtlich mit der richtigen Syntax, die ich nicht kenne):

This is `embeded code`.

Kann das in gemacht werden org-mode? Das kann man in der Dokumentation nicht finden ...

blueFast
quelle
würde eine ähnliche Frage stellen. danke: D
alamin
In Markdown können wir einen Codeblock erstellen, indem wir Codezeilen in zwei Zeilen von `` `` `einschließen, was IMO ziemlich ordentlich ist. Gibt es eine gute Möglichkeit, dies im org-Modus zu tun? Ich möchte nicht +BEGIN_SRC...jedes Mal sehen.
Student

Antworten:

117

Sie können den Text =oder die ~Zeichen so einschließen, dass er in monospaced Schriftart gesetzt und wörtlich exportiert wird (was bedeutet, dass er nicht für die org-spezifische Syntax verarbeitet wird):

This is =verbatim text= or ~code~.

Alle Informationen zu Markup-Elementen im Organisationsmodus finden Sie im entsprechenden Abschnitt des Handbuchs .

François Févotte
quelle
3
Vielen Dank. Die Schlüsselwörter zu haben ist auf halbem Weg. Wenn ich gewußt hätte , dass org-Modus spricht über dies im Hinblick auf monospaceund emphasisich würde das Produkt selbst gefunden haben. :( Ich suchte inlineund embedded, ohne Erfolg.
blueFast
Ja, ich erinnere mich, dass ich auch selbst durch den Begriff "Betonung" gestört wurde, als ich nach einer Funktion suchte, mit der sich Org-Markups verbergen lassen. Sobald Sie die Terminologie kennen, finden Sie sie sofort org-hide-emphasis-markers, aber ich habe lange gesucht, bevor ich sie schließlich fast versehentlich gefunden habe ...
François Févotte
5
Eigentlich sagt das Handbuch nur ~ Code ~ dh umgeben von ~.
Tintenfisch
1
Diese Antwort lässt Code nur monospaced aussehen, es verleiht ihm nicht die ausführbaren Eigenschaften, die ein echter BEGIN_SRCBlock hat. @ Toms Antwort unten ist besser, wenn Sie das wollen.
Ken Williams
Ich fand ~ hässlich. Gibt es eine Problemumgehung, um stattdessen den schwerwiegenden Akzent zu verwenden?
Ivan Huang
127

Während Monospaced in den meisten Fällen gut genug ist, haben Inline-Codeblöcke die Form src_LANG[headers]{your code}. Zum Beispiel src_xml[:exports code]{<tag>text</tag>}.

Bearbeiten: Code-Hervorhebung von Inline-Code ist sicherlich möglich, wenn auch mit dem Patchen von org.el selbst: Die hier gegebene Antwort https://stackoverflow.com/a/20652913/594138 funktioniert wie angekündigt und dreht sich

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

In

Geben Sie hier die Bildbeschreibung ein

im HTML-Export. Die erfolgreiche Antwort in diesem Beitrag, https://stackoverflow.com/a/28059832/594138 , erreicht dasselbe, ohne dass org.el gepatcht werden muss. Sie müssen sie jedoch anpassen, wenn Ihnen die Optik währenddessen nicht gefällt Bearbeitung.

Tom Regner
quelle
3
Das ist hier die beste Antwort, denke ich. Der relevante Teil im Handbuch ist 14.1 Struktur der Codeblöcke .
Arne Babenhauserheide
Und das Handbuch sagt Dinge wie "Live-Code-Blöcke erfordern ..." Was bedeutet "Live" hier? Außerdem wünschte ich mir, die Dokumente hätten mehr Beispiele, anstatt sich hauptsächlich auf formale Syntaxdefinitionen zu konzentrieren (aber das ist kein Problem nur im Organisationsmodus; es ist meiner Meinung nach mehr oder weniger ein allgemeines Problem).
Fernando Basso
Live-Codeblöcke können im Organisationsmodus (oder während des Exports) ausgewertet und ihre Ergebnisse in die Datei eingefügt werden. Ich benutze dies für UML-Diagramme mit plant-uml und manchmal mit Clojure-Codeblöcken.
2
Schön, aber wir können die Syntax auf diese Weise immer noch nicht hervorheben, oder? Und ich finde es seltsam, dass dies [:exports code]erforderlich ist, da die Dokumente unter orgmode.org/manual/exports.html#exports besagen, dass dies die Standardeinstellung ist. (Aber ohne es wird nichts exportiert, wenn ich zum Beispiel den
Organisationsinhalt
Ich betrachte dies nicht als "Inline-Code", sondern als "Codeblock". Zum Beispiel stelle ich mir Inline-Code als Dateinamen vor, eine kurze Codezeichenfolge (<1 Zeile), die normalerweise in anderen Text eingebettet ist.
James