문단과 \usepackage{enumitem}의 `topsep` 사이의 세로 간격이 서로 상쇄됩니다.

문단과 \usepackage{enumitem}의 `topsep` 사이의 세로 간격이 서로 상쇄됩니다.

\setlength{\parskip}{\baselineskip}내 문서의 단락 사이에 세로 공백을 삽입하는 데 사용하고 있습니다 . 그러나 이로 인해 내 목록 환경과 충돌이 발생합니다. 이를 해결하기 위해 패키지를 사용하여 enumitem항목화 환경 앞의 마지막 줄과 첫 번째 항목 사이의 간격을 설정하고 있는데 =0pt, 이를 통해 생성된 단락 간격이 \setlength{\parskip}{\baselineskip}이를 취소합니다. topsep~ 로 설정하면 얻을 수 있지만 -9pt마지막 항목과 다음 단락 사이의 간격이 느슨해집니다(아래 MWE 참조). 개별 항목 사이의 간격도 줄이고 싶어서 일부러 선택했는데 noitemsep, 이것을 유지하고 싶습니다.

내가 없애려고 하는 공간

\documentclass{article}

% insert vertical space between paragraphs
\setlength{\parskip}{\baselineskip} 

% Modifies itemized lists with enumitem http://www.ctan.org/pkg/enumitem
\usepackage{enumitem}
 \setlist[itemize]{noitemsep, topsep=0pt} % , topsep=-9pt

 % http://tug.ctan.org/tex-archive/macros/latex/contrib/blindtext/blindtext.pdf
\usepackage{blindtext} 

\begin{document} 

\blindtext

\noindent
This is the things cancel each other out:
% space I would like to get rid of is here!
\begin{itemize}
\item dummy first item
\item insert vertical space between paragraphs
\item \verb|[topsep=0pt]| in \verb| \usepackage{enumitem} |
\item dummy last item
\end{itemize}

\blindtext

\blindtext

\end{document}

답변1

before={\vspace*{-\baselineskip}}옵션 에 추가하세요 itemize:

\setlist[itemize]{noitemsep, topsep=0pt, before={\vspace*{-\baselineskip}}}

MWE:

\documentclass{article}

% insert vertical space between paragraphs
\setlength{\parskip}{\baselineskip}

% Modifies itemized lists with enumitem http://www.ctan.org/pkg/enumitem
\usepackage{enumitem}
 \setlist[itemize]{noitemsep, topsep=0pt, before={\vspace*{-\baselineskip}}} % , topsep=-9pt

 % http://tug.ctan.org/tex-archive/macros/latex/contrib/blindtext/blindtext.pdf
\usepackage{blindtext}

\begin{document}

\blindtext

\noindent
This is the things cancel each other out:
% space I would like to get rid of is here!
\begin{itemize}
\item dummy first item
\item insert vertical space between paragraphs
\item \verb|[topsep=0pt]| in \verb| \usepackage{enumitem} |
\item dummy last item
\end{itemize}

\blindtext

\blindtext

\end{document} 

산출:

여기에 이미지 설명을 입력하세요

답변2

karlkoeller의 답변은 한동안 훌륭하게 작동하지만 다음 사항에 유의해야 합니다.

vspace환경에 부정적인 것을 사용하면 다음과 같이 원치 않는 부작용이 발생할 수 있습니다.이 질문나에게 발생했던 일. 이를 조작하면 vspaceLatex가 잘못된 수직 크기를 계산하게 되고 각주 영역과 같이 페이지 내용이 넘칠 수 있습니다.

\topsep대신 환경 이전(필요한 경우 이후)을 조작하여 수직 공간을 덜 소비하도록 해야 합니다 .

관련 정보