使 itemize 看起来像 dirtree

使 itemize 看起来像 dirtree

我有以下详细清单:

在此处输入图片描述

但我希望生成的缩进如下:

在此处输入图片描述

我已经尝试过此链接如下

\dirtree{%
.1 Gas ideal (partículas idénticas que no interactúan, i.e. la energía no tiene términos cruzados).
.2 Fermiones.
.3 Límite de gas no degenerado. Corresponde a temperaturas muy altas y densidades muy bajas, el resultado es el gas ideal clásico.
.3 Límite de gas degenerado. Es lo opuesto, temperaturas bajas y densidades altas. Aparece Pauli con su principio de exclusión. 
.4 Enanas blancas. 
.2 Bosones.
.3 Límite de gas no degenerado. Corresponde a temperaturas muy altas y densidades muy bajas, el resultado es el gas ideal clásico.
.4 Gas de fotones.
.4 Gas de fonones.
.3 Límite de gas degenerado. Básicamente es un condensado de Bose-Einstein. 
.4 Superfluidos.
.4 Superconductores.
.1 Otros temas que no sean gas ideal. No vimos nada, creo.
}

没有成功。我收到一条错误消息,指出

\next 的使用与其定义不符。

答案1

正如您自己所注意到的,dirtree这并不是真正适合此目的的工具。一种可能性是使用 TikZ 的forest,正如 Alan 在他的评论。如果您更喜欢 LaTeX 列表的输入结构,您可以结合enumitem和 TikZ 来获得如下内容:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage{tikz}

\makeatletter
    \newlist{treelist}{itemize}{5}
    \setlist[treelist]{label=\treelist@label}

    \tikzset{treelist line/.style={thick, line cap=round, rounded corners}}
    \def\treelist@label{%
        \begin{tikzpicture}[remember picture, baseline={([yshift=-.6ex] treelist-bullet-\the\[email protected])}]
            \draw [treelist line] (0, 0) -- node (treelist-bullet-\the\enit@depth) {} ++(.5em, 0);
        \end{tikzpicture}%
        \ifnum\enit@depth>1
            \tikz[remember picture, overlay] \draw [treelist line] (treelist-bullet-\the\numexpr\enit@depth-1\relax.center) |- (treelist-bullet-\the\[email protected]);%
        \fi
    }
\makeatother

\begin{document}

\begin{treelist}
    \item
    Gas ideal (partículas idénticas que no interactúan, i.e.~la energía no tiene términos cruzados).
    \begin{treelist}
        \item
        Fermiones.
        \begin{treelist}
            \item
            Límite de gas no degenerado.
            Corresponde a temperaturas muy altas y densidades muy bajas, el resultado es el gas ideal clásico.

            \item
            Límite de gas degenerado.
            Es lo opuesto, temperaturas bajas y densidades altas.
            Aparece Pauli con su principio de exclusión. 
            \begin{treelist}
            \item
            Enanas blancas. 

            \end{treelist}

        \end{treelist}

        \item
        Bosones.
        \begin{treelist}
            \item
            Límite de gas no degenerado.
            Corresponde a temperaturas muy altas y densidades muy bajas, el resultado es el gas ideal clásico.
            \begin{treelist}
                \item
                Gas de fotones.

                \item
                Gas de fonones.

            \end{treelist}

            \item
            Límite de gas degenerado.
            Básicamente es un condensado de Bose-Einstein.
            \begin{treelist}
                \item
                Superfluidos.

                \item
                Superconductores.

            \end{treelist}

        \end{treelist}

    \end{treelist}

    \item
    Otros temas que no sean gas ideal. No vimos nada, creo.

\end{treelist}

\end{document}

上述代码的输出

5\newlist{treelist}{itemize}{5}设置了最大列表深度。如果您需要超过五级,只需增加此数字。如果您想进一步自定义这些列表的外观,您应该查看enumitem蒂克兹

答案2

  • 您忘记了%后面的内容\dirtree{(正如您提供的链接中所指出的)。
  • 由于列表项中有些点,因此您需要隐藏它们,如下所示
    .3 {极限气体衰减。基本是 Bose-Einstein 的浓缩版。
    请注意,最后一个点不会显示在输出中,因为它标记了项目的结束。
  • 您可能想要定义\renewcommand*\DTstyle{}以便列表不使用来排版\ttfamily

  • 另外,你应该i.e. lai.e.~la或其他可能的方式替换,告诉 TeX 这里没有句子的结尾。参见这个问题, 例如。

答案3

您忘记在 '\dirtree{' 后面立即添加 '%'。您提供的链接中有该 '%',并带有注释“此 % 是必需的”

相关内容