Emacs中乳胶的代码折叠
是否有一种Emacs次要模式(或一段elisp代码)允许您在LaTeX模式下选择性地隐藏/显示环境?例如,我想移动到一个长的Emacs中乳胶的代码折叠,emacs,latex,elisp,folding,auctex,Emacs,Latex,Elisp,Folding,Auctex,是否有一种Emacs次要模式(或一段elisp代码)允许您在LaTeX模式下选择性地隐藏/显示环境?例如,我想移动到一个长的\begin{figure}块的开头,点击一个按键,并隐藏该figure环境的内容。类似于\begin{proof}等,理想情况下甚至是\subsections 这可能吗?我刚刚尝试了hs次要模式,allout模式,以及outline次要模式,但大多数都无法识别LaTeX的环境,例如hs次要模式因“扫描错误:不平衡括号”而失败。我宁愿不必像在中那样输入显式的折叠标记 [理想
\begin{figure}
块的开头,点击一个按键,并隐藏该figure环境的内容。类似于\begin{proof}
等,理想情况下甚至是\subsection
s
这可能吗?我刚刚尝试了hs次要模式
,allout模式
,以及outline次要模式
,但大多数都无法识别LaTeX的环境,例如hs次要模式因“扫描错误:不平衡括号”而失败。我宁愿不必像在中那样输入显式的折叠标记
[理想情况下,如果折叠是,那就太好了,但我发现这个问题还没有一个公认的答案。]AUCTeX做折叠:
对TeX和LaTeX等标记语言的一个普遍抱怨是,源文本太杂乱,无法很好地关注内容。有些宏只对它们所包含的内容感兴趣,比如字体说明符,其中的内容可能已经通过字体锁定以特殊方式进行了格式化。或者宏—您只希望在实际编辑时看到的内容,如脚注或引用。同样,当您试图集中精力于文档正文时,可能会发现某些环境或注释会分散您的注意力
使用AUCTeX的折叠功能,您可以折叠这些项目,并将其替换为固定字符串、其中一个参数的内容或两者的混合。如果要使原始文本再次可见以便查看或编辑,请将点侧向移动到占位符(也称为显示字符串)上或者用鼠标指针单击鼠标左键(后者目前仅在Emacs上受支持)。宏或环境将自动展开,只要点在宏或环境中,就保持打开状态,并在将点移出宏或环境后再次折叠。(请注意,当前环境的折叠在每种AUCTeX模式下都不起作用。)
要使用此功能,您必须激活TeX fold mode
,这将激活自动显示功能以及隐藏和显示宏和环境所需的命令。您可以在特定缓冲区中通过键入命令M-x TeX fold mode RET
或使用键盘快捷键C-C-o C-f。如果要在每次编辑LaTeX文档时使用它,请将其添加到挂钩:
(add-hook 'LaTeX-mode-hook (lambda ()
(TeX-fold-mode 1)))
如果应在所有AUCTeX模式下激活,请使用TeX模式挂钩
而不是LaTeX模式挂钩
激活模式后,有几个命令可用于隐藏和显示宏、环境和注释
您还可以使用大纲命令,如M-x隐藏体和M-x显示子树。还可以查看RefTeX,它具有ToC导航功能。