将 2 块代码并排放入 RMarkdown 或 Quarto 中

Jul*_*ien 5 pdf png pandoc r-markdown quarto

如何在 RMarkdown 或 Quarto 的输出文件中并排放置 2 块代码?

代码

library(dplyr)
mtcars %>% select(gear)
Run Code Online (Sandbox Code Playgroud)
library(dplyr)
select(mtcars, gear)
Run Code Online (Sandbox Code Playgroud)

PDF 或 HTML 文件中所需的布局 在此输入图像描述

tar*_*leb 5

类似这样的规范方法是使用columndiv

::::: columns
::: column
```r
library(dplyr)
mtcars %>% select(gear)
```
:::

::: column
```r
library(dplyr)
select(mtcars, gear)
```
:::
:::::
Run Code Online (Sandbox Code Playgroud)

这适用于 HTML、reveal.js、Beamer 和 Powerpoint。默认结果在 HTML 中看起来有点难看,因为两个块之间没有空格,但我们可以用一点点 CSS 来修复这个问题。我们可以直接将其放入文档中:

::::: columns
::: column
```r
library(dplyr)
mtcars %>% select(gear)
```
:::

::: column
```r
library(dplyr)
select(mtcars, gear)
```
:::
:::::
Run Code Online (Sandbox Code Playgroud)

如果我们希望对 PDF 做同样的事情,事情会变得更加复杂。我们需要将 div 转换为表格,因为这是并排获取元素的最有效方法。但这需要一些更重的工具。在 YAML 标头中,添加

output:
  pdf_document:
    pandoc_args:
      - "--lua-filter=columns-to-table.lua"
Run Code Online (Sandbox Code Playgroud)

然后将以下代码保存到文件中column-to-table.lua

<style>
.column { padding-right: 1ex }
.column + .column { padding-left: 1ex }
</style>
Run Code Online (Sandbox Code Playgroud)

您可以通过添加来消除表格周围的线条

output:
  pdf_document:
    pandoc_args:
      - "--lua-filter=columns-to-table.lua"
Run Code Online (Sandbox Code Playgroud)

在文档的开头。


Dan*_*iii 3

---
title: "Untitled"
output: html_document
---

:::::::::::::: {.columns}
::: {.column width="50%"}


```{r warning=FALSE,message=FALSE}
library(dplyr)
mtcars %>% select(gear)
```

:::
::: {.column width="50%"}

```{r warning=FALSE,message=FALSE}
library(dplyr)
select(mtcars, gear)
```

:::
::::::::::::::
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

使用这个SO问题作为资源。这是使用 pandoc 在 Rmarkdown HTML 输出中格式化文档