Beschreibungsliste, die den Stil auf verschiedenen Ebenen automatisch anpasst

Beschreibungsliste, die den Stil auf verschiedenen Ebenen automatisch anpasst

Ist es möglich, eine Beschreibungsliste zu haben, die den Stil der Artikelbezeichnung je nach Ebene der Liste ändert, d. h. und Umgebung, description*was bedeuten würde

\documentclass{article}

\begin{document}

\begin{description*}
    \item[Point 1:] bla bla
    \begin{description*}
        \item[Subpoint 1.1 :] bla bla
        \item[Subpoint 1.2 :] bla bla
    \end{description*}
    \item[Point 2:] bla bla
    \begin{description*}
        \item[Subpoint 2.1 :] bla bla
        \item[Subpoint 2.2 :] bla bla
    \end{description*}
\end{description*}

\end{document}

Aussehen

\documentclass{article}

\begin{document}

    \begin{description}
\item[Point 1:] bla bla
\begin{description}
    \item[\emph{Subpoint 1.1 :}] bla bla
    \item[\emph{Subpoint 1.2 :}] bla bla
\end{description}
\item[Point 2:] bla bla
\begin{description}
    \item[\emph{Subpoint 2.1 :}] bla bla
    \item[\emph{Subpoint 2.2 :}] bla bla
\end{description}
    \end{description}

\end{document}

Bildbeschreibung hier eingeben

oder

\documentclass{article}

\begin{document}

\begin{description}
    \item[Point 1:] bla bla
    \begin{description}
        \item[\normalfont{Subpoint 1.1 :}] bla bla
        \item[\normalfont{Subpoint 1.2 :}] bla bla
    \end{description}
    \item[Point 2:] bla bla
    \begin{description}
        \item[\normalfont{Subpoint 2.1 :}] bla bla
        \item[\normalfont{Subpoint 2.2 :}] bla bla
    \end{description}
\end{description}

\end{document}

Bildbeschreibung hier eingeben

Antwort1

Hier sind zwei Lösungen mit dem enumitemPaket, eine basierend auf der descriptionUmgebung, die andere basierend darauf enumerate, ob der Beschreibungstext auf einer bestimmten Ebene immer derselbe ist. Ich definiere dafür eine descrenumUmgebung, die Text zur Aufzählung hinzufügt und formatiert:

\documentclass{article}
\usepackage[x11names]{xcolor} 
\usepackage{enumitem}
\setlist[description, 2]{font= \mdseries\itshape}
\setlist[description, 3]{, font =\color{red}\mdseries\scshape, align = left}
\newlist{descrenum}{enumerate}{2}
\setlist[descrenum, 1]{label = Point \arabic*:, font = \bfseries, align = left,}
\setlist[descrenum, 2]{label = Subpoint \arabic{descrenumi}.\arabic*:, font = \scshape, align = left}

\begin{document}

\begin{description}
  \item[Point 1:] bla bla Test test test test test test test test test test test test test test test test test test test test test test test test test
  \begin{description}
    \item[Subpoint 1.1 :] bla bla Test test test test test test test test test test test test test test test test test test test test test test test test test
    \item[Subpoint 1.2 :] bla bla
  \end{description}
  \item[Point 2:] bla bla
  \begin{description}
    \item[Subpoint 2.1 :] bla bla
    \begin{description}
         \item[Subsubpoint 2.1 a:] bla bla
         \item[Subsubpoint 2.1 b:] bla bla
     \end{description}
    \item[Subpoint 2.2 :] bla bla
  \end{description}
\end{description}
\vskip1cm
\begin{descrenum}%
  \item bla bla Test test test test test test test test test test test test test test test test test test test test test test test test test
  \begin{descrenum}%
    \item bla bla Test test test test test test test test test test test test test test test test test test test test test test test test test
    \item bla bla
  \end{descrenum}
  \item bla bla
  \begin{descrenum}
    \item bla bla
    \item bla bla
  \end{descrenum}
\end{descrenum}

\end{document} 

Bildbeschreibung hier eingeben

Antwort2

Die automatisierte Liste als Klon von enumerate(da ich das Verhalten von selbst nicht ändern wollte enumerate.

Wird verwendet \newlist{pointdescription}{enumerate}{2}, um einen Klon der enumerateListen mit einer Verschachtelungsebene von zwei bereitzustellen.

Dadurch werden die Zähler pointdescriptionibzw. generiert pointdescriptionii.

Legen Sie anschließend einen „beliebigen“ Stil für diese neue Liste fest:

\setlist[pointdescription]{label={\textbf{Point \arabic*:}}für die erste Ebene siehe das Beispiel für die zweite.

Dieser Listenstil kann später jederzeit geändert werden.

Notiz: Auch der Referenzstil muss geändert werden, da dies sonst unschön aussehen könnte. Ich verweise auf das enumitemHandbuch.

\documentclass{article}

\usepackage{enumitem}
\begin{document}

\newlist{pointdescription}{enumerate}{2}

\setlist[pointdescription,1]{label={\textbf{Point \arabic*:}}}
\setlist[pointdescription,2]{itemindent=\leftmarginii,label={\emph{Subpoint \arabic{pointdescriptioni}.\arabic*:}}}

\begin{pointdescription}
\item bla bla
  \begin{pointdescription}
    \item bla bla
    \item bla bla
    \end{pointdescription}
\item bla bla
  \begin{pointdescription}
    \item bla bla
    \item bla bla
    \end{pointdescription}
\end{pointdescription}

\setlist[pointdescription,1]{label={\texttt{Point \arabic*:}}}
\setlist[pointdescription,2]{itemindent=\leftmarginii,label={\textsc{Subpoint \arabic{pointdescriptioni}.\arabic*:}}}


\begin{pointdescription}
\item bla bla
  \begin{pointdescription}
    \item bla bla
    \item bla bla
    \end{pointdescription}
\item bla bla
  \begin{pointdescription}
    \item bla bla
    \item bla bla
    \end{pointdescription}
\end{pointdescription}


\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen