Если я напишу что-то похожее *shrug*
на режим org, оно будет автоматически обозначено жирным шрифтом . Как я могу предотвратить это, то есть фактически *shrug*
появиться дословно при экспорте?
Редактировать:
Я все еще хочу иметь возможность использовать жирный шрифт (без необходимости изменять звездный синтаксис по умолчанию для жирного текста), и не должно иметь значения, в какой формат экспортируется мой файл org, например, он должен работать как для Markdown, так и для HTML экспорт.
Это важная вещь, поэтому она написана жирным шрифтом. Но для чего-то другого у меня нет идеи * пожимает плечами *.
\ast{}shrug\ast{}
или\star{}shrug\star{}
, аналогично, с HTML вы можете использовать кодировку сущности:a;
или, если добавление пробелов до или после звездочки является опцией, это тоже будет работать.code
код будет заключен в -tag, а в markdown есть обратные метки. Я хочу, чтобы это никак не форматировалось.\ast{}shrug\ast{}
Упоминается wvxvw, вероятно , ваш лучший вариант. он экспортирует в HTML как∗shrug∗
и в латекс,$\ast$shrug$\ast$
используя соответствующие символьные объекты.org-toggle-pretty-entities
отображает их как символы UTF8 в буфере организации.Ответы:
Этот ответ вдохновлен после коллективных предложений по списку GNU Emacs-орг-режим использования
org-entity
(C-h i g
(org) Special symbols
)\ast{}
вместо нулевой шириной пространства символов (которые я предложил в моем другом ответе здесь ).Ниже приведено общее решение, при котором пользователю не нужно запоминать сущности org для различных символов. Он вставляет сущность org (если она доступна), когда это делает пользователь
C-u SYMBOL
; работаетC-u *
,C-u /
,C-u =
и т.д.Поэтому, когда пользователь печатает
C-u *
,\ast{}
вставляется и в области эха отображается ниже сообщение,Если
org-pretty-entities
установленоt
выше, вставленный\ast{}
будет отображаться как*
.Если an
org-entity
не существует для символа X и если пользователь делаетC-u
X , X просто вставляется 4 раза (какC-u
это обычно делается ).источник
\*thisisnotbold\*
такая конструкция не существует?org-entities
документацией.Использование символа ZERO WIDTH SPACE
Вы можете отменить выделение жирным шрифтом, добавив символ пробела нулевой ширины (обозначенный [ZWS] в приведенных ниже фрагментах) перед первой звездочкой или после второй звездочки.
В приведенном ниже тесте оба фрагмента кода экспортировались в HTML.
[ZWS] перед первой звездочкой
[ZWS] после второй звездочки
Вы можете ввести ZERO WIDTH SPACE (имя юникода), выполнив
C-x 8
RET200b
RET.Я использую это очень часто, поэтому я связал это с
C-x 8 0
.Обновить
Согласно обсуждению в списке рассылки emacs-org-mode , использование не-ASCII символов для экранирования не рекомендуется; вместо этого
org-entities
следует использовать, если это применимо. Я тоже согласился с этим и предложил другое решение, которое делает вставкуorg-entities
действительно простой (C-u *
в данном случае).источник
emacs-orgmode@gnu.org
списке рассылки. Если интересно, можете следить / добавлять к обсуждению здесь .\ast{}
в файлах. Мое другое решение просто делает ввод\ast{}
быстрее и легче запомнить.Дословно, если вы на самом деле имеете в виду использовать некоторую разметку в экспортированном LaTeX, то вы можете просто использовать
=*shrug*=
. Однако, если вы просто хотите, чтобы он экспортировался как*shrug*
, и вы хотите делать это все время, я бы порекомендовал фильтры . Однако если вам это нужно только для некоторых случаев*shrug*
, вам следует использовать альтернативу, предложенную @wvxvw. Вы можете сделать это чисто с помощью макросов . Вот несколько примеров.фильтры
По сути, вышеупомянутый фильтр ищет
\textbf{..}
разметку в транскодированной строке и заменяет ее\ast{}..\ast{}
без изменения того, что было заключено внутри{..}
. Я не проверял регулярное выражение и строку замены, поэтому могут быть ошибки, но вы поняли. Точно так же, чтобы покрыть другие бэкэнды, можно добавить дополнительные фрагменты, как это:То же самое относится и к регулярному выражению выше.
макрос
Источник организации:
экспортирует в LaTeX как:
и в HTML как:
Конечно, вы можете добавить в макрос столько бэкэндов, сколько пожелаете.
Редактировать: как указывает Каушал в комментариях, фрагмент экспорта для латекса в данном случае является необязательным. Однако я предпочитаю использовать их всякий раз, когда задействован голый латекс, так как мне довольно сложно отслеживать список
org-entities
и конкретные правила определения голого латекса в источнике Org.Замечания:
HTML
, поэтому могут быть некоторые ошибки в соответствующих битах.источник
#+macro: nobold \ast{}$1\ast{}
?ast
является одним из членовorg-entities
списка, который определяет, как должны выглядеть экспорты из латекса, html, ascii и т("ast" "\\ast" t "∗" "*" "*" "*")
. д . : Порядок элементов в этом списке: «имя, замена LaTeX, математика LaTeX, замена HTML, замена ASCII, замена Latin1, замена utf-8».Это контролируется переменной org-emphasis-alist и может быть легко изменено.
org-emphasis
.customize-group
и ищите орг-акцентисточник