这里没有终点线

这里没有终点线

我刚刚定义了一个命令,如下所示:

\newcommand{\Question}[1]{\textbf{?: #1}\\[5pt]}

以下是代码片段,我想使用物品环境:

\documentclass[letter, 11pt]{article}

\newcommand{\Question}[1]{\textbf{?: #1}\\[5pt]}

\begin{document}

\section*{Question \#2}
\Question{Here is the question
\begin{itemize}
    \item[2.1] first part
    \item[2.2] second part
\end{itemize}
}

\end{document}

编译会引发错误,如下所示:

这里没有终点。

因此,当我在逐项列举环境中,错误将会消失:

\Question{Here is the question
\begin{itemize}
    \item[2.1] first part
    \item[2.2] second part
\end{itemize}
.
}

看起来,问题命令应该改变,但我不知道该怎么做。

答案1

整个构造作为环境肯定会更好。\textbf不允许空行(这与问题的早期版本有关)并且\\几乎从来不需要在表格之外使用。这里如果#1没有在段落中间结束,那么你会收到一个错误,\\说没有行可以结束,你应该使用\par\vspace{5pt}或更好地使用基于的显示环境,list以便更好地处理相邻显示的空间。

但简单的重新定义就是

\newcommand{\Question}[1]{{\bfseries?: #1\par\vspace{5pt}}}

答案2

我认为命令在这里毫无用处。手动编号会让你抓狂。把它放在一个好的环境中,让 LaTeX 来完成这项工作。

\documentclass[11pt]{article}

\setcounter{secnumdepth}{-1}
\newcounter{question}
\newenvironment{question}{\refstepcounter{question}\section{Question \thequestion}\bfseries{?:~}}{\par\vspace{5pt}}
\usepackage{enumitem}
\newlist{qitemize}{enumerate}{2}
\setlist[qitemize]{label={\thequestion.\arabic*}}

\begin{document}

\begin{question}What is a cool animal?
    \begin{qitemize}
        \item first wombat
        \item second capybara
    \end{qitemize}
    \end{question}
\begin{question}What is a tasty fruit?
    \begin{qitemize}
        \item Banana
        \item Lemon
    \end{qitemize}
    \end{question}

\end{document}

roboticistNoLineToEnd

我个人认为整个问题很大胆,因为极其丑陋的。

相关内容