Quelle est la relation entre ~ foo ~ et = foo = en mode org?

11

Les deux =foo=et ~foo~semblent être utilisés dans org pour les bits de code en ligne. En quoi diffèrent-ils? Que dois-je utiliser et quand?

Par exemple, à partir du ORG-NEWSfichier:

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).

Il n'y a pas de modèle évident ici: org-export-exclude-tagset org-odd-levels-onlysont à la fois des variables et org-next-visible-headinget outline-modesont des fonctions.

L'une ou l'autre de ces syntaxes prend-elle en charge *Help*le passage aux tampons comme le `foo'fait la docstrings?

Wilfred Hughes
la source
J'ai la même question depuis de nombreuses années. J'ai fini par ne jamais utiliser ~ .. ~et à la place utiliser = .. = pour tout, mot pour mot, y compris les extraits de code en ligne.
Kaushal Modi
1
Regardez stackoverflow.com/questions/18991981/… pour la différence lors de l'exportation
CantrianBear

Réponses:

6

À partir de la page d'information de l'organisation sur "Emphase et monospace",

`=verbatim=' and `~code~'

Dans vos exemples, les fonctions et les variables sont des morceaux de code elisp, c'est donc ~...~approprié. Les utilisations que =...=vous citez sont des séquences de touches et du texte que l'utilisateur doit placer dans le orgtampon, c'est-à-dire du balisage plutôt que du code. Cependant, le balisage de =outline-mode=est limite entre les deux catégories.

Andrew Swann
la source
3

Il convient à l'interprétation. J'ai redéfini, par exemple, ~C-f~pour exporter <kbd>C-f</kbd>en HTML et par exemple =forward-char=pour <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>")))

Mais leurs noms par défaut sont en effet codeet verbatim, comme le dit l'autre réponse.

abo-abo
la source