使用 titlesec 中的 titleclass{page} 和 titleclass{top} 重新定义部分命令会导致标题上方出现不必要的白色。
如何才能正确去除这些空白(无需用负空间进行视觉调整)?
平均能量损失
\documentclass{article}
\usepackage{titlesec}
\usepackage{showframe,lipsum,parskip}
\titleformat{\section}{\bfseries}{\thesection}{1em}{}
\titlespacing*{\section}{0pt}{0pt}{0pt}
\titleclass{\section}{page}
\titleformat{\subsection}{\bfseries}{\thesubsection}{1em}{}
\titlespacing*{\subsection}{0pt}{0pt}{0pt}
\titleclass{\subsection}{top}
\begin{document}
\section{Lorem Ipsum}
\subsection{Dolor sit amet}
\lipsum[1-3]
\section{Some Text}
\subsection{Some more Text}
\lipsum[1-3]
\end{document}
答案1
这是你想要的吗?
\documentclass{article}
\usepackage{titlesec}
\usepackage{showframe, lipsum, parskip}
\renewcommand{\ShowFrameLinethickness}{0.3pt}
\titleformat{\section}{\bfseries}{\thesection}{1em}{}
\titlespacing*{\section}{0pt}{-4.5ex}{0pt}
\titleclass{\section}{page}
\titleformat{\subsection}{\bfseries}{\thesubsection}{1em}{}
\titlespacing*{\subsection}{0pt}{-4.5ex}{0pt}
\titleclass{\subsection}{top}
\begin{document}
\section{Lorem Ipsum}
\subsection{Dolor sit amet}
\lipsum[1-3]
\section{Some Text}
\subsection{Some more Text}
\lipsum[1-3]
\end{document}
编辑:这个更简单的代码不依赖于部分标题使用的字体大小:
\documentclass{extarticle}
\usepackage{titlesec}
\usepackage{showframe, lipsum, parskip}
\renewcommand{\ShowFrameLinethickness}{0.3pt}
\titleformat{\section}{\clearpage\Huge\bfseries\Huge}{\thesection}{1em}{}[\clearpage]
\titleformat{\subsection}{\clearpage\bfseries}{\thesubsection}{1em}{}
\begin{document}
\section{Lorem Ipsum}
\subsection{Dolor sit amet}
\lipsum[1-3]
\subsection{Some more Text}
\lipsum[5-6]
\section{Some Text}
\subsection{Some more Text}
\lipsum[7-10]
\end{document}