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

如何实现Rmd生成PDF时两列均分排版数学习题?

问题描述

我使用如下的.Rmd文件编译生成PDF时,习题会纵向依次排列,表格位于页面底部。我希望将习题设置为两列均分排版(最优方案是按页面占用空间分配而非习题数量),且需通过少量代码实现,因为我正在开发一个可输入习题自动生成.Rmd文件的网页工具。

原.Rmd代码:

---
title: 'Institute'
subtitle: 'Math test'
author: 'author'
output: pdf_document
header-includes:
- \usepackage{tabularx}

---
Name: _________________________  Class:_____   date: __________

# Solve these excercises

1. $$\int{\frac{x}{x+6}}dx$$\
\hrule\
2. $$\int{\frac{1}{x^2-9}}dx$$\
\hrule\
3. $$\int{\frac{x^2+4}{x+4}}dx$$\
\hrule\
5. $$\int{x\cdot arctan(x)}dx$$\
\hrule\
6. $$\int{(x^2+1)e^x}dx$$\
\hrule\
7. $$\int{\frac{x-7}{x^2+x-6}}dx$$

<!-- Some Table with tabularx for points -->
解决方案

使用LaTeX的multicol包即可实现自动平衡的两列布局,改动极小,适合自动生成场景:

  1. 在header-includes中添加\usepackage{multicol},引入多列排版包
  2. 将所有习题内容包裹在\begin{multicols}{2}和\end{multicols}环境中

修改后的完整.Rmd代码:

---
title: 'Institute'
subtitle: 'Math test'
author: 'author'
output: pdf_document
header-includes:
- \usepackage{tabularx}
- \usepackage{multicol}  # 新增:引入多列包

---
Name: _________________________  Class:_____   date: __________

# Solve these excercises

\begin{multicols}{2}  # 新增:开启两列环境
1. $$\int{\frac{x}{x+6}}dx$$\
\hrule\
2. $$\int{\frac{1}{x^2-9}}dx$$\
\hrule\
3. $$\int{\frac{x^2+4}{x+4}}dx$$\
\hrule\
5. $$\int{x\cdot arctan(x)}dx$$\
\hrule\
6. $$\int{(x^2+1)e^x}dx$$\
\hrule\
7. $$\int{\frac{x-7}{x^2+x-6}}dx$$
\end{multicols}  # 新增:关闭两列环境

<!-- Some Table with tabularx for points -->
说明
  • multicols{2}环境会自动平衡两列的内容高度,而非按习题数量拆分,完全符合“按页面占用空间分配”的需求
  • 仅需新增3行代码(包引用+环境首尾),原有习题内容无需任何修改,非常适合网页工具自动生成Rmd的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:03:29