2011-12-14 15 views
6

Cuando me desplazo por un documento Sweave (Rnw) con látex y código R , el texto salta cuando el modo cambia entre Latex y ESS. Los dos modos no coinciden en cómo se debe envolver el texto. Por otra parte, me he dado cuenta de que cuando hagoGNUEmacs/ESS/Latex/Sweave: el texto se muestra de forma diferente cuando el cursor está en código latex o en código R

  1. Mx toggle-truncate-lines para habilitar truncar las largas colas mientras el cursor está dentro código de látex
  2. mover el cursor al código R
  3. retorno a la código de látex

el modo de líneas largas truncadas ya no está activado. ¿Alguien ha notado esto? Ha resuelto alguien este problema?

+0

Sí, lo he notado; hace lo mismo con M-x longlines-mode. Me acabo de acostumbrar, ya que no sé lo suficiente sobre emacs para solucionarlo. Me encantaría ver una respuesta sin embargo. – Aaron

+0

Para @csgillespie, estoy dividiendo los pelos con la gramática aquí, pero creo que es ** un ** documento de Sweave y no ** un ** documento de Sweave. Es el sonido (consonante o vocal) que determina si usamos ** a ** o ** an **. Ver [enlace] (http://grammar.quickanddirtytips.com/a-versus-an.aspx). – jrm

+0

@jrm: nada de malo con la división de los pelos, se plantea un importante [punto] (http://csgillespie.wordpress.com/2011/03/26/an-r-package-or-ar-package/);) Sin embargo , Encuentro que decir "un documento de Sweave" es un poco chirriante, y aún me iría por "un Sweave". – csgillespie

Respuesta

4

Al leer una pregunta similar en la lista de correo [email protected], esto es lo que he aprendido. Cuando nos desplazamos por el archivo noweb, estamos cambiando los modos principales de ESS a LaTeX. La mayoría de los modos principales matan todas las variables locales como parte de su inicialización, de modo que cuando simplemente establecemos la variable localmente, se sobrescribe. Para solucionar esto, he modificado un gancho que encontré:

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

podría establecer un gancho similar para palangres-modo o alternar-truncate-lines, etc., para satisfacer sus necesidades. La desventaja de esta solución es que tiene un único valor para la variable establecida en el gancho.

+0

Gracias, estoy deseando probarlo. – Aaron

+0

Hola, encontré tu discusión muy interesante. ¿Hay alguna manera de utilizar el código anterior para habilitar el modo secundario de contorno en Sweave? Porque cuando me desplazo a través de ESS desde LaTeX (y viceversa) se desplegaron todas las partes delineadas. – Riccardo

+0

@Riccardo, no estoy seguro de cómo resolver el problema de esquema debido a la descripción en mi respuesta. Es decir, a menos que hackes los modos principales para mantener las variables locales. Mi solución fue un poco hack para que los tamaños de columna de relleno fueran los mismos para ambos modos. – jrm

Cuestiones relacionadas