Какая связь между ~ foo ~ и = foo = в режиме org?

11

И то =foo=и другое, ~foo~похоже, используется в org для встроенных битов кода. Чем они отличаются? Что я должен использовать и когда?

Например, из ORG-NEWSфайла:

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

Существует не очевидный образец здесь: org-export-exclude-tagsи org-odd-levels-onlyявляются переменными, а также org-next-visible-headingи outline-modeявляются обе функции.

Поддерживает ли какой-либо из этих синтаксисов переход в *Help*буферы, как `foo'в строках документации?

Уилфред Хьюз
источник
У меня был один и тот же вопрос в течение многих лет. Я закончил тем, что никогда не использовал ~ .. ~, а вместо этого использовал = .. = для всего дословно, включая фрагменты встроенного кода.
Каушал Моди
1
Посмотрите на stackoverflow.com/questions/18991981/… на разницу при экспорте
CantrianBear

Ответы:

6

На информационной странице организации "Акцент и моноспейс" мы имеем

`=verbatim=' and `~code~'

В ваших примерах функции и переменные являются частями кода elisp, поэтому ~...~это уместно. Используемые =...=вами ссылки приводятся для последовательности клавиш и текста, который пользователь должен поместить в orgбуфер, т. Е. Разметки, а не кода. Однако разметка =outline-mode=является границей между двумя категориями.

Эндрю Суонн
источник
3

Это подходит для интерпретации. Я переопределил, например, ~C-f~чтобы экспортировать <kbd>C-f</kbd>в HTML, и, например, =forward-char=в <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>")))

Но их имена по умолчанию действительно codeи verbatim, как говорит другой ответ.

Або-або
источник