适合横向模式的 8.5 英寸 x 11 英寸文档的福雷斯特层次结构图

适合横向模式的 8.5 英寸 x 11 英寸文档的福雷斯特层次结构图

有没有办法使用图中层次结构图并将其加载到 latex 中,使其适合 8.5 英寸 x 11 英寸文档的横向布局,而不会影响页眉和页脚/页码?对 latex 来说还是有点陌生​​。我正在编写一个需要编码框架的文档,结果发现我的是分层的。但它只是 8.5 英寸 x 11 英寸纸张的一部分,上面的层次图被剪掉了。有什么想法吗?在此处输入图片描述

答案1

一种方法是,但是您必须根据您的类别、页眉、页脚和页面布局进行调整。

修改了树的代码。另存为forest-hierarchical3.tex

\documentclass[border=5pt,tikz]{standalone}

\usepackage{forest}
\usetikzlibrary{arrows.meta, shapes.geometric, calc, shadows}

\begin{document}
\colorlet{mygreen}{green!75!black}
\colorlet{col1in}{red!30}
\colorlet{col1out}{red!40}
\colorlet{col2in}{mygreen!40}
\colorlet{col2out}{mygreen!50}
\colorlet{col3in}{blue!30}
\colorlet{col3out}{blue!40}
\colorlet{col4in}{mygreen!20}
\colorlet{col4out}{mygreen!30}
\colorlet{col5in}{blue!10}
\colorlet{col5out}{blue!20}
\colorlet{col6in}{blue!20}
\colorlet{col6out}{blue!30}
\colorlet{col7out}{orange}
\colorlet{col7in}{orange!50}
\colorlet{col8out}{orange!40}
\colorlet{col8in}{orange!20}
\colorlet{linecol}{blue!60}
\pgfkeys{/forest,
  rect/.append style={rectangle, rounded corners=2pt, inner color=col6in, outer color=col6out},
  ellip/.append style={ellipse, inner color=col5in, outer color=col5out},
  orect/.append style={rect, font=\sffamily\bfseries\LARGE, text width=325pt, text centered, minimum height=10pt, outer color=col7out, inner color=col7in},
  oellip/.append style={ellip, inner color=col8in, outer color=col8out, font=\sffamily\bfseries\large, text centered},
}
\begin{forest}
  for tree={
      font=\sffamily\bfseries,
      line width=1pt,
      draw=linecol,
      ellip,
      align=center,
      child anchor=north,
      parent anchor=south,
      drop shadow,
      l sep+=12.5pt,
      edge path={
        \noexpand\path[color=linecol, rounded corners=5pt, >={Stealth[length=10pt]}, line width=1pt, ->, \forestoption{edge}]
          (!u.parent anchor) -- +(0,-5pt) -|
          (.child anchor)\forestoption{edge label};
        },
      where level={3}{tier=tier3}{},
      where level={0}{l sep-=15pt}{},
      where level={1}{
        if n={1}{
          edge path={
            \noexpand\path[color=linecol, rounded corners=5pt, >={Stealth[length=10pt]}, line width=1pt, ->, \forestoption{edge}]
              (!u.west) -| (.child anchor)\forestoption{edge label};
            },
        }{
          edge path={
            \noexpand\path[color=linecol, rounded corners=5pt, >={Stealth[length=10pt]}, line width=1pt, ->, \forestoption{edge}]
              (!u.east) -| (.child anchor)\forestoption{edge label};
            },
        }
      }{},
  }
  [Compressed\\Sensing\\Theory, inner color=col1in, outer color=col1out
    [Projection Matrix\\Theory, inner color=col2in, outer color=col2out
      [Optimise\\Projection\\Matrix, inner color=col4in, outer color=col4out]
      [Reduce\\Number of\\Measurements, inner color=col4in, outer color=col4out]
    ]
    [Reconstruction\\Algorithms, inner color=col3in, outer color=col3out
      [Convex\\Relaxation
        [Sparse Signal\\Estimate, rect, name=sse1
        ]
      ]
      [Greedy\\Pursuits
        [Sparse Signal\\Estimate, rect, name=sse2
        ]
      ]
      [, phantom, calign with current
        [A\\B, phantom
          [Our Work, orect, name=us
            [{Improved Sparse Signal Estimate!}, oellip
            ]
          ]
        ]
      ]
      [Non-Convex\\Minimisation\\Methods
        [Sparse Signal\\Estimate, rect, name=sse3
        ]
      ]
      [Combinatorial\\Algorithms
        [Sparse Signal\\Estimate, rect, name=sse4
        ]
      ]
    ]
  ]
  \begin{scope}[color=linecol, rounded corners=5pt, >={Stealth[length=10pt]}, line width=1pt, ->]
    \draw (sse2.south) -- (us.north -| sse2.south);
    \draw (sse3.south) -- (us.north -| sse3.south);
    \coordinate (c1) at ($(sse1.south)!2/5!(sse2.south)$);
    \coordinate (c2) at ($(sse3.south)!2/5!(sse4.south)$);
    \draw (sse1.south) -- +(0,-10pt) -| (us.north -| c1);
    \draw (sse4.south) -- +(0,-10pt) -| (us.north -| c2);
  \end{scope}
\end{forest}
\end{document}

然后你可以使用如下方法:

\documentclass[letterpaper]{article}
\usepackage[x11names,rgb]{xcolor}
\usepackage[vscale=.75]{geometry}
\usepackage{standalone}
\usepackage{rotating}
\usepackage{forest}
\usetikzlibrary{arrows.meta, shapes.geometric, calc, shadows}
\usepackage{fancyhdr}
\fancyhf[lh,ch,rh,lf,rf,cf]{Header/Footer}
\pagestyle{fancy}

\begin{document}
  \begin{sidewaysfigure}
    \centering
    \input{forest-hierarchical3}
  \end{sidewaysfigure}
\end{document}

创建以下内容:

风景如画的森林

相关内容