Lista de descrição ajustando automaticamente o estilo em diferentes níveis

Lista de descrição ajustando automaticamente o estilo em diferentes níveis

É possível ter uma lista de descrição que altera o estilo do rótulo do item dependendo do nível da lista, ou seja, e o ambiente diz description*o que faria

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

Parece

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

insira a descrição da imagem aqui

ou

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

insira a descrição da imagem aqui

Responder1

Aqui estão duas soluções com o enumitempacote, uma baseada no descriptionambiente, a outra, baseada em enumerate, se o texto da descrição for sempre o mesmo em um determinado nível. Defino para isso um descrenumambiente que adiciona texto para enumerar e o formata:

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

insira a descrição da imagem aqui

Responder2

A lista automatizada como um clone enumerate(já que não queria alterar o comportamento dela enumeratemesma.

Use \newlist{pointdescription}{enumerate}{2}para fornecer um clone das enumeratelistas, com um nível de aninhamento dois.

Isso irá gerar os contadores pointdescriptionie pointdescriptioniirespectivamente.

Depois defina um estilo 'arbitrário' para esta nova lista:

\setlist[pointdescription]{label={\textbf{Point \arabic*:}}para o primeiro nível, veja o exemplo do segundo.

Este estilo de lista pode ser alterado a qualquer momento posteriormente.

Observação: O estilo de referência também deve ser alterado, pois de outra forma isso poderia parecer estranho. Refiro-me ao enumitemmanual.

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

insira a descrição da imagem aqui

informação relacionada