我一直在使用org-mode发布科学笔记。我发布的大部分内容都是编译乳胶代码,我正在寻找一种方法来突出org-mode缓冲区中的乳胶语法。我遇到了很多解决方案,用于显示已发布的乳胶代码,并使用列出的,铸造的,pygments等进行语法高亮显示。有没有办法在org-buffer中显示突出显示的乳胶语法?
答案 0 :(得分:8)
变量splitPermIp
允许您
突出内联数学。但是,只有单面突出显示LaTeX片段。
来自org-highlight-latex-and-related
的文档:
org-highligh-latex-and-related
E.g:
Non-nil means highlight LaTeX related syntax in the buffer.
When non nil, the value should be a list containing any of the
following symbols:
`latex' Highlight LaTeX snippets and environments.
`script' Highlight subscript and superscript.
`entities' Highlight entities.
面部(setq org-highlight-latex-and-related '(latex script entities))
用于表示LaTeX碎片。
答案 1 :(得分:4)
您可以将latex fragments括在#+BEGIN_LaTeX latex
和#+END_LaTex latex
中以突出显示它们。它与source blocs(#+BEGIN_SRC LaTeX
....)不同,它们是逐字导出的(如您所提到的那样通过pygments进行突出显示)。
它适用于环境(方程式,对齐......):
据我所知,它不适用于内联数学(如果你将整个段落包含在内,但是你没有使用org-mode的话......)
来源:emacs.stackexchange和Reddit中的答案。
答案 2 :(得分:2)
将以下内容放在.emacs配置文件中:
;; fontify code in code blocks
(setq org-src-fontify-natively t)
PS-我不明白它默认没有启用。
答案 3 :(得分:2)
你可能想尝试这样的事情。
(font-lock-add-keywords 'org-mode
'(("\\(\\\\cite\\)" . font-lock-keyword-face)
("\\[[0-9]+]" . font-lock-type-face)
("\\s-*[a-zA-Z]+[0-9]+[a-z]" . font-lock-constant-face)))
(font-lock-add-keywords 'org-mode
'(("\\(\\\\citep\\)" . font-lock-keyword-face)))
(font-lock-add-keywords 'org-mode
'(("\\(\\\\citet\\)" . font-lock-keyword-face)))
(font-lock-add-keywords 'org-mode
'(("\\(\\\\citealp\\)" . font-lock-keyword-face)))
(font-lock-add-keywords 'org-mode
'(("\\(\\\\citeauthor\\)" . font-lock-keyword-face)))
(font-lock-add-keywords 'org-mode
'(("\\(\\\\citeyear\\)" . font-lock-keyword-face)))
http://www.emacswiki.org/emacs/AddKeywords http://www.emacswiki.org/emacs/RegularExpression