You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarto文档中实现横竖页(Portrait/Landscape)混合排版?

在Quarto中实现横竖页面混合排版的解决办法

核心配置与步骤

  1. 加载必要的LaTeX包
    在文档的YAML头部添加配置,确保Quarto编译PDF时加载pdflscape包(该包比基础的lscape更友好,能同步PDF阅读器的页面旋转):
---
title: "混合横竖页演示"
format:
  pdf:
    include-in-header:
      text: |
        \usepackage{pdflscape}
---
  1. 正确切换横竖页并保留Quarto格式
    不要直接用纯LaTeX环境包裹内容,而是用Quarto的{=latex}块分隔LaTeX命令和Quarto内容,确保横向页内的所有Quarto语法(标题、列表、代码块、加粗/斜体等)都能正常渲染:
## 纵向页面内容
这是普通纵向页,支持所有Quarto格式:**加粗文本**、`代码片段`,以及R代码块:
```r
print("纵向页的R代码输出")

{=latex}
\newpage
\begin{landscape}
{=latex}

横向页面内容

这里是横向页,完全兼容Quarto语法:

  • 列表项1
  • 列表项2

加粗文本、斜体文本和代码都能正常显示,R可视化代码也能正确生成图表:

library(ggplot2)
ggplot(mtcars, aes(mpg, wt)) + geom_point(color = "red")

{=latex}
\end{landscape}
\newpage
{=latex}

回到纵向页面

切换回纵向后,内容格式依然正常。

### 解决你遇到的两个问题
- **`Undefined control sequence`错误**:是因为没有在YAML中加载`pdflscape`或`lscape`包,Quarto无法识别`\begin{landscape}`这类LaTeX命令。
- **横向页内格式丢失**:直接用纯LaTeX环境包裹内容时,Quarto会把环境内的所有内容当成纯LaTeX代码处理,忽略自身的markdown语法。用`{=latex}`块单独包裹LaTeX命令,就能让Quarto正常解析中间的内容。

内容的提问来源于stack exchange,提问作者Bram Setyadji Madusuyatno
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 17:45:43