我尝试定义一些环境,但有时会遇到糟糕的分页符。最小工作示例如下:
\documentclass[b5paper]{article}
\usepackage{hyperref} % page break is correct when removing this line
\newcounter{question}
\newenvironment{question}{\par\refstepcounter{question}\thequestion. }{}
% page break is correct when changing \refstepcounter to \stepcounter
\begin{document}
\fontsize{40pt}{50pt}\selectfont
\begin{question}111\end{question}
\begin{question}111\end{question}
\begin{question}111\end{question}
\begin{question}
If ... Then ... ( ).\par
(A) 11; (B) 22; (C) 33; (D) 44.
\end{question}
\begin{question}111\end{question}
\begin{question}111\end{question}
\begin{question}111\end{question}
\begin{question}111\end{question}
\begin{question}111\end{question}
\end{document}
删除 hyperref 包或将 \refstepcounter 更改为 \stepcounter 时,分页符是正确的。此示例有什么问题?
答案1
避免在 vmode 中放置特殊内容
\newenvironment{question}{\par\mbox{}\refstepcounter{question}\thequestion. }{}