gpt4 book ai didi

Rstudio rmarkdown : both portrait and landscape layout in a single PDF

转载 作者:行者123 更新时间:2023-12-03 05:28:55 31 4
gpt4 key购买 nike

我想知道如何使用rmarkdown生成一个在同一文档中同时具有纵向和横向布局的pdf。如果有一个纯粹的 rmarkdown 选项,那会比使用 latex 更好。

这是一个可重现的小示例。首先,在 RStudio 中渲染此 .Rmd(按 Knit PDF 按钮)会生成所有页面均采用横向布局的 pdf:

---
title: "All pages landscape"
output: pdf_document
classoption: landscape
---

```{r}
summary(cars)
```

\newpage
```{r}
summary(cars)
```

然后尝试创建一个混合纵向和横向布局的文档。 YAML 中的基本设置是根据“包含”部分 here 完成的。 。 in_header 文件“header.tex”仅包含 \usepackage{lscape},这是建议用于 knitr 横向布局的包 here.tex 文件与 .Rmd 文件位于同一目录中。

---
title: "Mixing portrait and landscape"
output:
pdf_document:
includes:
in_header: header.tex
---

Portrait:
```{r}
summary(cars)
```

\newpage
\begin{landscape}
Landscape:
```{r}
summary(cars)
```
\end{landscape}

\newpage
More portrait:
```{r}
summary(cars)
```

但是,此代码会导致错误:

# ! You can't use `macro parameter character #' in horizontal mode.
# l.116 #

# pandoc.exe: Error producing PDF from TeX source
# Error: pandoc document conversion failed with error 43

非常感谢任何帮助。

最佳答案

所以,pandoc does not解析 latex 环境的内容,但你可以通过 redefining the commands 来欺骗它在您的 header.tex 文件中:

\usepackage{lscape}
\newcommand{\blandscape}{\begin{landscape}}
\newcommand{\elandscape}{\end{landscape}}

因此,这里的\begin{landscape}被重新定义为\blandscape,而\end{landscape}被重新定义为\elandscape 。使用 .Rmd 文件中新定义的命令似乎有效:

---
title: "Mixing portrait and landscape"
output:
pdf_document:
includes:
in_header: header.tex
---

Portrait
```{r}
summary(cars)
```

\newpage
\blandscape
Landscape
```{r}
summary(cars)
```
\elandscape

\newpage
More portrait
```{r}
summary(cars)
```

关于Rstudio rmarkdown : both portrait and landscape layout in a single PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25849814/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com