在四开 pdf 输出上设置代码块大小

问题描述 投票:0回答:3

知道如何在 Quarto pdf 输出上设置较小的代码块大小吗?我不希望我的代码与文本大小相同,但我在文档开头的设置中找不到参数,也无法在 R 代码块中找到参数来指定字体大小。

r pdf-generation quarto
3个回答
2
投票

您可以编写一个 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



1
投票

您可以使用 LaTeX 字体选项在本地执行此操作:

---
title: "chunk-size"
format: pdf
editor: visual
---

\tiny
```{r}
summary(mtcars$mpg)
```
\normalsize

您可以使用

Huge
>
huge
>
LARGE
>
Large
>
large
>
normalsize
>
small
>
footnotesize
>
scriptsize
>
tiny


0
投票

您可以使用 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 尺寸(如其他答案中提供的)。 由于固定宽度字体看起来比可变宽度字体大,“小”似乎在可读性和空间使用之间取得了很好的平衡。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.