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

Quarto文档转PDF时内容位置异常问题求助

解决Quarto PDF渲染中3列布局内容错位问题

用LaTeX minipage强制分组(最可靠)

直接用minipage包裹每一行的三列内容,把每一行做成独立的不可浮动块,彻底避免LaTeX浮动机制搞乱布局。示例代码:

---
title: "3列布局测试"
format: pdf
---

## Header 1.1

### 第1行
\begin{minipage}{0.3\textwidth}
![图片1](image1.png)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
[链接文本](https://example.com)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
![图片2](image2.png)
\end{minipage}

### 第2行
\begin{minipage}{0.3\textwidth}
![图片3](image3.png)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
[链接文本2](https://example.com)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
![图片4](image4.png)
\end{minipage}

### 第3行
\begin{minipage}{0.3\textwidth}
![图片5](image5.png)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
[链接文本3](https://example.com)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
![图片6](image6.png)
\end{minipage}

### 第4行
\begin{minipage}{0.3\textwidth}
![图片7](image7.png)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
[链接文本4](https://example.com)
\end{minipage}%
\begin{minipage}{0.3\textwidth}
![图片8](image8.png)
\end{minipage}

## Header 1.2

注意每个minipage末尾的%必须加,用来消除LaTeX自动添加的空格,保证三列能并排;三个minipage的宽度总和别超过\textwidth,不然会自动换行。

禁用浮动+强制段落换行

如果不想写太多LaTeX代码,试试在YAML里关闭图片浮动,再用\par强制每一行结束后换行:

---
title: "3列布局测试"
format: 
  pdf:
    fig-cap-location: none  # 关闭图片标题,避免触发浮动
    fig-pos: "h!"           # 强制图片留在当前位置
---

## Header 1.1

![图片1](image1.png){width=30%} [链接文本](https://example.com){style="display: inline-block; width:30%; text-align:center;"} ![图片2](image2.png){width=30%}
\par  # 强制结束当前段落,让下一行内容进入正常流

![图片3](image3.png){width=30%} [链接文本2](https://example.com){style="display: inline-block; width:30%; text-align:center;"} ![图片4](image4.png){width=30%}
\par

![图片5](image5.png){width=30%} [链接文本3](https://example.com){style="display: inline-block; width:30%; text-align:center;"} ![图片6](image6.png){width=30%}
\par

![图片7](image7.png){width=30%} [链接文本4](https://example.com){style="display: inline-block; width:30%; text-align:center;"} ![图片8](image8.png){width=30%}

## Header 1.2

给链接加inline-block样式是为了让它占据固定宽度,避免因为链接文本长短导致布局错位。

用tabular表格兜底

如果上面两种方法都不行,直接把所有内容放进LaTeX的tabular表格里,表格会把所有行牢牢固定在当前位置,绝对不会跑到其他章节:

---
title: "3列布局测试"
format: pdf
---

## Header 1.1

\begin{tabular}{ccc}
\includegraphics[width=0.3\textwidth]{image1.png} & \href{https://example.com}{链接文本} & \includegraphics[width=0.3\textwidth]{image2.png} \\
\includegraphics[width=0.3\textwidth]{image3.png} & \href{https://example.com}{链接文本2} & \includegraphics[width=0.3\textwidth]{image4.png} \\
\includegraphics[width=0.3\textwidth]{image5.png} & \href{https://example.com}{链接文本3} & \includegraphics[width=0.3\textwidth]{image6.png} \\
\includegraphics[width=0.3\textwidth]{image7.png} & \href{https://example.com}{链接文本4} & \includegraphics[width=0.3\textwidth]{image8.png} \\
\end{tabular}

## Header 1.2

tabular{ccc}表示三列都居中对齐,每一行用\\结束,简单粗暴但有效。

内容的提问来源于stack exchange,提问作者Kelly Ireland

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:27:41