Qual è la relazione tra ~ foo ~ e = foo = in modalità org?


11

Entrambi =foo=e ~foo~sembrano essere utilizzati in org per bit di codice inline. In che modo differiscono? Quale dovrei usare e quando?

Ad esempio, dal ORG-NEWSfile:

If you want to exclude a headline from export while using its contents
for setting options, use =:noexport:= (see =org-export-exclude-tags=.)

...

The key sequences =C-c C-n= and =C-c C-p= are now bound to
~org-next-visible-heading~ and ~org-previous-visible-heading~ respectively,
rather than the =outline-mode= versions of these functions.  The Org
version of these functions skips over inline tasks (and even-level
headlines when ~org-odd-levels-only~ is set).

Non esiste uno schema ovvio qui: org-export-exclude-tagse org-odd-levels-onlysono entrambe variabili org-next-visible-headinge outline-modesono entrambe le funzioni.

Una di queste sintassi supporta il salto ai *Help*buffer come `foo'nei docstring?


Ho avuto la stessa domanda per molti anni. Ho finito per non usare mai ~ .. ~, e invece ho usato = .. = per tutto testualmente, inclusi frammenti di codice inline.
Kaushal Modi,

1
Guarda stackoverflow.com/questions/18991981/… per la differenza nell'esportazione
CantrianBear,

Risposte:


6

Dalla pagina di informazioni dell'organizzazione su "Enfasi e monospazio" abbiamo

`=verbatim=' and `~code~'

Nei tuoi esempi le funzioni e le variabili sono parti di codice elisp, quindi ~...~è appropriato. Gli usi =...=citati sono per sequenze di tasti e testo che l'utente può inserire nel orgbuffer, ovvero markup anziché codice. Tuttavia, il markup di =outline-mode=è borderline tra le due categorie.


3

È adatto all'interpretazione. Ho ridefinito, ad esempio, ~C-f~per esportare <kbd>C-f</kbd>in HTML, e per esempio =forward-char=in <code>forward-char</code>.

(setq org-html-text-markup-alist
      '((bold . "<b>%s</b>")
        (code . "<kbd>%s</kbd>")
        (italic . "<i>%s</i>")
        (strike-through . "<del>%s</del>")
        (underline . "<span class=\"underline\">%s</span>")
        (verbatim . "<code>%s</code>")))

Ma i loro nomi predefiniti sono davvero codee verbatim, proprio come dice l'altra risposta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.