1. 问题现象与背景分析
最近在使用Wiley期刊提供的LaTeX模板撰写论文时,编译后生成的PDF文件第一页总是莫名其妙多出一张空白页。这个问题困扰了不少科研工作者,特别是在投稿截止日期临近时,这种看似简单却影响重大的排版问题尤为恼人。
Wiley作为国际知名学术出版集团,其LaTeX模板被广泛应用于各类SCI期刊投稿。模板本身经过严格测试,但不同用户的编译环境和设置差异可能导致各种意外情况。空白页问题就是其中最常见的一种,它可能出现在以下几种场景:
- 使用PdfLaTeX引擎编译时
- 切换为XeLaTeX引擎后
- 在Overleaf在线平台使用时
- 本地TeX Live/MiKTeX环境编译时
重要提示:空白页问题通常与文档类设置、标题页宏包冲突或前置内容(如摘要、致谢)的格式定义有关,并非真正的"bug",而是LaTeX排版逻辑的自然结果。
2. 根本原因深度解析
2.1 文档类参数设置问题
Wiley模板通常使用\documentclass{wiley-article}这类自定义文档类。查看其cls文件会发现,默认设置了twoside(双页排版)和openright(章节从右页开始)参数。这意味着:
- LaTeX会自动插入空白页保证章节起始位置正确
- 即使文档只有一页,也会强制满足双页排版要求
latex复制% 典型问题代码示例
\documentclass[twoside,openright]{wiley-article} % 这是问题根源
2.2 标题页宏包冲突
Wiley模板可能同时加载了多个标题页处理宏包:
titlepagetitlingauthblk
这些宏包对\maketitle命令的实现方式不同,叠加使用可能导致:
- 标题页生成后残留空白页
- 页眉页脚设置被意外重置
2.3 前置内容格式定义
模板对摘要、关键词等前置内容的定义可能包含\clearpage或\newpage命令:
latex复制\begin{abstract}
...
\end{abstract}
\clearpage % 不必要的分页命令
3. 六种解决方案实测对比
3.1 修改文档类参数(推荐)
最彻底的解决方法是修改文档类选项:
latex复制\documentclass[oneside]{wiley-article} % 强制单页排版
或保留双页但禁用强制右页:
latex复制\documentclass[twoside,openany]{wiley-article}
3.2 使用afterpage宏包修正
在导言区添加:
latex复制\usepackage{afterpage}
\let\origdoublepage\cleardoublepage
\renewcommand{\cleardoublepage}{%
\afterpage{\thispagestyle{empty}\origdoublepage}%
}
3.3 调整标题页生成方式
替换默认的\maketitle命令:
latex复制\makeatletter
\renewcommand{\maketitle}{%
\thispagestyle{empty}
\vspace*{\fill}
\begin{center}
{\LARGE\bfseries \@title}
\end{center}
\vfill
\newpage
}
\makeatother
3.4 检查抽象环境定义
在cls文件中定位abstract环境定义,移除其中的分页命令:
latex复制\renewenvironment{abstract}
{\small\noindent\textbf{Abstract}\par\medskip}
{\par\medskip} % 原可能包含\newpage
3.5 编译引擎切换测试
不同引擎处理空白页的逻辑不同:
- PdfLaTeX:
pdflatex main.tex - XeLaTeX:
xelatex main.tex - LuaLaTeX:
lualatex main.tex
3.6 终极检查清单
- 确认文档类未设置
openright - 检查所有
\chapter命令前后是否有冗余分页 - 使用
\usepackage{nopageno}临时禁用页码 - 在
\begin{document}后立即添加\let\cleardoublepage\clearpage
4. 不同场景下的最佳实践
4.1 Overleaf在线平台
在Overleaf中需要额外注意:
- 菜单 → Compiler 选择XeLaTeX
- 在项目根目录创建
.latexmkrc文件:
perl复制$pdf_mode = 1;
$pdflatex = 'xelatex --shell-escape %O %S';
4.2 本地TeX Live环境
推荐配置:
bash复制latexmk -pdflatex="xelatex -interaction=nonstopmode" -pdf main.tex
4.3 期刊投稿特殊要求
当期刊强制要求保留双页排版时:
latex复制\usepackage{atbegshi}
\AtBeginDocument{\AtBeginShipoutNext{\AtBeginShipoutDiscard}}
5. 进阶调试技巧
5.1 使用layout宏包分析
latex复制\usepackage{layout}
\begin{document}
\layout % 生成页面布局示意图
5.2 检查.box文件
编译时添加调试参数:
bash复制pdflatex -interaction=nonstopmode -output-directory=build main.tex
然后检查生成的.box文件。
5.3 最小工作示例(MWE)构建
逐步剥离内容,创建最小测试文件:
latex复制\documentclass{wiley-article}
\begin{document}
Test % 如果仍有空白页,证明是模板问题
\end{document}
6. 常见问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 仅首页空白 | \maketitle定义问题 |
重定义\maketitle |
| 奇数页后空白 | openright启用 |
改为openany |
| 特定章节后空白 | \cleardoublepage调用 |
替换为\clearpage |
| Overleaf特有空白 | 编译器默认设置 | 切换为XeLaTeX |
| 参考文献前空白 | \bibliography分页 |
使用nobibliography宏包 |
7. 模板修改注意事项
直接修改Wiley提供的cls文件时需注意:
- 保留原始文件备份
- 使用
\PassOptionsToPackage而非直接修改 - 通过
\providecommand覆盖原有命令 - 修改后运行
texhash更新数据库
例如安全修改方式:
latex复制\PassOptionsToPackage{twoside=false}{wiley-article}
\usepackage{wiley-article}
遇到这类问题时,我的处理流程通常是:先检查文档类选项→分析标题页生成逻辑→排查前置内容分页命令→最后考虑编译引擎切换。实际经验表明,80%的空白页问题通过简单修改文档类参数即可解决,剩余情况需要深入分析模板定义。建议在投稿前使用\listfiles命令生成使用的文件列表,便于后期排查问题。
