Лес - горизонтальная структура каталогов

Лес - горизонтальная структура каталогов

Кто-нибудь знает, как превратить эту вертикальную структуру каталогов в горизонтальную? Я уже пробовал разные решения, но ни одно из них не сработало так, как ожидалось.

\documentclass[12pt,a4paper,oneside, ngerman, tikz,multi,dvipsnames,svgnames,x11names]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[textwidth=18cm]{geometry}
\usepackage{import}
\usepackage[edges]{forest}   

\begin{document} 
    \begin{center}
      \begin{forest}
        my label/.style={
           label={[font=\sffamily]right:{#1}},
         },
        for tree={% addaswyd o gôd Gonzalo Medina: https://tex.stackexchange.com/a/270761/
          folder,
          font=\sffamily,
          text=white,
          minimum height=0.75cm,
          text width=20mm,
          if level=0{fill=ForestGreen}{fill/.wrap pgfmath 
          arg={SlateBlue#1}{int(4-(mod((level()-1),4)))}},
          rounded corners=4pt,
          grow'=0,
          edge={ForestGreen,rounded corners,line width=1pt},
          fit=band,
          },
          [app
            [api
              [v1]
              ]
            [core]
            [crud]
            [database]
            [models
                 [router
                    [$<$vendors$>$
                         [$<$models$>$]
                    ]
                ]
                [switch
                    [$<$vendors$>$
                        [$<$models$>$]
                    ]
                ]
            ]
            [schemas]
          ]
        \end{forest}
    \end{center}
\end{document}

решение1

Я не уверен, что это то, что вам нужно, но поскольку опция folderимеет естественное направление вниз, вам нужно изменить grow'=0на grow=270. Затем, чтобы повернуть узлы, добавьте rotate=-90к вашему for tree.

введите описание изображения здесь

    for tree={% addaswyd o gôd Gonzalo Medina: https://tex.stackexchange.com/a/270761/
      folder,
      font=\sffamily,
      text=white,
      minimum height=0.75cm,
      text width=20mm,
      if level=0{fill=ForestGreen}{fill/.wrap pgfmath 
      arg={SlateBlue#1}{int(4-(mod((level()-1),4)))}},
      rounded corners=4pt,
      grow=270,
      rotate=-90,
      edge={ForestGreen,rounded corners,line width=1pt},
      fit=band,
      }

Связанный контент