我有 250 个列表,使用enumitem
和shortlst
包。我要求所有列表都应对齐,leftside
并且所有item
间距before-and-after
都应固定5 points
。我不需要使用multicol
包。我使用了\setlist
标签,但文本与 合并columns
。
如何避免任何列表的合并columns
和before-and-after
固定间距enumerate
。
我的 MWE 如下:
\documentclass{book}
\usepackage{lipsum,enumitem,shortlst,tasks}
\makeatletter
\setlist[enumerate,1] {label=\arabic*,align=left,font=\color{blue},leftmargin=15pt,labelwidth=10pt}
\setlist[enumerate,2] {label=\alph*,align=left,font=\color{red},leftmargin=10pt}
\setlist[enumerate,3]{label=\roman*,align=left,font=\color{violet}}
\setlist[enumerate,4]{label=\Alph*,align=left,font=\color{green}}
\newenvironment{ansenumerate}[1][30]{%
\setlength{\shortitemwidth}{#1pt}%
\begin{shortenumerate}%
\setlength{\labelsep}{0.5em}%
\ifodd\value{@MCans}
\setlength{\labelwidth}{1.3em}%
\else
\setlength{\labelwidth}{0.35em}%
\fi
}{%
\end{shortenumerate}%
}
\makeatother
\begin{document}
\twocolumn
\lipsum[1]
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $1(x+4)=27$
\item $18=3(a+5)$
\item $2x+2=8$
\end{enumerate}
\lipsum[1]
\begin{enumerate}
\item
\begin{enumerate}
\item $26+x=11$
\item $2x+2=8$
\item $13=q $
\item $16+a=10$
\item $112+b=15$
\item $10=3b+2$
\item $14=7 +a$
\item $112x+2=8$
\end{enumerate}
\end{enumerate}
\lipsum[1]
%%%
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $3(x+4)=27$
\item $18=3(a+5)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
\lipsum[1]
%%%%
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $3(x+4)=27$
\item $18=3(a+5)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}
答案1
我删除了与非标准包相关的内容,因为您的文档似乎不依赖于它。(我怀疑它tasks
也不需要。)
有两个直接问题。一个是您没有激活拉丁连字模式,因此 TeX 无法合理地换行,并且文本宽度太窄会导致内容溢出。这可以通过指定latin
为类选项并加载来解决babel
。
第二个原因是您已配置enumerate
环境,将第一级和第二级标签放置在几乎相同的位置。第二级标签将放置在只是在第一个的右侧,没有任何间距。我认为结果并不理想。但是,我不确定您想要实现什么效果。以下在5pt
标签前后指定了 的间距。调整并享受!
\documentclass[latin]{book}
\usepackage{lipsum,enumitem,tasks,babel}
\setlist[enumerate] {align=left, labelindent=5pt, labelsep=5pt, leftmargin=*}
\setlist[enumerate,1] {label=\arabic*,font=\color{blue}}
\setlist[enumerate,2] {label=\alph*,font=\color{red}}
\setlist[enumerate,3]{label=\roman*,font=\color{violet}}
\setlist[enumerate,4]{label=\Alph*,font=\color{green}}
\begin{document}
\twocolumn
\lipsum[1]
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $1(x+4)=27$
\item $18=3(a+5)$
\item $2x+2=8$
\end{enumerate}
\lipsum[1]
\begin{enumerate}
\item
\begin{enumerate}
\item $26+x=11$
\item $2x+2=8$
\item $13=q $
\item $16+a=10$
\item $112+b=15$
\item $10=3b+2$
\item $14=7 +a$
\item $112x+2=8$
\end{enumerate}
\end{enumerate}
\lipsum[1]
%%%
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $3(x+4)=27$
\item $18=3(a+5)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
\lipsum[1]
%%%%
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $3(x+4)=27$
\item $18=3(a+5)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}