Czy istnieje tryb dodatkowy Emacsa (lub fragment kodu eliznego), który pozwala selektywnie ukrywać/pokazywać otoczenie w trybie Sweave (Sweave = R + LaTeX)?EMACS składanie/rozkładanie kodu R
Na przykład chciałbym przejść na początek bloku kodu (< < >>), nacisnąć klawisz i ukryć zawartość środowiska.
Czy to możliwe? Po prostu próbowałem hs-minor-mode, allout-mode i outline-minor-mode, ale większość z nich nie rozpoznaje środowisk R.
Próbowałem także tryb org, który działa świetnie na składanie/rozkładanie, ale nie obsługuje kodu wyróżniającego LaTeX dla wyrażenia typu: \ cite {}; \ ref {}; \ Ce {} ...
Najlepszy Riccardo
--EDIT--
Próbowałem na kilka dni do wykorzystania emacs-składane-mode, ale ponieważ pracuję na bardzo długo kod (ponad 2000 wierszy), tryb składania "zwariował" i na przykład źle zrozumiał wydobycie jakiegoś specjalnego znaku (tj. $), który ma zupełnie inne zastosowanie zarówno w R niż LaTeX. Myślę, że problem jest związany z Sweave, ponieważ w tym samym buforze mam razem kod R i kod LaTeX.
Więc, teraz testuję emacs zarys mniejszego trybu. Ale kiedy przejść przez R z lateksu (i vice versa) całej przedstawionej części zostały rozłożeniu mimo piszę w moim .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")
Czy macie jakieś sugestie ??
Pozdrowienia
--edit 2--
wydaje się działać:
(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 "#{{{ " "#}}}" " ")
ja nie wiem, czy to prawda, że po opuszczeniu klocek, to automatycznie rozłożone.
to realizacja Tryb Rnw, który daje ci kłopot. Próbowałem też hideshow. Ale ponieważ Rnw resetuje tryb w porcjach, które opuszczasz/wchodzisz, wszystko się resetuje. W ESS prowadzone są rozmowy na temat przepisania Rnw na podstawie lepszego [nowegob.el] (http://www.loveshack.ukfsn.org/emacs/noweb.el). – VitoshKa
Witam, częściowo rozwiązałem problem za pomocą trybu składania. Ponownie zredagowałem wpis za pomocą mojego rozwiązania. – Riccardo