\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 的空间,除非已经添加了更大的空间。