如何禁用 \newpage

如何禁用 \newpage

我想禁用该命令\newpage

我做了以下操作,但没有效果。

\documentclass{article}

\renewcommand{\newpage}{}

\begin{document}

\begin{itemize}
\item A
\item B
\newpage
\item C
\end{itemize}

\end{document}

感谢您的帮助。

答案1

我建议您在序言中包含以下代码:

\usepackage{etoolbox}
\AtBeginDocument{%
    \let\orignewpage\newpage 
    \renewcommand\newpage{}
    \patchcmd{\clearpage}{\newpage}{\orignewpage}{}{}}

这样,代码块

\begin{itemize}
\item A
\item B
\newpage
\item C
\end{itemize}

确保不会在 B 项和 C 项之间产生分页符。

观察它非常有必要修补\clearpage,因为内部\clearpage包含一个\newpage指令,并且因为\clearpage被相当多的 LaTeX 宏使用,包括遇到\enddocument时运行的宏\end{document}。有关\newpagevs.的更多信息\clearpage,请参阅帖子使用 \clearpage 代替 \newpage 是否错误?(无耻的自我引用警报!)

(如果其他 LaTeX 宏\newpage内部包含指令,则这些宏也需要修补。LaTeX 内核定义的一个这样的宏是\cleardoublepage。幸运的是(?),它\cleardoublepage没有被article文档类使用除非选项\twoside\openright均已设置。)

相关内容