枚举内的多枚举包

枚举内的多枚举包

是否可以在枚举环境中使用多枚举包?以下代码无法正确显示(最后一列移动到下一行):

\begin{enumerate}
\item \begin{multienumerate}
\mitemxxx{Not1}{Linear1}{Not1}
\mitemxxx{Not2}{Linear2}{Not2} 
\end{multienumerate}
\end{enumerate} 

另外,如果可以的话,我该如何更改编号?由于 multienumerate 嵌套在 enumerate 环境中,我希望每个项目都标有字母字符 (a、b、c...)。如果这不可能,有人可以建议一种替代方法吗?

理想情况下,我希望创建以下内容:
1. 问题 1 序言
(a) a 部分 (b) b 部分 (c) c 部分
(d) d 部分 (e) e 部分 (f) f 部分
2. 问题 2 序言
(a) a 部分 (b) b 部分 (c) c 部分
(d) d 部分 (e) e 部分 (f) f 部分

其中 ac 和 df 部分跨越线宽并且标签垂直对齐。

答案1

您可以更改\hsize\linewidthinside multienumerate,这样环境就可以知道线宽的当前值(包\textwidth默认使用);可以使用重新定义来更改所用计数器的表示\labelenumi。如果您的内部项目自然平衡,则另一种选择是使用构建的三列,例如使用包multicol。以下示例显示了两种替代方案:

\documentclass{article}
\usepackage{enumitem}
\usepackage{multienum}
\usepackage{multicol}

\begin{document}

\noindent Using \texttt{multienum}:
\begin{enumerate}
\item 
\setlength\hsize{\linewidth}
\begin{multienumerate}
  \setcounter{enumi}{0}
  \renewcommand{\labelenumi}
  {\addtocounter{enumi}{1}\alph{enumi}.}
\mitemxxx{Not}{Linear}{Not}
\end{multienumerate}
\end{enumerate}

\noindent Using \texttt{multicol}:
\begin{enumerate}
\item \begin{multicols}{3}
\begin{enumerate}
\item Not 
\item Linear
\item Not
\end{enumerate}
\end{multicols}
\end{enumerate}

\end{document}

在此处输入图片描述

也许最好的选择是使用带有包选项的包enumerate*中的环境并使用以下命令控制项目之间的间距:enumiteminline\hfill

\documentclass{article}
\usepackage[inline]{enumitem}

\begin{document}

\noindent With \texttt{enumitem}:
\begin{enumerate}
\item 
\begin{enumerate*}[itemjoin=\hfill]
\item Not
\item Linear
\item Not
\end{enumerate*}
\end{enumerate}

\end{document}

在此处输入图片描述

通过对原始问题的编辑,更好的选择似乎是使用宽度等于且具有自动单元格编号的tabularx环境(来自包):tabularx\linewidth

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}

\newcounter{row}
\renewcommand\therow{\alph{row}}

\begin{document}


\begin{enumerate}
\item
\begin{tabularx}{\linewidth}[t]{*{3}{>{\stepcounter{row}\makebox[1.8em][l]{(\therow)\hfill}}X}}
part 1 & part 2 & part 3\\
part 4 & part 5 & part 6\\
\end{tabularx}
\item
\setcounter{row}{0}
\begin{tabularx}{\linewidth}[t]{*{3}{>{\stepcounter{row}\makebox[1.8em][l]{(\therow)\hfill}}X}}
part 1 & part 2 & part 3\\
part 4 & part 5 & part 6\\
\end{tabularx}
\end{enumerate}

\end{document}

在此处输入图片描述

当然,如果要多次使用这个结构,可以定义一个新的环境来简化书写:

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}

\newcounter{row}
\renewcommand\therow{\alph{row}}

\newenvironment{rowenum}
  {\setcounter{row}{0}%
    \par\noindent\tabularx{\linewidth}[t]
    {*{3}{>{\stepcounter{row}\makebox[1.8em][l]{(\therow)\hfill}}X}}%
  }
  {\endtabularx}

\begin{document}

\begin{enumerate}
\item Question 1 preamble
\begin{rowenum}
part 1 & part 2 & part 3 \\
part 4 & part 5 & part 6 \\
\end{rowenum}
\item Question 2 preamble
\begin{rowenum}
part 1 & part 2 & part 3 \\
part 4 & part 5 & part 6 \\
\end{rowenum}
\end{enumerate}

\end{document}

在此处输入图片描述

相关内容