我有一个宏,里面有 itemize 环境。我尝试使用控制命令删除项目之间、前面和后面文本之间的空格,但仍然有空格。我该如何删除它们?(我该如何使 itemize 环境更紧凑?)
\documentclass{article}
\usepackage{booktabs}
\newcommand{\fuda}[2]{%
Function:%
\begin{itemize}%
#1%
\end{itemize} \topsep0pt \parskip0pt \partopsep0pt \itemsep0pt \parsep0pt
Data:%
\begin{itemize}%
#2%
\end{itemize}%
}
\begin{document}
\noindent
\fuda{%
\item A%
\item B}
{%
\item X%
\item Y
}
\end{document}
答案1
itemize
在调用时设置自己的间距参数,因此在调用之前设置它们是没有意义的。您可以使用以下方式轻松完成enumitem
:
\documentclass{article}
\usepackage{enumitem}
\newcommand{\fuda}[2]{%
Function:
\begin{itemize}
#1
\end{itemize}
Data:
\begin{itemize}[nosep]
#2
\end{itemize}
}
\begin{document}
\noindent
\fuda{
\item A
\item B
}{
\item X
\item Y
}
\end{document}
这是定义主体中几乎不需要的地方%
,但它们也不会造成任何损害。