如何在组织模式中使单词的一部分变为粗体

bvk*_*bvk 12 emacs org-mode

如何org-mode为单词的一部分进行标记工作?例如,我希望它适用于这样的情况:

=Class=es
Run Code Online (Sandbox Code Playgroud)

还有这个:

/Method/s
Run Code Online (Sandbox Code Playgroud)

根据我的测试,似乎org-mode标记语法仅适用于完整的单词.

its*_*eyd 22

这些天来,有一个办法做到这一点(不使用引号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)
Run Code Online (Sandbox Code Playgroud)

说明

手册称,org-emphasis-regexp-components可用于

微调标记字符前后允许的字符[...].

它是一个包含五个条目的列表.第一个条目列出允许紧跟标记字符之前的字符,第二个条目列出允许跟随标记字符的字符.默认情况下,这些条目中的任何一个都不包含字母.因此,为了成功地将格式应用于紧跟在字母之前或之后的字符串,我们必须向两个条目添加[:alpha:](匹配任何字母).

这就是要做的setcar事情.第三行的目的是根据修改后的版本重建正则表达式以强调org-emphasis-regexp-components.

  • 不幸的是,如果一个 emph 跟随另一个 emph 这不起作用:`HiDPI: *Hi*gh *D*ots *P*er *I*nch` 会导致 **High Dots Per I**nch第一个和最后一个“*”匹配.. org-mode 版本 9.5 (3认同)

Dav*_*ani 7

我认为你不能这样做,所以它在缓冲区中显示为粗体.如果您只是需要它,以便在将其导出为html时显示为粗体,您可以使用:

th@<b>is is ha@</b>lf bold
Run Code Online (Sandbox Code Playgroud)

请参阅引用HTML标记

  • 在阅读了bvk提到邮件列表主题的回复之后,我追踪了该主题,并考虑包含一个指向开发人员响应的链接.[如何在组织模式中加入粗体字的一部分](http://lists.gnu.org/archive/html/emacs-orgmode/2009-08/msg00091.html). (2认同)
  • 在最近的`org-mode`版本中,引用HTML字符串的语法已经改变.为了得到'b <b>是大胆的,你必须写'th @@ html:<b> @@是ha ha @@ html:</ b> @@ lf bold` . (2认同)

小智 6

尚未提及的解决方案是在单词的所需粗体和非粗体部分之间使用 unicode 零宽度空格 (U+200B)。

要获得所需的“类”一词的粗体:

  1. 在缓冲区中输入“Class*es”(不带引号)。
  2. 将光标移动到“*”和“e”字符之间。
  3. 按 Cx 8 RET(执行 insert-char 命令)。
  4. 输入“零宽度空格”(不带引号)并按 RET。
  5. 将光标移动到单词的开头并插入“*”字符。

“Classes”一词现在应该具有所需的外观。

请注意,这可能会在导出时引起问题。