16

Sweave(Sweave = R + LaTeX)で環境を選択的に非表示/表示できるEmacsマイナーモード(またはelispコードの一部)はありますか?

たとえば、コードブロックの先頭(<< >>)に移動し、キーストロークを押して、環境のコンテンツを非表示にします。

これは可能ですか?hs-minor-mode、allout-mode、outline-minor-modeを試しましたが、ほとんどがR環境を認識しません。

また、折りたたみ/展開に最適なorg-modeを試しましたが、次のような式のLaTeXハイライトコードはサポートされていません。\ cite {}; \ ref {}; \ ce{}..。

最高のリカルド

- 編集 -

いつかemacs-folding-modeを使おうとしましたが、非常に長いコード(2000行以上)で作業しているため、foldingモードは「おかしくなり」、たとえば特殊文字($など)のマイニングを誤解します。これは、RとLaTeXの両方で非常に異なる用途があります。同じバッファにRコードとLaTeXコードが一緒にあるので、問題はSweaveに固有のものだと思います。

だから、今私はemacsのアウトラインマイナーモードをテストしています。しかし、LaTeXからRを移動すると(およびその逆)、.emacsに書き込んだにもかかわらず、概説されたすべての部分が展開されました。

(defun turn-on-outline-minor-mode ()
 (outline-minor-mode 1))
  (add-hook 'ess-mode-hook 'turn-on-outline-minor-mode)
  (add-hook 'LaTeX-mode-hook 'turn-on-outline-minor-mode)
  (add-hook 'latex-mode-hook 'turn-on-outline-minor-mode)
(setq outline-minor-mode-prefix "\C-c\C-o")

何か提案はありますか??

よろしく

--編集2--

それはうまくいくようです:

(load "folding" 'nomessage 'noerror)
(folding-mode-add-find-file-hook)
(add-hook 'LaTeX-mode-hook 'folding-mode) 
(add-hook 'ess-mode-hook 'folding-mode) 
(folding-add-to-marks-list 'ess-mode "#{{{ " "#}}}" " ")

チャンクを離れると、自動的に展開されるというのが正しいかどうかはわかりません。

4

2 に答える 2

1

ここには一般的な折りたたみモードがあります: http://www.emacswiki.org/emacs/FoldingMode

于 2012-02-19T23:09:28.310 に答える