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}