在Sweave中使用Tufte-Latex类

时间:2011-11-09 19:18:03

标签: r latex sweave tufte

我必须承认今天是我使用Sweave或LaTeX的第一天。对,是真的。我今天意识到,在没有我参与的情况下,我的“40岁以前”的清单并没有自行解决。像我这一代人一样,学习Sweave和LaTeX就在我的名单上。

所以在这个长序言中,我有一个非常好的第一个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}

产生了这个美妙的输出:

enter image description here

这太好了。但我真正想要做的就是开始引入精彩的LaTeX课程,比如Tufte-LaTeX课程,根据我的理解,这课程基本上将我的文档转化为精彩,灵感的艺术作品。

那么我如何将Tufte-LaTeX业务纳入我的Sweave文档并使用它来使我的文档更加神奇?

4 个答案:

答案 0 :(得分:12)

我喜欢这样,因为我的标准标题包裹在您的文档中:

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

我会注意到你不应该在标题或作者之类的内容中添加任何标记,因为tufte-handout确实不能很好地用它:

enter image description here

如果我没记错的话,可以通过TeXLive轻松安装Tufte类作为“tufte-latex”软件包,其中包括必要的材料和一些示例。

答案 1 :(得分:10)

我想这更像是一个LaTeX问题,而不是一个Sweave问题。很久以前我使用tufte-handout类使用pgfSweave包,你可以找到an example here(这是我的数据挖掘课程的主页之一)。

既然你们已经写下了如何用Sweave做的话,我在这里没有任何补充,除了我真的不喜欢Sweave的默认风格。我的意思是LaTeX使用fancyvrb定义的环境。 R图形中的默认字体样式也是我不喜欢的。他们可以破坏Tufte课程的美丽。使用pgfSweave的{​​{1}}包在样式方面要好得多。一些对Sweave的挫折(例如风格)使我决定重写一个新的引擎tikzDevice;它可用here

答案 2 :(得分:5)

我用这个模板做笔记:

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

答案 3 :(得分:4)

与涉及编程的许多事情一样,我建议将问题分离作为第一个策略。

换句话说,使用Tufte类的面条(我在22年以上的LaTeX中没有使用过;-)直到你很开心,然后将你想要使用的东西移回Sweaving。 Sweave在背后做了许多有趣的事情,这可能令人困惑。 [约翰刚刚为你做了第一部分。 ]

最后:如果其他一切都失败了,我会做什么,并在tex.stackexchange.com上寻求(La)TeX帮助; - )