2013-03-10 10 views
7

Prendere foo /bar/ baz come esempio, quando esportato in HTML, diventa foo <i>bar</i> baz, ora voglio esportarlo con lo stile originale foo /bar/ baz, come ottenere ciò? Ho provato foo \/bar\/ baz, ma l'output diventa foo \/bar\/ baz.Come faccio a uscire dalla barra in org-mode?

So che questa è una domanda facile, ho cercato su Google molto, ma trova solo questo: Escape pipe-character in org-mode, la risposta dice che la funzione di escape di slash funziona bene, ma per me non sembra soddisfacente.


edit:

Dopo la ricerca mailing list modalità org, trovo una discussione e la soluzione qui: http://thread.gmane.org/gmane.emacs.orgmode/50743

Ci sono due modi per farlo:

  1. opzione set #+OPTIONS: *:nil per disattivare tutti i simboli di sottolineatura
  2. modificare la variabile org-emphasis-alist, rimuovere rel evant content

Per me, la prima soluzione è accettabile, ed è anche semplice.

+4

Apprezzo le risposte che le persone stanno dando, ma illustrano solo che orgmode ha davvero bisogno di un meccanismo di fuga adeguato. Ho incontrato molte situazioni come questa con markup in orgmode, non sono sempre risolvibili con soluzioni alternative come questa. –

+0

Ad esempio, una nuova riga rompe l'elaborazione '/ italics /', quindi AFAIK devo mettere interi paragrafi su una riga se li voglio in corsivo. –

risposta

1

Se è possibile tollerare uno spazio tra le barre, foo/bar/bas verrà esportato con barre letterali. In alternativa è possibile rendere l'intera stringa letteralmente con =foo /bar/ baz=.

Sospetto che nessuno di questi è esattamente quello che vuoi, ma possono essere fatti facilmente e possono essere abbastanza buoni.

EDIT Se avete bisogno di slash per un URL è necessario utilizzare la sintassi collegamento orgmode, per esempio, [[http://foo/bar.baz]].

+0

Ciao @lsta, grazie per la tua risposta, hai ragione, i due che hai citato non sono quello che volevo. Dato che le barre sono parte di un URI, come 'href ="/blog/post1/"', quindi gli spazi extra e la stringa testuale non sono appropriati per questa situazione. –

+0

Ciao @KelvinHu, ho modificato la risposta per rispondere alla domanda url. – Ista

+0

Ciao @lsta, in effetti non è un URL completo come 'http: // example.com/blog/post1 /', è solo un URI, come '/ blog/post1 /', quindi non posso usare la sintassi del link . Comunque, grazie per la tua risposta, ho capito come risolvere questo problema, per favore vedi la parte "modifica" della mia domanda. –

1

(io ri-post my answer qui per ragioni di completezza ...)

Si potrebbe anche formattare il testo di riferimento come testualmente o codice:

Testo il codice e la stringa verbatim non vengono elaborati per la sintassi specifica della modalità Org ; è esportato letteralmente.

Quindi si potrebbe provare qualcosa come =foo | bar= (codice) o foo ~|~ bar (parola reale). Cambia però il formato di output.

3

Inserire uno spazio a larghezza zero (U + 200B; inserire in Emacs utilizzando Ctrl-x 8 RET 200B RET) tra gli spazi bianchi e la barra.

org-mode testo

What do we see? 
- /foo/ 
- ​/foo/ 

con uno spazio di ampiezza zero inserita appena prima della prima barra sulla seconda riga "foo" (non visibile, perché ha larghezza zero) restituisce il seguente HTML dopo esportazione:

<div id="content"> 
<h1 class="title">What do we see?</h1> 

<ul> 
<li><i>foo</i> 
</li> 
<li>​/foo/ 
</li> 
</ul> 

</div> 

lo spazio larghezza zero viene esportato, troppo, e finisce tra il <li> e /foo/ in cui ci si aspetta che.

Problemi correlati