Встроенный код в организационном режиме


104

Markdown позволяет embedded code. Как это можно сделать org-mode?

Я знаю о блоках исходного кода:

#+begin_example
blah-blah
#+end_example

Но я хочу что-то вроде этого (очевидно, с правильным синтаксисом, которого я не знаю):

This is `embeded code`.

Можно ли это сделать в org-mode? Невозможно найти это в документации ...


собирался задать аналогичный вопрос. спасибо: D
alamin

В уценке мы можем сделать блок кода, заключив строки кода в две строки `` '', что довольно удобно, IMO. Есть ли удобный способ сделать это в орг-режиме? Я не хочу видеть +BEGIN_SRC...каждый раз.
Студент

Ответы:


121

Вы можете заключить текст в символы =или, ~чтобы набрать его моноширинным шрифтом и экспортировать дословно (что означает, что он не обрабатывается для синтаксиса, специфичного для организации):

This is =verbatim text= or ~code~.

Всю информацию об элементах разметки в организационном режиме вы найдете в соответствующем разделе руководства .


3
Спасибо. Ключевые слова - это половина дела. Если бы я знал, что org-mode говорит об этом в терминах, monospaceи emphasisя нашел бы это сам. :( Я искал inlineи embeddedбезрезультатно.
blueFast

Да, я помню, что меня тоже беспокоил термин «выделение», когда я искал функцию, позволяющую скрыть разметку организации. Как только вы узнаете терминологию, вы сразу найдете org-hide-emphasis-markers, но я искал целую вечность, пока наконец не нашел ее почти случайно ...
Франсуа Февот,

5
на самом деле в руководстве просто написано ~ code ~, т.е. окружено ~.
squid

1
Этот ответ просто заставляет код выглядеть моноширинным, но на самом деле он не наделяет его исполняемыми свойствами, которые есть у реального BEGIN_SRCблока. @ Ответ Тома ниже лучше, если вы этого хотите.
Кен Уильямс,

Я нашел ~ уродливым. Есть ли обходной путь, чтобы вместо этого использовать могильный акцент?
Иван Хуанг

128

Хотя моноширинный режим подходит для большинства случаев, встроенные блоки кода имеют форму src_LANG[headers]{your code}. Например, src_xml[:exports code]{<tag>text</tag>}.

Изменить: выделение кода встроенного кода, безусловно, возможно, хотя и с исправлением самого org.el: ответ, приведенный здесь https://stackoverflow.com/a/20652913/594138, работает как рекламируется, превращаясь

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

В

введите описание изображения здесь

в html-экспорте. И победивший ответ в этом посте, https://stackoverflow.com/a/28059832/594138 , дает то же самое без необходимости исправлять org.el, но вам придется адаптировать его, если вам не нравится оптика во время редактирование.


3
Думаю, это лучший ответ. Соответствующая часть в руководстве - 14.1 Структура кодовых блоков .
Arne Babenhauserheide

И в руководстве говорится, что «живые блоки кода требуют ...» Что здесь означает «жить»? Кроме того, мне хотелось бы, чтобы в документации было больше примеров, вместо того, чтобы сосредоточиться в основном на формальных определениях синтаксиса (но это не проблема только для org-mode; это более или менее общая проблема, на мой взгляд).
Фернандо Бассо,

Блоки живого кода можно оценивать в организационном режиме (или во время экспорта), и их результаты вставляются в файл. Я использую это для диаграмм UML с plant-uml, а иногда и с блоками кода Clojure.

2
Хорошо, но мы все еще не можем добиться подсветки синтаксиса таким способом, не так ли? И мне кажется странным, что [:exports code]это требуется, потому что в документации на orgmode.org/manual/exports.html#exports указано, что это значение по умолчанию. (Но без него ничего не экспортируется, когда я, например, экспортирую содержимое организации в уценку.)
Supernormal

Я не считаю это «встроенным кодом», а скорее «блоком кода». Например, я думаю о встроенном коде как об имени файла, короткой (<1 строки) строке кода, обычно встроенной в другой текст.
Джеймс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.