避免在列表前和部分后留出垂直空间

避免在列表前和部分后留出垂直空间

我习惯titlesec 将章节标题放在页边距上。我想用列表开始一个章节,但列表中的第一个项目与章节标题不对齐。请参阅下面的 MWE。

添加类似于\vspace{-7mm}after 的\begin{itemize}作品,但它充其量只是一个临时解决方案,而-7mm视觉上选择的神奇数字使情况变得更糟。

有没有更好的解决办法?

\documentclass{article}
\usepackage{titlesec}

\titleformat{\section}[leftmargin]{\filleft}{\thesection}{.5em}{}
\titlespacing{\section}{4pc}{1.5ex plus .1ex minus .2ex}{1pc}

\def\LOREM{Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.}

\begin{document}

\section*{first section}
\LOREM\LOREM

\section*{second section}
\begin{itemize}
\item 
\LOREM\LOREM
\end{itemize}

\end{document}

在此处输入图片描述

答案1

在此处输入图片描述

第一级列表上方的空间是\topsep这样的,如果您添加\mbox{}一条隐藏线来保存章节标题,您就可以备份该数量。

\documentclass{article}
\usepackage{titlesec}

\titleformat{\section}[leftmargin]{\filleft}{\thesection}{.5em}{}
\titlespacing{\section}{4pc}{1.5ex plus .1ex minus .2ex}{1pc}

\def\LOREM{Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.}

\begin{document}

\section*{first section}
\LOREM\LOREM

\section*{second section}
\mbox{}\vspace{-\dimexpr\topsep+\baselineskip\relax}
\begin{itemize}
\item 
\LOREM\LOREM
\end{itemize}

\end{document}

当然,如果您定义某些命令而不是将其内联,文档标记看起来会更好。

相关内容