Sweave

2011-11-09 17 views
18

'daki Tufte-Latex sınıfını kullanarak bugün, benim ilk günümün Sweave veya LaTeX'i kullanarak kullanıldığını itiraf etmeliyim. Evet bu doğru. Bugün farkettim ki "40'lı yaşlardan önce" kepçe listemi, katılımımın yokluğunda kendimi çözmeyecekti. Ve benim neslimin birçok adamı gibi, Sweave ve LaTeX'i öğrenmek benim kova listemde. bu harika çıktı üretirSweave

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

:

enter image description here

Yani o kadar büyüktür

Böylece uzun önsözde, ben çok güzel bir ilk Sweave belge var. Ama gerçekten yapmak istediğim, Tufte-LaTeX sınıfı gibi harika LaTeX sınıflarını getirmeye başlamaktı. Anladığım kadarıyla, belgelerimi temelde mükemmel, ilham verici sanat eserlerine dönüştürüyor.

Tufte-LaTeX işini Sweave belgesine nasıl getirebilir ve belgelerimi daha büyülü hale getirmek için kullanabilirim?

+0

İkincisine kefil olabilirim. –

+0

Latincenizde birkaç yazım hatası var. Daha iyi bir yazım sözlüğü yüklemeniz gerekiyor, bu sadece yapmaz. Ve 40 yaşında bir kova listesi - hayat sigortası sigortacısına anlattın mı? (Ve ben senin Latince senin yazım hatası olarak tanımlayarak cömert davranıyorum. Bunların bazıları daha iyi 3 kişiye değiştirilmiş olabilir, ya da sen ... Ben bunu söylemek için dayanamıyorum.) – Iterator

cevap

12

üzerinde (La) TeX yardım istemek başarısız olursa ben tür böyle benim standart başlık Belgeniz sarılı olarak :

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

onunla çok iyi Tufte-sadaka gerçekten yapmaz gibi, başlık ya da yazar gibi şeyler kâr marjını koymamaliydiniz sizi dikkat ediyorum:

enter image description here

Tufte sınıfları, doğru bir şekilde hatırlatırsam, gerekli malzemeyi ve bazı örnekleri içeren "tufte-lateks" paketi olarak TeXLive ile kolayca kurulabilir.

+0

Tufte bitlerini bir doc sınıfı olarak çağırmak için herhangi bir şey yapmak zorunda mıyım? Yüklenmeli mi yoksa böyle mi? –

+1

@JDLong Lateks stil dosyalarını yerel texmf dizinine koyun (web'den indirdiyseniz) veya TeXLive paket yöneticisini [tex.SE'de açıklandığı gibi kullanın] (http://tex.stackexchange.com/ sorular/6483/ayar-up-a-lateks-belge kullanan-uggedall-ya-Tufte-lateks-şablonları). – chl

+0

Evet, tufte TeXLive ile yüklenebilir ve henüz TeXLive kullanmıyorsanız, yapmanız gerekir. Hangi paketlerin kurulduğunu yönetmek için gerçekten güzel ve basit bir yol sağlar ve bu paketleri güncellemek için basit ve (nispeten) şeffaf bir mekanizma sağlar. –

5

Ben notlar yapmak için bu şablonu kullandım:

\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

Birçok şey bir tür programlama karıştığı, ben konulardan ayrılmasını ilk strateji olarak göstermektedir. Başka bir deyişle, Tufte sınıfı ile erişte (diğer bir deyişle LaTeX'in 22+ yıllarında kullanmamıştım ;-) mutlu olursunuz, sonra tekrar kullanmak istediğiniz şeyi Sweaving'e taşıyın.). Sweave, arkasındaki kafa karıştırıcı olabilecek bir dizi komik şey yapıyor. Ve John senin için ilk parçayı yaptı. ]

At son olarak : her şey yaptığımı yapıp ve tex.stackexchange.com ;-)

+12

Ben içine girmek tercih ederim Narnia'ya sırtında binerken bana bilgelik katabilecek bir sihir konuşan tek boynuzlu at. Bu sormak için çok mu? –

10

Sanırım bu bir Sweave sorusundan daha LaTeX sorusu gibidir. tufte-handout sınıfını pgfSweave paketiyle uzun bir süre önce kullandım ve an example here'u bulabilirsiniz (bir veri madenciliği kursu için ev ödevlerimden biridir).

Siz Sweave ile nasıl yazılacağınızı yazdığınıza göre, burada varsayılan bir Sweave stilini beğenmediğim sürece, buraya eklemek istediğim bir şeyim yok. LaTeX'i fancyvrb kullanarak tanımlanan ortamları kastediyorum. R grafiklerinde varsayılan yazı tipi stili de sevmediğim bir şey. Tufte sınıfının güzelliğini mahvedebilirler. tikzDevice kullanarak pgfSweave paketi, stiller açısından çok daha iyi. Sweave (örneğin stil) ile ilgili bazı hayal kırıklıklarım, yeni bir motoru knitr; here kullanılabilir.

+2

Artık "tufte-handout" sınıfını kullanan http://yihui.github.com/knitr/demo/graphics/ adresindeki knitr'nin grafik el kitaplarını inceleyebilirsiniz. Hem kaynak kodu hem de çıktı var. Eğer Sweave kullanırsanız çok kaybedersiniz :) –