2014-05-19 78 views
4

我想创建我的第一个Slidify演示文稿。我对JS,CSS和HTML5比较陌生。我正在使用以下YAML素材和R Markdown代码。我想创建一个简单的幻灯片,显示R可以用作大型计算器。我的问题是,我只能将大约3个简单表达式及其返回的输出放到一张幻灯片中。因此,我非常感谢有关如何更好地控制Slidify输出(较小的字体大小,或围绕突出显示的语法和评估/返回的R输出的较小边框)的任何可能建议。字体大小和行间距R Slidify

下面是我的.Rmd文件:

--- 
title  : An Introduction to R 
subtitle : Getting You "R Aware" And Beyond 
author  : Christopher Meaney 
job   : Biostatistician, University of Toronto 
framework : io2012  # {io2012, html5slides, shower, dzslides, ...} 
highlighter : highlight.js # {highlight.js, prettify, highlight} 
hitheme  : tomorrow  # 
widgets  : []   # {mathjax, quiz, bootstrap} 
mode  : selfcontained # {standalone, draft} 

--- .nobackground 

## R Can be Used as A Big Calculator 

```{r, results='asis', echo=TRUE} 
## Addition 
1 + 1 
## Exponentiation followed by multiplication (BEDMAS) 
4*5^2 
## Area of a circle of radius r=2 
pi*2^2 
## Natural logarithm of 1 multiplied by exponential (function) evaluated at 0 
log(1)*exp(0) 
``` 

有Github上的问题的一个很好的讨论。 https://github.com/ramnathv/slidify/issues/189 但是,我似乎无法分辨@ Robert的答案的哪部分涉及语法突出显示与字体大小和边界调整的关系。而且,在讨论中会提出很多建议的解决方案,这对于noob来说是最容易实现的?

作为一项后续行动,我将如何在全球设置/应用此选项,以便knitr评估的所有R块和slidify提供的R块具有相同的小/精简属性?

+0

尝试'{R,结果= 'ASIS',呼应= TRUE,大小= “scriptsize”} ' – Andrie

+0

Thx对于建议@Andire。不幸的是,'size = scriptsize'参数对'slidingify'显示的R输出的大小没有任何影响。 – Chris

+0

@A ndrie'size'仅适用于LaTeX输出(至少在此刻) –

回答

2

我相当有信心,这不是解决问题的最有效方法。但是,它似乎实现了许多目标。所以我会写下来,等待看看是否有更好的解决方案。

我想调整其字体(和其他格式)的R语法位于一对<pre> </pre>标记之间。

我想调整其字体(和其他格式)的R输出位于一对<p> </p>标记之间。

我只想调整一些幻灯片上的代码。所以我创建了以下CSS文件。我将它们存储在目录中:.../mydeck/assets/css/

这是矫枉过正(可能并非全部都有必要)。

文件1(.../mydeck /资产/ CSS/codefont.css)

slide.codefont pre { 
font-size: 9px ; 
} 

文件2(.../mydeck /资产/ CSS/outfont.css)

slide.outfont p { 
font-size: 9px ; 
} 

文件3(.../mydeck /资产/ CSS/codemargin.css)

slide.codemargin pre { 
margin-top: -10px ; 
margin-bottom: -10px ; 
padding-top: -10px ; 
padding-bottom: -10px ; 
} 

文件4(.../mydeck /资产/ CSS/outmargin.css)

slide.outmargin p { 
margin-top: -10px ; 
margin-bottom: -10px ; 
padding-top: -10px ; 
padding-bottom: -10px ; 
} 

后来,当我指定我简单的R作为在.Rmd文件大计算器幻灯片我只是添加以下内容:

--- .codefont .outfont .codemargin .outmargin .nobackground 

## R Can be Used as A Big Calculator 

```{r, results='asis', echo=TRUE} 
## Addition 
1 + 1 
## Exponentiation followed by multiplication (BEDMAS) 
4*5^2 
## Area of a circle of radius r=2 
pi*2^2 
## Natural logarithm of 1 multiplied by exponential (function) evaluated at 0 
log(1)*exp(0) 
``` 

这使得将R语法和R输出比默认较小。而且它还修剪R语法和R输出之间的一些空白区域。

  • 在我希望删除的R语法高亮显示中(在边框和实际R代码之间),仍有一点未使用的空白空间。
  • 对使用​​更少的CSS文件(1或2个CSS文件而不是4个)完成相同结果的可能性也有兴趣。
  • 另外,想想如何在R代码出现的所有幻灯片上实现这种方法(所以我不必不断地将--- .codefont .outfont .codemargin .outmargin添加到包含R代码的所有幻灯片中。能够将所有东西包装在一个函数中,其中font=, margin=, padding=可指定为参数会很酷。

仍在考虑这个开放的问题...谢谢。