Kod wbudowany w trybie organizacji

103

Markdown pozwala na embedded code. Jak można to zrobić org-mode?

Wiem o blokach kodu źródłowego:

#+begin_example
blah-blah
#+end_example

Ale to, czego chcę, to coś takiego (oczywiście z odpowiednią składnią, której nie znam):

This is `embeded code`.

Czy można to zrobić w org-mode? Nie można tego znaleźć w dokumentacji ...

blueFast
źródło
zamierzał zadać podobne pytanie. dzięki: D
alamin
W Markdown możemy utworzyć blok kodu, otaczając wiersze kodu w dwóch wierszach `` `` '', co jest całkiem fajne IMO. Czy istnieje zgrabny sposób na zrobienie tego w trybie org? Nie chcę widzieć +BEGIN_SRC...za każdym razem.
Uczeń

Odpowiedzi:

119

Możesz zawrzeć tekst w znakach =lub, ~aby był złożony czcionką o stałej szerokości i wyeksportować go dosłownie (co oznacza, że ​​nie jest przetwarzany dla składni specyficznej dla organizacji):

This is =verbatim text= or ~code~.

Wszystkie informacje o elementach znaczników w trybie org znajdziesz w odpowiedniej sekcji podręcznika .

François Févotte
źródło
3
Dzięki. Posiadanie słów kluczowych jest w połowie drogi. Gdybym wiedział, że tryb org mówi o tym w kategoriach monospacei emphasissam bym to znalazł. :( Szukałem inlinei embeddedbezskutecznie.
blueFast
Tak, pamiętam, że sam byłem zaniepokojony określeniem „nacisk”, kiedy szukałem funkcji umożliwiającej ukrycie znaczników organizacji. Kiedy już znasz terminologię, od razu ją znajdziesz org-hide-emphasis-markers, ale szukałem go przez
całe
5
w rzeczywistości podręcznik mówi po prostu ~ kod ~ tj. otoczony ~.
kałamarnica
1
Ta odpowiedź sprawia, że ​​kod wygląda na monospace, w rzeczywistości nie nadaje mu właściwości wykonywalnych, które ma prawdziwy BEGIN_SRCblok. @ Odpowiedź Toma poniżej jest lepsza, jeśli tego chcesz.
Ken Williams,
Znalazłem ~ brzydki. Czy istnieje obejście polegające na użyciu zamiast tego akcentu słabym?
Ivan Huang
128

Podczas gdy w większości przypadków wystarczające jest zachowanie stałej szerokości, bloki kodu wbudowanego mają postać src_LANG[headers]{your code}. Na przykład src_xml[:exports code]{<tag>text</tag>}.

Edycja: Podświetlanie kodu wbudowanego kodu jest z pewnością możliwe, aczkolwiek z łataniem samego org.el: Odpowiedź podana tutaj https://stackoverflow.com/a/20652913/594138 działa zgodnie z reklamą, obracając

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

W

wprowadź opis obrazu tutaj

w eksporcie html. A zwycięska odpowiedź w tym poście, https://stackoverflow.com/a/28059832/594138 , daje to samo bez konieczności łatania org.el, ale będziesz musiał ją dostosować, jeśli nie lubisz optyki podczas redagowanie.

Tom Regner
źródło
3
Myślę, że to najlepsza odpowiedź. Odpowiednią częścią instrukcji jest 14.1 Struktura bloków kodu .
Arne Babenhauserheide
W podręczniku jest napisane, że „na żywo bloki kodu wymagają…”. Co oznacza „na żywo”? Chciałbym też, żeby dokumentacja miała więcej przykładów, zamiast skupiać się głównie na formalnych definicjach składni (ale to nie jest problem tylko w trybie org; moim zdaniem jest to mniej więcej ogólny problem).
Fernando Basso,
Aktywne bloki kodu można oceniać w trybie organizacji (lub podczas eksportu), a ich wyniki są wstawiane do pliku. Używam tego do diagramów UML z plant-uml, a czasami z blokami kodu Clojure.
2
Świetnie, ale nadal nie możemy w ten sposób uzyskać podświetlania składni, prawda? Wydaje mi się dziwne, że [:exports code]jest to wymagane, ponieważ dokumentacja na orgmode.org/manual/exports.html#exports mówi, że jest to ustawienie domyślne. (Ale bez tego nic nie zostanie wyeksportowane, gdy na przykład wyeksportuję zawartość organizacji do przecen).
Supernormal
Nie myślę o tym jako o „kodzie wbudowanym”, ale raczej o „bloku kodu”. Na przykład myślę o kodzie wbudowanym jako o nazwie pliku, krótkim (<1 wiersz) ciągu kodu, zwykle osadzonym w innym tekście.
James