Как выделить часть слова жирным шрифтом в организационном режиме

Как заставить работать org-mode разметку для части слова? Например, я бы хотел, чтобы он работал для таких случаев:

=Class=es

и это:

/Method/s

Судя по моим тестам, синтаксис разметки org-mode работает только с целыми словами.


person bvk    schedule 02.08.2009    source источник
comment
При экспорте в PDF через LaTeX можно просто использовать решение LaTeX непосредственно в буфере org. Например. \textbf{V}alence \texttt{Aware} Dictionary Будет напечатана только буква V жирным шрифтом, а все слово Aware будет отображаться в стиле org =verbatim=.   -  person n1k31t4    schedule 20.03.2016


Ответы (5)


Я не думаю, что вы можете сделать так, чтобы он отображался в буфере жирным шрифтом. Если вам просто нужно, чтобы он отображался жирным шрифтом при экспорте в html, вы можете использовать:

th@<b>is is ha@</b>lf bold

См. цитирование HTML-тегов.

person David Miani    schedule 02.08.2009

В наши дни есть есть способ сделать это (без использования HTML-тегов в кавычках):

(setcar org-emphasis-regexp-components " \t('\"{[:alpha:]")
(setcar (nthcdr 1 org-emphasis-regexp-components) "[:alpha:]- \t.,:!?;'\")}\\")
(org-set-emph-re 'org-emphasis-regexp-components org-emphasis-regexp-components)

Объяснение

В руководстве говорится, что org-emphasis-regexp-components можно использовать для

точно настройте, какие символы разрешены до и после символов разметки [...].

Это список, содержащий пять записей. В первой записи перечислены символы, которым разрешено непосредственно предшествовать символам разметки, а во второй записи перечислены символы, которым разрешено следовать символам разметки. По умолчанию буквы не включаются ни в одну из этих записей. Таким образом, чтобы успешно применить форматирование к строкам, непосредственно предшествующим букве или следующей за ней, мы должны добавить [:alpha:] (что соответствует любой букве) для обеих записей.

Это то, что делают вызовы setcar. Назначение третьей строки — перестроить регулярное выражение для выделения на основе модифицированной версии org-emphasis-regexp-components.

person itsjeyd    schedule 02.07.2014
comment
Хороший! И для педантичных любителей CL это также работает для setf car и cadr из org-emphasis-regexp-components. - person Dan; 14.08.2014
comment
... и вызов org-set-emph-re влияет не только на полужирный (* *), но и на курсив (/ /), подчеркивание (_ _) и зачеркивание (+ +). Супер красиво! - person Dan; 14.08.2014
comment
@Дэн Спасибо! И да, это должно быть универсальное решение. Жаль, что никто еще не задал общий вопрос об этом ;) - person itsjeyd; 14.08.2014
comment
@itsjeyd Хорошее решение! Не знаю почему, но у меня есть визуальная проблема с этим: нижние индексы кода LaTeX позволяют подчеркивать шрифты в организационном режиме. т. е. в следующем фрагменте LaTeX (\bigcup_{i=1} F_i) {i=1} F подчеркнуто в буфере организационного режима. В любом случае это не влияет на выходной PDF. - person Firmin Martin; 10.04.2020

Нет, ты не можешь этого сделать. Я искал такое же решение раньше и ничего не нашел. (Очень) плохой хак - сделать что-то вроде *Class* es (с пробелом).

Возможно, вы можете написать короткое сообщение создателю, Карстену Доминику (домашняя страница), и спроси у него решение. Кажется, он хороший парень.

person dermatthias    schedule 03.08.2009
comment
Я только что отправил письмо в список рассылки организационного режима. - person bvk; 03.08.2009
comment
@MichaelPaulkonis Если вам все еще интересно, последние версии org-mode можно настроить для применения разметки к частям слов. Смотрите мой ответ ниже. - person itsjeyd; 03.07.2014

Решение, которое не было упомянуто, состоит в том, чтобы использовать пробел нулевой ширины Unicode (U + 200B) между желаемыми частями слова, выделенными жирным шрифтом, и частями слова, выделенными жирным шрифтом.

Чтобы получить желаемое выделение слова Classes:

  1. Введите «Class*es» в буфере (без кавычек).
  2. Переместите курсор между символами «*» и «e».
  3. Нажмите C-x 8 RET (чтобы выполнить команду вставки символа).
  4. Введите «пробел нулевой ширины» (без кавычек) и нажмите RET.
  5. Подведите курсор к началу слова и вставьте символ «*».

Теперь слово Classes должно иметь желаемый вид.

Обратите внимание, что есть вероятность, что это вызовет проблемы при экспорте.

person user81065    schedule 25.01.2021

person    schedule
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – Из обзора - person tHeSiD; 01.02.2021