我想禁用该命令\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}
。有关\newpage
vs.的更多信息\clearpage
,请参阅帖子使用 \clearpage 代替 \newpage 是否错误?(无耻的自我引用警报!)
(如果其他 LaTeX 宏\newpage
内部包含指令,则这些宏也需要修补。LaTeX 内核定义的一个这样的宏是\cleardoublepage
。幸运的是(?),它\cleardoublepage
没有被article
文档类使用除非选项\twoside
和\openright
均已设置。)