答案1
你可以通过以下方式获得你想要的东西etoolbox
:
\documentclass{article}
\usepackage{enumitem,lipsum}
\setlength{\parskip}{0.5\baselineskip}
\usepackage{etoolbox}
\AtBeginEnvironment{itemize}{\setlength\parskip{0pt}}
\AfterEndEnvironment{itemize}{\vspace*{-\dimexpr\parskip\relax}}
\begin{document}
\lipsum[1-2]
\begin{itemize}[label=\textendash, nosep]
\item Some text to fill this part
\item Some text to fill this part
\item Some text to fill this part
\item Some text to fill this part
\end{itemize}
\lipsum[3-4]
\end{document}
答案2
您可以使用以下方法摆脱它\newenvironment
(可能有更好的解决方案):
\documentclass{article}
\usepackage{enumitem,lipsum}
\setlength{\parskip}{0.5\baselineskip}
\newenvironment{itemizezerosep}{\vspace{-\parskip}
\begin{itemize}[label={--},
topsep=0pt,
parsep=0pt,
partopsep=0pt]
}
{\end{itemize}}
\begin{document}
\lipsum[1-2]
\begin{itemizezerosep}
\item Some text to fill this part
\item Some text to fill this part
\item Some text to fill this part
\item Some text to fill this part
\end{itemizezerosep}
\lipsum[3]
\end{document}
因为您说您只想删除列表前面的空格。如果您还想删除后面的空格,只需在\vspace{-\parskip}
后面添加即可\end{itemize}
。
编辑
正如解释的那样大卫·卡莱尔在下面的评论中,应该使用\vspace
without *
,这样如果列表恰好位于分页符之后(在页面顶部),则不会删除空间并且列表将正确对齐。
答案3
谢谢伯纳德,芭芭拉·比顿和enumitem
包装文档我终于明白了如何获得这种行为enumitem
:
\documentclass{article}
\usepackage{enumitem}
\setlength{\parskip}{0.5\baselineskip}
\begin{document}
Изучив предложенный курс, обучающийся должен обладать следующими
навыками:
\begin{itemize}[before=\setlength\parskip{0pt}]
\item правильно оценивать свойства стали;
\item правильно выбирать оптимальное решение конструкций;
\item рационально и экономно проектировать стальные конструкции.
\end{itemize}
Изучению курса металлических конструкций должно предшествовать
изучение следующих дисциплин: технология металлов и сварки;
сопротивление материалов; строительная механика; архитектура
промышленных и гражданских зданий.
\end{document}