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

Quarto书籍含R生成图表的div环境文本溢出页码问题求助

解决Quarto书籍中div环境内嵌图表导致的文本溢出问题

问题背景

在Quarto书籍的自定义div环境(::: {#exm-kurt})中嵌入R生成的直方图后,出现文本溢出至页码下方的异常排版;移除该图表后,文本排版恢复正常。

解决方案

1. 优化图表尺寸参数

原图表的fig.asp=1设置会生成正方形图表,可能在div内占用过多垂直空间,导致后续文本排版挤压溢出。调整图表的尺寸参数:

```{r, echo=FALSE, out.width='45%', fig.align='center', fig.asp=0.7, fig.cap="Histogram of Litter Size"}
s <- c(1,2,3,4,5,6,7,8,9,10,11,12)
f <- c(7,33,58,116,125,126,121,107,56,37,25,4)

t <- rep(s, f)

hist(t, probability = FALSE, xlab = 'Litter Size', 
     col = 'darkblue',
     density = 20,
     main = 'Histogram of Litter Size')
box(col = 'black')
- 降低`fig.asp`值让图表更扁平化,减少垂直空间占用;
- 微调`out.width`避免图表过宽,给文本留出足够排版空间。

### 2. 为div环境添加CSS分页控制
在Quarto文档的YAML头部或单独的CSS文件中,为目标div添加分页与溢出控制样式:
```css
#exm-kurt {
  page-break-inside: avoid; /* 强制div内容尽量保持在同一页,避免跨页截断 */
  margin-bottom: 1.5em; /* 增加div底部间距,避免与下方内容粘连 */
  padding-bottom: 0.5em; /* 为div内最后一行文本预留空间 */
}

该设置对PDF输出效果显著,能避免图表与文本被分页拆分导致的溢出问题。

3. 调整PDF输出的页面配置

在书籍的_quarto.yml中修改PDF格式的页面边距与图表分辨率:

format:
  pdf:
    geometry: margin=1.2in # 增大页面边距,提升可用排版空间
    default-image-dpi: 300 # 提高图表分辨率,避免拉伸导致的空间浪费
    keep-tex: true # 保留生成的TeX文件,方便进一步调试排版问题

4. 分离图表与div环境

若上述方法无效,可将图表从div环境中移出,避免图表与div内文本的排版冲突:

::: {#exm-kurt}
为进一步说明总体偏度(skewness)和峰度(kurtosis)的推断方法,我将使用Bulmer的示例:

|             |     |     |     |     |     |     |     |     |     |     |     |     |
|-------------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Litter Size |  1  |  2  |  4  |  5  |  6  |  7  |  8  |  9  | 10  | 11  | 12  | 13  |
| Frequency   |  7  | 33  | 58  | 116 | 125 | 126 | 121 | 107 | 56  | 37  | 25  |  4  |

: Frequency distribution of litter size in rats, n=815
:::

```{r, echo=FALSE, out.width='50%', fig.align='center', fig.asp=0.8, fig.cap="Histogram of Litter Size"}
# R图表代码

::: {#exm-kurt}
此处省略详细计算过程,您可根据公式1和公式2验证:

:::

---

内容的提问来源于stack exchange,提问作者Saïd Maanan
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:14:51