如何制作像这样没有缩进和左边距的枚举列表?

如何制作像这样没有缩进和左边距的枚举列表?

如果有人能列出这样的清单我将非常感谢:

问题 1.文本文本文本文本....文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。

问题2。文本文本文本文本....文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。

问题 3。

a) 文本文本文本文本....................文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。

b) 文本文本文本文本....................文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。

以下是代码:

\documentclass[12pt,a4paper]{article}
\usepackage{blindtext}
\begin{document}
\noindent I want to make a enumerate list like this:\\
\textbf{Problem 1.} \blindtext. \\
\textbf{Problem 2.}  \blindtext. \\
\textbf{Problem 3.} \\
a) \blindtext.\\
b) \blindtext.\\
\end{document}

答案1

以下是使用 的方法enumitem:我定义一个\problems(1+2 级)列表环境和一个questions环境,它在语义上用作(但从技术上讲,没有什么可以阻止您在第一级使用它)。同样,我定义了和的problems, level 2两个克隆\item\pb\qu

\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[showframe]{geometry}
\usepackage{blindtext}

\usepackage{enumitem}
\newlist{problems}{enumerate}{2}
\setlist[problems, 1]{label=Problem~\arabic*. , font=\bfseries,  wide=0pt}%
\setlist[problems, 2]{label=\emph{alph*}),  wide=0pt, before=\leavevmode, topsep=0pt}%
\newenvironment{questions}{\problems}{\endproblems}
\let\pb\item
\let\qu\item

\begin{document}

Text text text text text text text text text text text text text text text text text text text text text text text text text text text text.
\begin{problems}
  \pb \blindtext
  \pb \blindtext
  \item
  \begin{questions}
    \qu \blindtext
    \qu \blindtext
  \end{questions}
\end{problems}

\end{document}

在此处输入图片描述

答案2

如前所述,您可以使用该enumitem包。

使用该enumitem包,您可以为 \begin{enumerate} 宏指定选项。在较新版本中,您可以指定一个wide选项。在旧版本中,您必须指定多个选项才能减少边距。您可以使用选项指定标签label。以下是根据您的问题给出的示例:

\documentclass[12pt,a4paper]{article}
\usepackage{blindtext}
\usepackage{enumitem}    
\begin{document}    

\begin{enumerate}[
    label={\bf Problem \arabic*.}
    align=left, leftmargin=0pt, 
          labelindent=0pt,listparindent=0pt, labelwidth=8em, itemindent=!]

    \item \blindtext. 
    \item \blindtext. 

\end{enumerate}

\end{document}

问题中的第三项可能会引发另外两个问题:(1)如何创建一个空项目以及(2)如何在没有额外空间的情况下引入内部列表。

首先,如果你需要一个有空白行的项目,尝试只包含\\会导致错误。根据 LaTeX,没有行可以结束。你可以使用~\\来包含一个空格,然后添加一个新行。

其次,当您引入内部列表时,LaTeX 可能会在项目之间引入额外的空间。您可以使用\vspace{}负值来减少空间。\vspace{-\topsep}将空间减少顶部分隔的长度。\vspace{-2\topsep}减少两倍。

\documentclass[12pt,a4paper]{article}
\usepackage{blindtext}
\usepackage{enumitem}

\begin{document}

\noindent I want to make a enumerate list like this:\\

\begin{enumerate}[
    label={\bf Problem \arabic*.},
    align=left, leftmargin=0pt, labelindent=0pt,listparindent=0pt, labelwidth=6em, itemindent=!]

    \item \blindtext 
    \item \blindtext 

    % a blank item
    \item ~\\

    % an inner list        
    \vspace{-2\topsep}
    \begin{enumerate}[
        label=\alph*),
        align=left, leftmargin=0pt, labelindent=0pt,listparindent=0pt, labelwidth=0pt, itemindent=!]

        \item \blindtext
        \item \blindtext            
    \end{enumerate}

\end{enumerate}    
\end{document}

相关内容