无法在 RMarkdown PDF minipage 中包含多个 flextable

Unable to include multiple flextable in RMarkdown PDF minipage

我正在尝试使用 R {flextable} 包创建 PDF。它不喜欢 {multicol} (SO: Flextable seems to be incompatible with multicol LaTex package),因为在 multicol 中不允许使用 longtable。所以我改用 {minipage}.

当尝试使用单个 flextable 文件时,文件成功编织:

---
title: "Untitled"
date: "30/08/2021"
output:
  pdf_document:
    latex_engine: lualatex
geometry: margin=1.5cm
---

\begin{minipage}[t]{0.5\linewidth}
```{r iris}
flextable::flextable(iris[1:5, ])
```
\end{minipage}
\begin{minipage}[t]{0.5\linewidth}
Content on the right hand side
\end{minipage}

但是,在添加第二个 table 时,它无法正确转换为 .tex 文件:

---
title: "Untitled"
date: "30/08/2021"
output:
  pdf_document:
    latex_engine: lualatex
geometry: margin=1.5cm
---

\begin{minipage}[t]{0.5\linewidth}
```{r iris}
flextable::flextable(iris[1:5, ])
```
\end{minipage}
\begin{minipage}[t]{0.5\linewidth}
```{r iris2}
flextable::flextable(iris[1:5, ])
```
\end{minipage}

第一个 minipage 的 .tex 内容看起来不错,但在第二个 minipage 中显示为:

\textbackslash begin\{minipage\}{[}t{]}\{0.5\linewidth\}

我需要在 Rmd 文件中添加什么来防止这种情况发生吗?我尝试使用 printcat 并导致相同的 output/error.

问题似乎是 Pandoc 不明白第二个 \begin{minipage}[t]{0.5\linewidth} 也应该是逐字的 LaTeX。 作为解决方法,您可以将此行标记为 raw LaTeX:

```{=latex}
\begin{minipage}[t]{0.5\linewidth}
```

同样适用于结束\end{minipage}

但是,这会在两个 minipages 之间产生一个段落分隔符,这样它们就不再并排了。到目前为止我发现的唯一补救办法是对第一个小页面也使用原始的 LaTeX 语法:

---
title: "2 Flextables"
output:
  pdf_document: 
    latex_engine: lualatex
    keep_tex: yes
geometry: margin=1.5cm
---

```{=latex}
\begin{minipage}[t]{0.5\linewidth}
```
```{r iris}
flextable::flextable(iris[1:5, 2:4])
```
```{=latex}
\end{minipage}%
\begin{minipage}[t]{0.5\linewidth}
```
```{r iris2}
flextable::flextable(iris[1:5, 2:4])
```
```{=latex}
\end{minipage}
```

输出: