如何在 LaTex 中的 \begin{forest}...\end{forest} 中添加标题

如何在 LaTex 中的 \begin{forest}...\end{forest} 中添加标题

我在 LaTeX 中提供了下面的代码,我想添加标题, \begin{forest}请建议如何执行相同操作。

\documentclass[review]{elsarticle}
\usepackage[edges]{forest}

\begin{document}
\begin{figure}
    \begin{forest}
        for tree={
            align=center,
            parent anchor=south,
            child anchor=north,
            font=\sffamily,
            edge={thick, -{Stealth[]}},
            l sep+=10pt,
            edge path={
                \noexpand\path [draw, \forestoption{edge}] (!u.parent anchor) -- +(0,-5pt) -| (.child anchor)\forestoption{edge label};
            },
            if level=0{
                inner xsep=0pt,
                tikz={\draw [thick] (.south east) -- (.south west);}
            }{}
        }
        % Some test here

    \end{forest}
\caption{Tree}
\end{figure}
\end{document}

此代码出现如下错误:

Extra }, or forgotten \endgroup. \end{forest}

答案1

这是您的示例的工作版本,已针对当前 Forest 进行了更新,并且(可能是伪造的) 分号。

特别注意删除空白行。不能在 中包含一个空白行forest。无论你是否需要标题都没有关系。空白行总是会给你一个错误。

\documentclass[border=10pt]{standalone}
\usepackage[edges]{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{forest}
  forked edges,
  for tree={
    align=center,
    font=\sffamily,
    edge={thick, -{Stealth[]}},
    l sep+=10pt,
    if level=0{
      inner xsep=0pt,
      tikz={\draw [thick] (.south east) -- (.south west);}
    }{}
  }
  [Sensor Based \\ Methods
    [4W1H \\ \cite{178}]
    [Wearable sensor \\ \cite{179}]
    [Depth sensor \\ \cite{190}]
    [Smartphone  \\ sensor \\ \cite{191}]
    [Time of Flight sensor \\ \cite{192}]
    [Inertial sensor \\ \cite{156}]
  ]
\end{forest}  
\end{document}

如果您想要标题,请切换到article并将树放入 中figure

\documentclass{article}
\usepackage[edges]{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{figure} 
  \centering   
  \begin{forest}
  ...
  \end{forest}
  \caption{Tree}\label{fig:tree}
\end{figure}
\end{document}

请阅读众多优秀的 LaTeX 介绍之一,以便您了解基础知识。

相关内容