
Я использую \setlength{\parskip}{\baselineskip}
для вставки вертикального пространства между абзацами в моем документе. Однако это создает конфликт с моими средами списка. Чтобы решить эту проблему, я использую пакет enumitem
для установки пространства между последней строкой перед моей средой itemize и моим первым элементом, =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}}}
МВЭ:
\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
Ответ Карлкёллера отлично работает в течение некоторого времени, но вам следует знать следующее:
Использование негатива vspace
для окружающей среды может иметь нежелательные побочные эффекты, как вэтот вопросСо мной случилось. Манипуляция vspace
приводит к тому, что Latex вычисляет неправильный вертикальный размер и может привести к переполнению содержимого страницы, например, области сноски.
Вместо этого вам следует манипулировать \topsep
средой до (и после, если необходимо), чтобы она занимала меньше вертикального пространства.