呈现 pdf 时如何在 R markdown 中制作 2 列布局?

How make 2 column layout in R markdown when rendering pdf?

使用 rmarkdown 呈现 html 文档时,有多种方法可以制作两列布局,例如here

有没有简单的方法来呈现具有两列布局的 pdf 文档?某处有示例代码吗?

自从我最初的回答以来,新的 pandoc 版本使这更容易。根据pandoc's manual,您现在可以直接在YAML front matter中指定classoptions:

---
classoption:
- twocolumn
---

新的 div 表示法还允许在文档中的任意位置插入两列部分,适用于大多数格式

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

contents...

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

contents...

:::
::::::::::::::

原回答

您可以使用文章选项 twocolumn 将整个文档设置为两栏格式。将此添加到您的 yaml 前端:

---
output: 
  pdf_document:
    pandoc_args: [
      "-V", "classoption=twocolumn"
    ]
---

除了scoa的回答,为了给列更多space可以给header-includes:加一个值,例如:

---
output:
  pdf_document:
    ...
header-includes:
- \setlength{\columnsep}{18pt}
---

更简洁:

---
output:
  pdf_document:
classoption: twocolumn
---

关于在 pdf 中的一列和两列模式之间切换,以下代码片段对我有用

转两栏模式:

```{r, echo=FALSE, results='asis'}
cat("\twocolumn")
```

转一栏模式:

```{r, echo=FALSE, results='asis'}
cat("\onecolumn")
```

在此找到此答案的来源:https://timmurphy.org/2010/06/23/adding-a-two-column-section-to-a-latex-document/

\begin{minipage}[t]{0.5\textwidth}
First Column Goodies.\
More First Column Goodies.\
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
Second Column Goodies.\
More Second Column Goodies.\
\end{minipage}

注意:非常重要的是 /end{minipage} 和下一个 \begin{minipage} 之间没有 space(不包括评论)。否则 LaTeX 不会并排渲染列。