Código inline no modo org


103

Markdown permite embedded code. Como isso pode ser feito org-mode?

Eu sei sobre blocos de código-fonte:

#+begin_example
blah-blah
#+end_example

Mas o que eu quero é algo assim (obviamente, com a sintaxe certa, que não conheço):

This is `embeded code`.

Isso pode ser feito em org-mode? Não é possível encontrar isso na documentação ...


ia fazer uma pergunta semelhante. obrigado: D
— alamin

No markdown, podemos fazer um bloco de código por linhas de código encerradas em duas linhas de `` `` `, o que é bastante legal IMO. Existe uma maneira legal de fazer isso no modo org? Eu não quero ver +BEGIN_SRC...todas as vezes.
— Estudante de

Respostas:


119

Você pode colocar o texto entre =ou ~sinais para que seja escrito em fonte monoespaçada e exportá-lo literalmente (o que significa que não é processado para a sintaxe específica da organização):

This is =verbatim text= or ~code~.

Você encontrará todas as informações sobre os elementos de marcação do modo org na seção relevante do manual .


3
Obrigado. Ter as palavras-chave é meio caminho andado. Se eu soubesse que o modo org fala sobre isso em termos de monospacee emphasiseu mesmo teria encontrado. :( Eu estava procurando inlinee embedded, sem sucesso.
— blueFast

Sim, também me lembro de ter ficado perturbado com o termo "ênfase", ao procurar um recurso que permitisse ocultar a marcação org. Depois de saber a terminologia, você imediatamente encontra org-hide-emphasis-markers, mas eu procurei por muito tempo antes de finalmente encontrar quase acidentalmente ...
— François Févotte

5
na verdade, o manual apenas diz ~ código ~ ou seja, cercado por ~.
— squid de

1
Essa resposta apenas faz o código parecer monoespaçado, não o dotando realmente com as propriedades executáveis ​​que um BEGIN_SRCbloco real possui. A resposta do @Tom abaixo é melhor se você quiser.
— Ken Williams

Eu achei ~ feio. Existe uma solução alternativa para usar o acento grave em vez disso?
— Ivan Huang

128

Embora monoespaçado seja bom o suficiente para a maioria dos casos, os blocos de código em linha têm a forma src_LANG[headers]{your code}. Por exemplo src_xml[:exports code]{<tag>text</tag>},.

Edit: O destaque do código do código inline é certamente possível, embora com patching org.el em si: a resposta dada aqui https://stackoverflow.com/a/20652913/594138 funciona como anunciado, girando

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

Para dentro

insira a descrição da imagem aqui

em html-export. E a resposta vencedora neste post, https://stackoverflow.com/a/28059832/594138 , consegue o mesmo sem a necessidade de patch org.el, mas você terá que adaptá-lo se não gostar da ótica durante edição.


3
Esta é a melhor resposta aqui, eu acho. A parte relevante no manual é 14.1 Estrutura dos blocos de código .
— Arne Babenhauserheide,

E o manual diz coisas como “blocos de código ativos requerem ...” O que "ativos" significa aqui? Além disso, eu gostaria que os documentos tivessem mais exemplos em vez de se concentrar principalmente nas definições de sintaxe formal (mas isso não é um problema apenas com o modo org; é mais ou menos um problema geral na minha opinião).
— Fernando Basso

Os blocos de código ativo podem ser avaliados no modo org (ou durante a exportação) e seus resultados são inseridos no arquivo. Eu uso isso para diagramas UML com plant-uml e às vezes com blocos de código Clojure.

2
Legal, mas ainda não conseguimos realçar a sintaxe dessa forma, podemos? E acho estranho que [:exports code]seja obrigatório, porque os documentos em orgmode.org/manual/exports.html#exports dizem que é o padrão. (Mas sem ele, nada é exportado quando eu exporto o conteúdo da organização para markdown, por exemplo.)
— Supernormal

Eu não penso nisso como 'código embutido', mas sim um 'bloco de código'. Por exemplo, penso no código embutido como um nome de arquivo, uma string de código curta (<1 linha), geralmente incorporada em outro texto.
— James
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.