Quarto并排显示图片与表格时如何统一将题注设置在底部
Quarto并排混排图表时题注统一置底方案
问题描述
在Quarto中使用layout-ncol参数实现图片与表格并排展示时,即便配置cap-location: "bottom",该参数也无法同时作用于同个代码块内的图片和表格,会出现图片题注重复、表格题注位置异常的问题,无法实现「图片、表格题注均位于对应元素底部、无重复题注」的效果。
最小复现示例
--- title: "sidebyside" format: pdf editor: visual --- ```{r} #| layout-ncol: 2 #| layout-valign: bottom #| cap-location: bottom #| fig-cap: "A plot" #| tbl-cap: "A table" library(knitr) # 左侧放置图片 plot(cars) # 右侧放置表格 kable(head(cars))
上述代码渲染后存在两处异常: - 图片题注"A plot"重复出现 - 表格题注未按配置显示在表格底部 ## 解决方法 不要在单个代码块内同时放入图片、表格并配置全局布局参数,改用Quarto原生分栏容器,将图片、表格拆分到独立列中单独配置渲染参数,即可避免跨元素类型的参数冲突,参考代码如下: ```qmd --- title: "sidebyside" format: pdf --- ::: {layout-ncol=2 layout-valign="bottom"} ::: {} ```{r} #| fig-cap: "A plot" #| cap-location: bottom plot(cars)
:::
::: {}
#| tbl-cap: "A table" #| cap-location: bottom library(knitr) kable(head(cars))
:::
:::
### 方案特性 - 独立列容器将图片、表格的渲染上下文隔离,`cap-location`参数可分别正常生效,不会出现参数覆盖、冲突问题 - 题注与对应元素强绑定,不会出现重复渲染题注的异常 - 布局对齐逻辑和原`layout-ncol`写法完全一致,支持通过`layout-valign`调整垂直对齐方式,兼容Quarto所有输出格式(PDF、HTML、Word等),无需额外引入第三方依赖。 --- 内容的提问来源于stack exchange,提问作者Maël
相关产品推荐
相关产品推荐

