枚举环境中的段落

枚举环境中的段落

我正在尝试创建一个用于家庭作业问题的环境。这些问题大部分都是关于引言段落的逐项问题。

我知道我可以编写一个问题环境并在其中放置一个枚举环境,但我真正想要的是能够编写如下内容:

\begin{problem}
John was born in 1992.

\item How old is John?
\item How old will John be next year?
\end{problem}

理想情况下,我还应该允许 \item[1,0] 或类似的东西来指定问题值。输出应该是这样的:

问题 1. 约翰出生于 1992 年。

a) 约翰多大了?

b) 约翰明年几岁?

是否有任何枚举包支持此行为?如果没有,我该如何手动执行?

答案1

正如 Johannes_B 指出的那样,有专门的文档类和包专门用于此。但如果您想要更简单的东西……

\documentclass{article}
\usepackage{enumitem}
\newcounter{question}
\newenvironment{problem}
{\stepcounter{question}\begin{enumerate}[label=\alph*.]
\setbox0=\hbox{Question \thequestion.}%
\edef\tmplen{\the\wd0}%
\def\tmp{\makebox[2em][l]{\box0}}%
\item[\tmp]\hspace{\dimexpr\tmplen-2em\relax}}
{\end{enumerate}}
\usepackage{lipsum}
\begin{document}
\lipsum[4]
\begin{problem}
John was born in 1992.

\item How old is John?
\item How old will John be next year?
\end{problem}

\begin{problem}
Mary was born in 1995.

\item How old is Mary?
\item How much older than Mary is John?
\end{problem}

\end{document}

在此处输入图片描述

相关内容