Código en línea en modo org

103

Markdown lo permite embedded code. ¿Cómo se puede hacer esto org-mode?

Sé sobre bloques de código fuente:

#+begin_example
blah-blah
#+end_example

Pero lo que quiero es algo como esto (obviamente, con la sintaxis correcta, que no sé):

This is `embeded code`.

¿Se puede hacer esto en org-mode? No es posible encontrar eso en la documentación ...

blueFast
fuente
iba a hacer una pregunta similar. gracias: D
alamin
En Markdown podemos hacer un bloque de código adjuntando líneas de código en dos líneas de `` `` `, lo cual es bastante ordenado en mi opinión. ¿Hay alguna forma sencilla de hacer esto en modo org? No quiero ver todo el tiempo +BEGIN_SRC....
Estudiante

Respuestas:

118

Puede incluir el texto =o los ~signos para componerlo en una fuente monoespaciada y exportarlo literalmente (lo que significa que no se procesa para la sintaxis específica de la organización):

This is =verbatim text= or ~code~.

Encontrará toda la información sobre los elementos de marcado del modo de organización en la sección correspondiente del manual .

François Févotte
fuente
3
Gracias. Tener las palabras clave está a mitad de camino. Si hubiera sabido que org-mode habla de esto en términos de monospacey emphasislo habría encontrado yo mismo. :( Estaba buscando inliney embedded, en vano.
blueFast
Sí, recuerdo haber sido perturbado por el término "énfasis" también, cuando buscaba una función que permitiera ocultar el marcado de la organización. Una vez que conoces la terminología, la encuentras de inmediato org-hide-emphasis-markers, pero he buscado durante años antes de encontrarla casi accidentalmente ...
François Févotte
5
en realidad, el manual solo dice ~ código ~, es decir, rodeado de ~.
calamar
1
Esta respuesta solo hace que el código parezca monoespaciado, en realidad no lo dota de las propiedades ejecutables que tiene un BEGIN_SRCbloque real . La respuesta de @ Tom a continuación es mejor si quieres eso.
Ken Williams
Encontré ~ feo. ¿Existe una solución alternativa para usar el acento grave en su lugar?
Ivan Huang
128

Si bien el monoespaciado es lo suficientemente bueno para la mayoría de los casos, los bloques de código en línea tienen la forma src_LANG[headers]{your code}. Por ejemplo src_xml[:exports code]{<tag>text</tag>},.

Editar: el resaltado de código del código en línea es ciertamente posible, aunque con el parche org.el mismo: la respuesta dada aquí https://stackoverflow.com/a/20652913/594138 funciona como se anuncia, girando

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

Dentro

ingrese la descripción de la imagen aquí

en html-export. Y la respuesta ganadora en esta publicación, https://stackoverflow.com/a/28059832/594138 , logra lo mismo sin la necesidad de parchear org.el, pero tendrás que adaptarlo si no te gusta la óptica durante edición.

Tom Regner
fuente
3
Esta es la mejor respuesta aquí, creo. La parte relevante del manual es 14.1 Estructura de los bloques de código .
Arne Babenhauserheide
Y el manual dice cosas como "los bloques de código en vivo requieren ..." ¿Qué significa "en vivo" aquí? Además, me gustaría que los documentos tuvieran más ejemplos en lugar de centrarse principalmente en definiciones de sintaxis formales (pero eso no es un problema solo con el modo org; es más o menos un problema general en mi opinión).
Fernando Basso
Los bloques de código en vivo se pueden evaluar en modo org (o durante la exportación) y sus resultados se insertan en el archivo. Utilizo esto para diagramas UML con plant-uml y, a veces, con bloques de código Clojure.
2
Bien, pero todavía no podemos resaltar la sintaxis de esta manera, ¿verdad? Y me parece extraño que [:exports code]sea ​​necesario, porque los documentos de orgmode.org/manual/exports.html#exports dicen que es el predeterminado. (Pero sin él, no se exporta nada cuando exporto el contenido de la organización a rebajas, por ejemplo)
Supernormal
No pienso en esto como 'código en línea', sino más bien como un 'bloque de código'. Por ejemplo, pienso en el código en línea como un nombre de archivo, una cadena de código corta (<1 línea), generalmente incrustada en otro texto.
James