Beamer中的代码块字体大小与knitr和latex

时间:2016-07-12 08:12:42

标签: r latex knitr beamer

我正在尝试使用一些R代码来适应我的beamer幻灯片。似乎不可能通过代码块的size参数更改字体大小,就像对其他knitr类型文档一样。在每个代码块之前,唯一的方法似乎是\footnotesize。这很令人沮丧,因为我有很多代码块,在很多情况下我必须使用\normalsize之后才能获得我的LaTeX项目符号。

---
title: "Untitled"
output:
 beamer_presentation:
  includes:
   in_header: header.txt
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, size = "footnotesize")
```

## R Markdown

```{r}
summary(cars)
```

\footnotesize
```{r}
summary(cars)
```

enter image description here

在我的header.txt(下方)中,我尝试了http://yihui.name/knitr/demo/beamer/的几个代码,但没有运气。

\ifdefined\knitrout
\renewenvironment{knitrout}{\begin{footnotesize}}{\end{footnotesize}}
\else
\fi

\makeatletter
\let\oldalltt\alltt
\def\alltt{\@ifnextchar[\alltt@i \alltt@ii}
\def\alltt@i[#1]{\oldalltt[#1]\footnotesize}
\def\alltt@ii{\oldalltt\footnotesize}
\makeatother

...但是\def确实超出了我的深度。

1 个答案:

答案 0 :(得分:4)

this tex.SE answer上绘图,我们可以重新定义围绕Shaded代码的R环境,使其成为脚注(以及输出的verbatim环境)。将其添加到header.txt:

%% change fontsize of R code
\let\oldShaded\Shaded
\let\endoldShaded\endShaded
\renewenvironment{Shaded}{\footnotesize\oldShaded}{\endoldShaded}

%% change fontsize of output
\let\oldverbatim\verbatim
\let\endoldverbatim\endverbatim
\renewenvironment{verbatim}{\footnotesize\oldverbatim}{\endoldverbatim}