如何渲染嵌套列表,僅將最深的層級保留在前面?

如何渲染嵌套列表,僅將最深的層級保留在前面?

我想要一個嵌套列表,這樣它就會變成:

在此輸入影像描述

原圖是使用渲染的WaveJSON看起來像這樣:

{signal: [
  {    name: 'clk'},
  ['Master',
    ['ctrl',
      {name: 'write'},
      {name: 'read'}
    ],
    {  name: 'addr'},
    {  name: 'wdata'},
  ],
  {},
  ['Slave',
    ['ctrl',
      {name: 'ack'},
    ],
    {  name: 'rdata'},
  ]
]}

答案1

這樣的事情用林著就可以輕鬆實現where n children=0{tier=murmel}{rotate=90}

\documentclass{article}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={grow'=0,font=\sffamily,
    where n children=0{tier=murmel}{rotate=90}}
[,phantom
 [clk]
 [Master
  [ctrl
   [write]
   [read]
  ]
  [addr]
  [wdata]
 ]
 [Slave
  [ctrl
  [ack]
  ]
 [rdata]
 ]
]
\end{forest}
\end{document}

在此輸入影像描述

相關內容