我想创建一个类似于\@startsection
LaTeX 内核的命令。如果前一个正文有内容,我需要开始新页面,如果前一个正文为空,则不执行此操作。
我查看了内核文档,但我不明白它是如何\@noskipsec
工作的。
梅威瑟:
\documentclass{article}
\usepackage{etoolbox}
\newtoggle{emptybody}
\settoggle{emptybody}{true}
\newcommand{\mytitle}[1]{%
\iftoggle{emptybody}{\textbf{#1}}{\clearpage \textbf{#1}}\par
}
\begin{document}
\mytitle{First title}
\mytitle{Should be on the same page}
Text
\mytitle{Should be on the new page}
\end{document}
答案1
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\newcommand{\mytitle}[1]{%
\ifbool{@nobreak}{\textbf{#1}}{\clearpage \textbf{#1}}\par\nobreak\@afterheading
}
\makeatother
\begin{document}
\mytitle{First title}
\mytitle{Should be on the same page}
Text
\mytitle{Should be on the new page}
\end{document}