在rmarkdown中更改单行的字体大小而不更改全局fontsizes

时间:2016-02-26 06:23:51

标签: r latex knitr r-markdown pandoc

如何使用knitr和pandoc在rmarkdown中增加方程的字体大小而不增加整个文档的字体大小?

我使用knitr和pandoc编织成PDF。

修改

以下是rmarkdown示例文档。我希望仅使用数学公式增加单行上的字体大小,同时将其两侧的两个段落保留为全局文档字体设置:

---
title: "Untitled"
output: pdf_document
---

The thing we all love about Stack Overflow is how helpful its users are. As long as you take the time to provide a worked example they will help you solve your problem.

*$Y_{ij}$* = [*$\beta_0$* + *$\beta_1$*(Dose-300)] + [*$\varepsilon_{ij}$*]

One day I hope to be able to provide answers to new users the way some helpful users did for me, a pay it forward if you will.

1 个答案:

答案 0 :(得分:4)

TL; DR

---
output: pdf_document
---

With a minimal example of the problem, many questions can be answered easily.

\begingroup\Large
\begin{equation*}
Y_{ij} = [\beta_0 + \beta_1 (\text{Dose}-300)] + [\varepsilon_{ij}]
\end{equation*}
\endgroup

And usually, this is fun. ;-)

更长的答案

据我所知,唯一明智的输出格式是LaTeX。因此,让我们从改进等式的TEX代码开始:

*$Y_{ij}$* = [*$\beta_0$* + *$\beta_1$*(Dose-300)] + [*$\varepsilon_{ij}$*]

变为

$Y_{ij} = [\beta_0 + \beta_1 (\text{Dose}-300)] + [\varepsilon_{ij}]$

不需要星号;无论如何,数学都以斜体字排版。无需为每个表达式使用单独的$...$。在Dose中换取\text以使用直立字体。

下一步:增加尺寸。基本上,这是使用\Large完成的,但我们需要告诉LaTeX只扩大等式。通常,这可以使用如下的花括号来完成:{\Large ... }。但是,pandoc转义{,因此我们需要一个替代方案(请参阅here了解相关问题和一些解释):

\begingroup\Large $Y_{ij} = [\beta_0 + \beta_1 (\text{Dose}-300)] + [\varepsilon_{ij}]$\endgroup

或简单(但不太优雅,因为取决于原始字体大小):

\Large $Y_{ij} = [\beta_0 + \beta_1 (\text{Dose}-300)] + [\varepsilon_{ij}]$
\normalsize

我们基本上已经完成了,但我建议使用display mode

\begingroup\Large
\begin{equation*}
Y_{ij} = [\beta_0 + \beta_1 (\text{Dose}-300)] + [\varepsilon_{ij}]
\end{equation*}
\endgroup

如上所述,可以使用\normalsize代替分组。