如何在简历枚举列表之前将段落与标签对齐

如何在简历枚举列表之前将段落与标签对齐

我创建了一个枚举列表,enumitem我先中断然后恢复。在中断前的最后一项和恢复后的第一项之间,我插入了一个文本段落。我如何水平对齐该段落以便:

  1. 该段的第一行与左边项目标签的末尾(如此处末尾显示的输出所示);而是
  2. 整个段落的左边缘与左边标签的末端。

以下是我尝试过的:

\documentclass[12pt]{article}
\usepackage{calc}
\usepackage{enumitem}

\newlist{myenum}{enumerate}{1}
\setlist[myenum,1]{label= \upshape(\arabic*), ref={\arabic*}}

\begin{document}

\noindent Here is a list.

\begin{myenum}
  \item
    One
  \item
    Two
\end{myenum}

\hspace{\the\labelindent}%
Some other text will go here that may or may not fill out more than a single line of text on the page.

\begin{myenum}[resume*]
  \item 
    Three
  \item
    Four
\end{myenum}

\end{document}

中间段落所需的对齐方式。

我相信我想要一些长度的算术组合,例如......

\hspace{\the\labelwidth-\the\labelsep}

...我希望使用包中的某些命令calc来执行此操作,但是:(a)我不知道如何组合这些长度;(b)我不知道需要组合哪些长度。

答案1

这似乎可以完成工作:

\documentclass[12pt]{article}
\usepackage{calc}
\usepackage{enumitem}

\newlist{myenum}{enumerate}{1}
\setlist[myenum,1]{label= \upshape(\arabic*), ref={\arabic*}}

\newdimen\midlistindent
\settowidth{\midlistindent}{(1)\kern-\labelindent\kern-\labelsep}
\newcommand{\midlist}[1]{%
  \begingroup
  \leftskip\midlistindent
  \noindent #1\unskip\par
  \endgroup}

\begin{document}

\noindent Here is a list.

\begin{myenum}
  \item
    One
  \item
    Two
\end{myenum}

\midlist{%
Some other text will go here that may or may not fill out more than a single line of text on the page.
}

\begin{myenum}[resume*]
  \item 
    Three
  \item
    Four
\end{myenum}

\end{document}

示例代码的输出

答案2

你的想法是对的!但是,与其使用环境calcenumitem不如自己处理。作为参考,这是enumitem包文档中的尺寸图:

在此处输入图片描述

看起来您希望将左边距设置为零,并且标签宽度等于项目缩进。

这是通过对环境进行以下调整来实现的enumerate

\begin{enumerate}[
    align=left, 
    leftmargin=0pt, 
    itemindent=\labelwidth, 
    labelsep=0pt
]
\end{enumerate}

您的文档中看起来是这样的。这就是您想要的吗?

在此处输入图片描述

梅威瑟:

\documentclass[12pt]{article}
\usepackage{enumitem}

\newlist{myenum}{enumerate}{1}
\setlist[myenum,1]{label= \upshape(\arabic*), ref={\arabic*},
    align=left, 
    leftmargin=0pt, 
    itemindent=\labelwidth, 
    labelsep=0pt}

\begin{document}

    \noindent Here is a list.
    
    \begin{myenum}
      \item One
      \item Two
    \end{myenum}
    
    \noindent Some other text will go here that may or may not fill out more than a single line of text on the page.
    
    \begin{myenum}[resume*]
      \item Three
      \item Four
    \end{myenum}

\end{document}

相关内容