2011-12-14 4 views
6

Gdy przewijam dokument Sweave (Rnw) z lateksem i kodem R , tekst przeskakuje, gdy tryb zmienia się pomiędzy Lateks i ESS. Te dwa tryby nie zgadzają się, w jaki sposób tekst powinien być zawijany. Ponadto zauważyłem, że kiedy robięGNUEmacs/ESS/Latex/Sweave: tekst wyświetla się inaczej, gdy kursor jest w kodzie lateksu lub w kodzie R

  1. Mx przełącznik-obciąć-linie, aby umożliwić obciąć długie linie, podczas gdy kursor znajduje kodem lateksowej
  2. ruch kursora do kodu R
  3. powrócić do kod latexowy

tryb obciętych długich linii nie jest już aktywny. Czy ktoś to zauważył? Czy ktoś rozwiązał ten problem?

+0

Tak, zauważyłem to; robi to samo z trybem linii sznurowych M-x. Po prostu przyzwyczaiłem się do tego, ponieważ nie wiem wystarczająco dużo o emacs, aby to naprawić. Chciałbym jednak zobaczyć odpowiedź. – Aaron

+0

Do @csgillespie, tutaj dzielę włosy na gramatykę, ale uważam, że jest to dokument ** i ** Sweave, a nie ** a ** dokument Sweave. To dźwięk (spółgłoska lub samogłoska) określa, czy używamy ** a ** czy ** an **. Zobacz [link] (http://grammar.quickanddirtytips.com/a-versus-an.aspx). – jrm

+0

@jrm: Nic złego w dzieleniu włosów, podnoszą ważność [punkt] (http://csgillespie.wordpress.com/2011/03/26/an-r-package-or-ar-package/);) Jednak , Uważam, że napisanie dokumentu "Sweave" jest nieco krępujące, a mimo to nadal byłoby "Sweave". – csgillespie

Odpowiedz

4

Czytając podobne pytanie na liście dyskusyjnej [email protected], właśnie tego się nauczyłem. Kiedy przewijamy plik noweb, przełączamy główne tryby z ESS na LaTeX. Większość głównych trybów zabija wszystkie zmienne lokalne w ramach ich inicjalizacji, więc gdy tylko ustawimy zmienną lokalnie, zostanie ona nadpisana. Aby rozwiązać ten problem, ja zmodyfikowany haka znalazłem:

(add-hook 'LaTeX-mode-hook '(lambda() (if (string-match "\\.Rnw\\'" buffer-file-name) (setq fill-column 80)))) 

można ustawić podobny hak Takle-mode lub kolankowy-obcięte linie, etc, w celu zaspokojenia swoich potrzeb. Minusem tego rozwiązania jest to, że utknąłeś z jedną wartością dla zmiennej ustawionej w haczyku.

+0

Dzięki, nie mogę się doczekać, aby spróbować. – Aaron

+0

Witam, moja dyskusja była bardzo interesująca. Czy jest sposób użyć powyższego kodu, aby włączyć tryb pomniejszego zarysowania w Sweave? Ponieważ kiedy przechodzę przez ESS z LaTeX (i vice versa), wszystkie przedstawione części zostały rozwinięte. – Riccardo

+0

@Riccardo, Nie jestem pewien, jak rozwiązać problem konspektu z powodu opisu w mojej odpowiedzi. To znaczy, chyba że zhakujesz główne tryby utrzymywania lokalnych zmiennych. Moje rozwiązanie było trochę hackowe, więc rozmiary kolumn wypełniających były takie same dla obu trybów. – jrm

Powiązane problemy