So richten Sie einen Absatz mit Beschriftungen aus, bevor Sie die Enumitem-Liste fortsetzen

So richten Sie einen Absatz mit Beschriftungen aus, bevor Sie die Enumitem-Liste fortsetzen

Ich habe eine Aufzählungsliste erstellt, mit enumitemder ich unterbreche und dann fortfahre. Zwischen dem letzten Element vor der Unterbrechung und dem ersten nach der Fortsetzung füge ich einen Textabsatz ein. Wie kann ich diesen Absatz horizontal ausrichten, sodass:

  1. Die erste Zeile dieses Absatzes ist horizontal ausgerichtet mit demlinksEnden der Artikelbeschriftungen (wie in der Ausgabe am Ende hier angegeben); und stattdessen
  2. Der gesamte linke Rand des Absatzes ist ausgerichtet an derlinksEnden der Artikeletiketten.

Folgendes habe ich versucht:

\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}

Gewünschte Ausrichtung des Zwischenabsatzes.

Ich glaube, ich möchte eine arithmetische Kombination von Längen, wie in ...

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

... und ich würde erwarten, calchierzu einen Befehl aus dem Paket verwenden zu können, aber: (a) ich weiß nicht, wie man solche Längen kombiniert; und (b) ich weiß nicht genau, welche Längen ich kombinieren muss.

Antwort1

das hier scheint zu funktionieren:

\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}

Ausgabe des Beispielcodes

Antwort2

Sie haben die richtige Idee! Anstatt jedoch die calcUmgebung zu verwenden, enumitemkönnen Sie es auch selbst handhaben. Als Referenz finden Sie hier die Dimensionsangaben in der enumitemPaketdokumentation:

Bildbeschreibung hier eingeben

Offenbar möchten Sie den linken Rand auf Null setzen und die Etikettenbreite auf den Einzug des Artikels festlegen.

Dies wird durch folgende Anpassungen der enumerateUmgebung erreicht:

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

In Ihrem Dokument sieht das so aus. Ist es das, wonach Sie gesucht haben?

Bildbeschreibung hier eingeben

MWE:

\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}

verwandte Informationen