在逐项列出的行之间添加新行

在逐项列出的行之间添加新行

我在尝试用 LaTeX 格式化我的家庭作业时遇到了问题:

\documentclass[11pt]{article}

\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[dutch]{babel}
\usepackage{parskip}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}

....
\begin{enumerate}
\item Exercise 1.... 
\item Given $g:\mathbb{R}\to\mathbb{R}$, ....
\begin{enumerate}
\item Because .... it follows that ....
Given another $h:\mathbb{R}\to \mathbb{R}, \ x\longmapsto \sqrt{...}$
\item Because .... it follows that ....
\end{enumerate}
\end{enumerate}

\end{document}

现在,我希望第二个“Given”函数以与第一个函数相同的方式对齐。
如何实现这一点,同时仍让第二个项目标记为 (b)?

所以我想要得到如下信息:

1.) ....
2.) Given f...
     (a) .....
    Given g...
     (b) .....

我现在得到的是:

1.) ....
2.) Given f...
     (a) .....
         Given g...
     (b) .....

答案1

我建议您检查一下您的架构,看看这是否真的是您想要的;像这样打断列表通常表明这不是最好的设计选择。也许您可以找到另一种方式来呈现信息?

话虽如此,一个选项是使用resume来自enumitem

\documentclass[11pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[dutch]{babel}
\usepackage{parskip}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{enumitem}

\begin{document}

\begin{enumerate}
\item Exercise 1.... 
\item Given $g\colon\mathbb{R}\to\mathbb{R}$,
\begin{enumerate}
\item Because .... it follows that ....
\end{enumerate}
Given another $h\colon\mathbb{R}\to \mathbb{R}$,
\begin{enumerate}[resume]
\item Because .... it follows that ....
\end{enumerate}
\end{enumerate}

\end{document}

在此处输入图片描述

无需enumitem手动调整计数器:

\documentclass[11pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[dutch]{babel}
\usepackage{parskip}
\usepackage{amssymb}
\usepackage{amsmath}

\begin{document}

\begin{enumerate}
\item Exercise 1.... 
\item Given $g\colon\mathbb{R}\to\mathbb{R}$,
\begin{enumerate}
\item Because .... it follows that ....
\end{enumerate}
Given another $h\colon\mathbb{R}\to \mathbb{R}$,
\begin{enumerate}
\setcounter{enumii}{1}
\item Because .... it follows that ....
\end{enumerate}
\end{enumerate}

\end{document}

或者将其保存在第一个列表的末尾,然后使用该值将其放入第二个列表。

顺便说一下,为了将函数名称与其定义域、余域分开,应该使用\colon和 而不是:(水平间距有所不同);不需要\longmapsto;使用\mapsto

答案2

只需发出\par命令即可将所需语句向下移动一行。但随后,您将有两个距离需要删除;当前列表的\leftmargin和。因此,您自然可以添加以下内容:\listparindent

\par\hspace{\dimexpr-\leftmargin-\listparindent}

这样您的语句就可以与前一个语句具有相同的对齐方式。说实话,我同意@GonzaloMedina关于选择更好设计的想法。

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[dutch]{babel}
\usepackage{parskip,amssymb,amsmath}
\begin{document}    

\begin{enumerate}
\item Exercise 1 ...
\item Given $g:\mathbb{R}\to\mathbb{R}$, ...
\begin{enumerate}
\item Because ... it follows that ... \par\hspace{\dimexpr-\leftmargin-\listparindent}
Given another $h:\mathbb{R}\to \mathbb{R}, \ x\longmapsto \sqrt{...}$
\item Because ... it follows that ...
\end{enumerate}
\end{enumerate}

\end{document}

相关内容