考虑以下示例。
\documentclass{article}
\usepackage{enumitem}
% New line after \item (http://tex.stackexchange.com/a/29518/15874)
\makeatletter
\def\myitem{%
\@ifnextchar[ \@myitem{\@noitemargtrue\@myitem[\@itemlabel]}}
\def\@myitem[#1]{\item[#1]\mbox{}\\}
\makeatother
% Exercise
\setlist[enumerate,1]{
wide = 0\parindent,
listparindent = 0pt,
label = \textbf{Exercise~\arabic*}
}
% Question
\setlist[enumerate,2]{
wide = 0\parindent,
listparindent = 0pt,
label = \textbf{\alph*)}
}
\begin{document}
\begin{enumerate}
\myitem
\begin{enumerate}
\item A
\item B
\end{enumerate}
\end{enumerate}
\end{document}
我如何
Exercise
删除?后的空格- 去掉
Underfull \hbox
警告 (对 之后的空白行做什么Exercise
)?PS 我不希望Exercise
和之间有任何文字a)
。
答案1
在下面一行中
\def\@myitem[#1]{\item[#1]\mbox{}\\}
您将\\
创建另一行。删除它以删除空白。如果您想进一步减少空间,可以添加负垂直空间。以下是两个版本。
输出
添加\vspace{-1ex}
空的
代码
\documentclass{article}
\usepackage{enumitem}
% New line after \item (http://tex.stackexchange.com/a/29518/15874)
\makeatletter
\def\myitem{%
\@ifnextchar[ \@myitem{\@noitemargtrue\@myitem[\@itemlabel]}}
\def\@myitem[#1]{\item[#1]\mbox{}\vspace{-1ex}}
\makeatother
% Exercise
\setlist[enumerate,1]{
wide = 0\parindent,
listparindent = 0pt,
label = \textbf{Exercise~\arabic*},
%partopsep=-40ex
}
% Question
\setlist[enumerate,2]{
wide = 0\parindent,
listparindent = 0pt,
label = \textbf{\alph*)}
}
\begin{document}
\begin{enumerate}
\myitem
\begin{enumerate}
\item A
\item B
\end{enumerate}
\end{enumerate}
\end{document}