禁用某些组织模式标记

时间:2014-03-18 21:52:48

标签: emacs markdown markup org-mode

我希望能够在组织模式文档中键入+时禁用删除线。特别是它适用于表格中的条目。是否有一种简单的方法可以为特定的组织模式文档执行此操作,因为我只想为一个文档禁用它。如果不是一种切换方式,那就太好了。

我知道我可以使用+文字\plus,但我希望能够在文档中看到它,而不是阅读\plus

4 个答案:

答案 0 :(得分:7)

要在特定文件中禁用删除线,请将以下内容添加到您的文件中:

-*- org-emphasis-alist: (("*" bold) ("/" italic) ("_" underline) ("=" org-verbatim verbatim) ("~" org-code verbatim) ("+" (:strike-through nil))); -*-

缺点是它会抱怨文件可能包含不安全的值(请参阅here)。您还可以使用文件底部的较长版本,如here所述。

要为所有执行此操作,您的org文件更简单,并且不会提出问题:

(setq org-emphasis-alist (quote (("*" bold "<b>" "</b>")
                                 ("/" italic "<i>" "</i>")
                                 ("_" underline "<span style=\"text-decoration:underline;\">" "</span>")
                                 ("=" org-code "<code>" "</code>" verbatim)
                                 ("~" org-verbatim "<code>" "</code>" verbatim))))

来源:Bernt Hansen's org-mode notes(必读)和the org manual

答案 1 :(得分:2)

我能够通过在文件

中使用局部变量来实现
# Local Variables:
# org-emphasis-alist: (everything but strike through)
# End:

答案 2 :(得分:1)

您可以通过为文字加(+)定义叠加层(\plus)来实现此目的。有一个名为“自动覆盖”的库

  

允许您定义缓冲区中的文本与正则表达式匹配时自动创建(以及更新和销毁)的叠加层

(引自作者主页)。

您可以从here下载该库的独立版本。如果您使用的是Emacs 24并启用了Marmalade Repo,则可以通过

安装predictive软件包

M-x package-install RET predictive RET

显然包含“自动叠加”。

此库的文档为here

答案 3 :(得分:1)

您只需为一个文件设置org-emphasis-alist

-*- org-emphasis-alist: nil -*-

+not struckout+

当然,这会消除所有重点(粗体,斜体等)。我无法弄清楚如何只删除一个文件中的删除线(具体来说,我无法弄清楚如何在本地删除alist元素)。