tutorial - Usando la clase Tufte-Latex en Sweave
sweave r studio (4)
Como con muchas cosas relacionadas con la programación de algún tipo, sugiero la separación de los problemas como una primera estrategia.
En otras palabras, noodle con la clase Tufte (que no he usado en más de 22 años de LaTeX ;-) hasta que esté satisfecho, luego mueva lo que quiera usar de nuevo al Sweaving. Sweave hace una serie de cosas divertidas detrás de la espalda que pueden ser confusas. [Y John acaba de hacer esa primera parte por ti. ]
Por último, si todo lo demás falla, haga lo que hago y pido ayuda de (La) TeX en tex.stackexchange.com ;-)
Debo confesar que hoy es mi primer día usando Sweave o LaTeX. Sí, es verdad. Hoy me di cuenta de que mi lista de deseos "antes de los 40" no iba a resolverse en ausencia de mi participación. Y como muchos otros hombres de mi generación, aprender Sweave y LaTeX está en mi lista de deseos.
Así que con ese largo preámbulo, tengo un muy buen primer documento de Sweave:
/documentclass{article}
/begin{document}
/title{Look Mom! I''m doing /LaTeX}
/author{JD Long}
/maketitle
/section{Where I get both funky and fresh}
<<make some randomness>>=
set.seed(12)
t <- rnorm(100)
@
and an example plot
/begin{center}
<<fig=TRUE,echo=FALSE>>=
plot(density(t))
@
/end{center}
This is a very simple example of how we might get started with Sweave. You know what comes next, right? That''s right... Lorem Ipsum, ladies!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed sem est. Pellentesque massa magna, ullamcorper eget lacinia sit amet, dignissim ac leo. Fusce hendrerit elit vitae lacus mollis suscipit.
/end{document}
Lo que produce esta salida maravillosa:
Así que eso es genial. Pero lo que realmente me gustaría hacer es comenzar a traer maravillosas clases de LaTeX como la clase Tufte-LaTeX que, por lo que entiendo, básicamente convierte mis documentos en obras de arte brillantes e inspiradas.
Entonces, ¿cómo podría incluir el negocio Tufte-LaTeX en mi documento de Sweave y utilizarlo para hacer que mis documentos sean más mágicos?
He usado esta plantilla para hacer notas:
/documentclass{tufte-book}
/usepackage{graphicx}
/usepackage{lipsum}
/setkeys{Gin}{width=/linewidth,totalheight=/textheight,keepaspectratio}
% Prints a trailing space in a smart way.
/usepackage{xspace}
/usepackage{hyperref}
/usepackage{amsmath}
/newcommand{/tthdump}[1]{#1}
/usepackage{makeidx}
/makeindex
/title{My title}
/begin{document}
/setkeys{Gin}{width=1.1/marginparwidth} %% Sweave
/section{Where I get both funky and fresh}
<<make some randomness>>=
set.seed(12)
t <- rnorm(100)
@
and an example plot
/begin{center}
<<fig=TRUE,echo=FALSE>>=
plot(density(t))
@
/end{center}
%% a margin figure
<<a, fig=FALSE, echo=FALSE>>=
plot(density(t))
@
/begin{marginfigure}
<<fig=TRUE, echo=FALSE>>=
<<a>>
@
/end{marginfigure}
This is a very simple example of how we might get started with Sweave. You know what comes next, right? That''s right... Lorem Ipsum, ladies!
/lipsum
/end{document}
Me gusta esto como mi encabezado estándar envuelto alrededor de su documento:
/documentclass{tufte-handout}
/usepackage{amsmath} % extended mathematics
/usepackage{booktabs} % book-quality tables
/usepackage{units} % non-stacked fractions and better unit spacing
/usepackage{multicol} % multiple column layout facilities
/usepackage{lipsum} % filler text
/usepackage{fancyvrb} % extended verbatim environments
/fvset{fontsize=/normalsize}% default font size for fancy-verbatim environments
/usepackage{xspace}
Me gustaría señalar que no debes poner ningún margen de beneficio en cosas como el título o el autor, ya que tufte-handout realmente no lo hace muy bien con eso:
Las clases de Tufte se instalan fácilmente a través de TeXLive como el paquete "tufte-latex", que incluye el material necesario y algunos ejemplos, si recuerdo correctamente.
Supongo que esto es más una pregunta de LaTeX que una pregunta de Sweave. tufte-handout
clase tufte-handout
hace mucho tiempo con el paquete pgfSweave
, y puedes encontrar un ejemplo aquí (es una de mis tareas para un curso de minería de datos).
Ya que ustedes escribieron cómo hacerlo con Sweave, no tengo nada que agregar aquí, excepto que realmente no me gusta el estilo predeterminado de Sweave. Me refiero a LaTeX los entornos definidos utilizando fancyvrb
. El estilo de fuente predeterminado en gráficos R también es algo que no me gusta. Sólo pueden arruinar la belleza de la clase Tufte. El paquete pgfSweave
que usa tikzDevice
es mucho mejor en términos de estilos. Algunas de las frustraciones con Sweave (por ejemplo, el estilo) me hicieron decidir reescribir un nuevo motor knitr
; está disponible here .