宏内 itemize 出现“无结束行”问题

宏内 itemize 出现“无结束行”问题
\newcounter{question}[section]
\setlength{\parindent}{24pt}
\newcommand{\question}[2]{\noindent\textbf{\thesubsection(\thequestion)} -- \textsl{#1}\\[0.2cm]}\indent#2\stepcounter{question}}

#1 我编写了这个宏来回答家庭作业中的问题,但是当以(或其他列表环境)环境结束时enumerate(没有行结束),我遇到了问题。

~我的解决方法是在后面放置一个,\end{enumerate}但这会创建一个非常宽的空间。我希望能够#1以类似 itemize 的环境结束。还有其他解决方案吗?

以下是 MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
% Macro
\newcounter{question}[section]
\setlength{\parindent}{24pt}
\newcommand{\question}[2]{\noindent\textbf{\thesubsection(\thequestion)} -- \textsl{#1}\\[0.2cm]}\indent#2\stepcounter{question}}
\begin{document}
\question{A very nice question with a list :
\begin{enumerate}
\item an item !
\end{enumerate}~}{A very interesting answer}
\end{document}

答案1

此处的标记有点奇怪,但错误来自于 \\\textsl{#1}\\[0.2cm]} 不能以垂直模式结束(\\例如#1段落末尾或列表末尾将其替换为\par\addvspace{0.2cm}因此它结束段落并添加 .2cm 的空间,除非已经添加了更大的空间。

相关内容