知道如何在 Quarto pdf 输出上设置较小的代码块大小吗?我不希望我的代码与文本大小相同,但我在文档开头的设置中找不到参数,也无法在 R 代码块中找到参数来指定字体大小。
您可以编写一个 knitr-hooks 来创建一个块选项(假设
size
)来控制代码块(源代码 + 块输出)的字体大小。
然后,我们可以为代码块设置
size: scriptsize
块选项,以获得比普通文本更小的字体大小(默认情况下,字体大小等于 \normalsize
。
---
title: "Small Font Size for Code chunk"
format: pdf
---
## Quarto
```{r}
#| echo: false
default_chunk_hook <- knitr::knit_hooks$get("chunk")
latex_font_size <- c("Huge", "huge", "LARGE", "Large",
"large", "normalsize", "small",
"footnotesize", "scriptsize", "tiny")
knitr::knit_hooks$set(chunk = function(x, options) {
x <- default_chunk_hook(x, options)
if(options$size %in% latex_font_size) {
paste0("\n \\", options$size, "\n\n",
x,
"\n\n \\normalsize"
)
} else {
x
}
})
```
Lorem ipsum dolor sit amet consectetur adipiscing elit, urna consequat felis
vehicula class ultricies mollis dictumst
```{r}
#| eval: false
#| size: scriptsize
print("This is r code")
print("This is r code")
print("This is r code")
print("And this has samller font size")
```
Vivamus integer non suscipit taciti mus etiam at primis tempor sagittis sit, eui
smod libero facilisi
您可以使用 LaTeX 字体选项在本地执行此操作:
---
title: "chunk-size"
format: pdf
editor: visual
---
\tiny
```{r}
summary(mtcars$mpg)
```
\normalsize
您可以使用
Huge
> huge
> LARGE
> Large
> large
> normalsize
> small
> footnotesize
> scriptsize
> tiny
。
您可以使用 knit 的块选项定义块文本的全局大小(即 R 输入和输出)。这是 R 块内容的示例,我将其放入 Quarto(或 Rmarkdown)文档的最开头(以及其他可能有用的选项;例如,默认情况下我希望数字近似为正方形):
#| echo: false
library(knitr)
opts_chunk$set(fig.align='center', fig.width=4, fig.height=4.2,
cache=TRUE, size="small")
参数“size”接受标准 LaTeX 尺寸(如其他答案中提供的)。 由于固定宽度字体看起来比可变宽度字体大,“小”似乎在可读性和空间使用之间取得了很好的平衡。