2011-11-09 12 views
18

Devo confessare che oggi è il mio primo giorno con Sweave o LaTeX. Si è vero. Oggi mi sono reso conto che la mia lista dei "prima dei 40" non si sarebbe risolta in assenza del mio coinvolgimento. E come tanti uomini della mia generazione, imparare Sweave e LaTeX è sulla mia lista dei desideri.Utilizzo della classe Tufte-Latex in Sweave

Quindi, con questo lungo preambolo, ho un bel primo documento 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} 

che produce questa meravigliosa uscita:

enter image description here

Così tanto è grande. Ma quello che mi piacerebbe davvero fare è iniziare a introdurre classi meravigliose LaTeX come la classe Tufte-LaTeX che, da quello che capisco, trasforma sostanzialmente i miei documenti in opere d'arte brillanti e ispirate.

Quindi, come potrei portare il business Tufte-LaTeX nel mio documento Sweave e usarlo per rendere i miei documenti più magici?

+0

Posso garantire per quest'ultimo. –

+0

Il tuo latino ha diversi refusi. È necessario installare un dizionario di ortografia migliore, semplicemente non lo farà. E una lista di età 40 anni - hai detto al sottoscrittore di assicurazione sulla vita? (E sono generoso descrivendo il tuo latino come se avessi errori di battitura.) Alcuni di questi dovrebbero essere cambiati in terza persona, o tu sei ... Non posso sopportare di dirlo.) – Iterator

risposta

12

ho un po 'come questo come la mia intestazione standard avvolto intorno il 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} 

ti far notare non dovrebbe mettere qualsiasi markup in cose come il titolo o autore, come Tufte-volantino in realtà non fa troppo bene con esso:

enter image description here

Le classi Tufte vengono facilmente installate tramite TeXLive come pacchetto "tufte-latex", che include il materiale necessario e alcuni esempi, se ricordo correttamente.

+0

Devo fare qualcosa per rendere disponibili i bit Tufte da chiamare come classe doc? Deve essere installato o alcuni di questi? –

+1

@JDLong Basta inserire i file di stile Latex nella directory texmf locale (se li hai scaricati dal web), o usare il gestore di pacchetti TeXLive, come [descritto su tex.SE] (http://tex.stackexchange.com/ domande/6483/messa a punto-a-lattice-document-con-il-uggedall-o lattice-templates-Tufte-). – chl

+0

Sì, tufte può essere installato tramite TeXLive e se non stai ancora utilizzando TeXLive, dovresti. Fornisce un modo veramente bello e semplice per gestire quali pacchetti sono installati e fornisce un meccanismo semplice e (relativamente) trasparente per aggiornare anche questi pacchetti. –

5

Ho usato questo modello per prendere appunti:

\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} 
4

Come con molte cose che coinvolgono programmazione di qualche tipo, suggerisco separazione dei problemi come prima strategia.

In altre parole, noodle con la classe Tufte (che non ho usato in 22+ anni di LaTeX ;-) fino a quando non sei felice, quindi sposta quello che vuoi usare di nuovo in Sweaving. Sweave fa una serie di cose divertenti dietro la schiena che possono essere fonte di confusione. [E John ha appena fatto quella prima parte per te. ]

Al infine: se tutto il resto fallisce fare quello che faccio e chiedere (La) TeX aiuto sul tex.stackexchange.com ;-)

+12

Preferirei imbattermi in un magico unicorno parlante che può impartire la saggezza attraverso di me cavalcando fino a Narnia. È troppo chiedere? –

10

Immagino che questa sia più una domanda LaTeX di una domanda di Sweave. Ho usato la classe tufte-handout molto tempo fa con il pacchetto pgfSweave, e potete trovare an example here (è uno dei miei compiti a casa per un corso di data mining).

Dato che voi ragazzi avete scritto come farlo con Sweave, non ho nulla da aggiungere qui, tranne che non mi piace lo stile predefinito di Sweave. Intendo LaTeX gli ambienti definiti utilizzando fancyvrb. Lo stile di carattere predefinito nella grafica R è anche qualcosa che non mi piace. Possono solo rovinare la bellezza della classe Tufte. Il pacchetto pgfSweave utilizza tikzDevice è molto meglio in termini di stili. Alcune frustrazioni con Sweave (ad esempio lo stile) mi hanno fatto decidere di riscrivere un nuovo motore knitr; è disponibile here.

+2

Ora è possibile consultare il manuale grafico di knitr all'indirizzo http://yihui.github.com/knitr/demo/graphics/ che utilizza la classe 'tufte-handout'. Sono presenti sia il codice sorgente che l'output. Perderai molto se usi Sweave :) –

Problemi correlati