创建一系列相连的、填充列表的框(流程图?)

创建一系列相连的、填充列表的框(流程图?)

我想创建一系列水平链接的“文本框”,每个框之间都有箭头。每个框将包含一些文本(可能是带有标题的列表)。我希望它看起来像这样: 在此处输入图片描述

实现这一目标的最佳方案/方法是什么?

理想情况下,三个框的整体宽度将自动调整大小以填充它们所在列的整个宽度,但这只是一个次要要求。

(我意识到这实际上是一个流程图——然而,我遇到的所有流程图包似乎都更适合自由形式、蜘蛛状的流程图,而且对于这个目的来说似乎有些过度了。如果它们合适,请随意推荐它们。)

答案1

一个快速而肮脏的解决方案(无需任何额外的包):

\fbox{\parbox[t]{6em}{Title \#1\\Item\\Item\\Item\\Item}}%
\raisebox{-4ex}{$\to$}%
\fbox{\parbox[t]{6em}{Title \#2\\Item\\Item\\Item\\Item\\Item}}%
\raisebox{-4ex}{$\to$}%
\fbox{\parbox[t]{6em}{Title \#3\\Item\\Item\\Item}}

并且您可以定义一些命令以方便使用。

\newcommand\mybox[2][6em]{%
  \raisebox{4ex}{\fbox{\parbox[t]{#1}{#2}}}}
\newcommand\Rarrow{$\rightarrow$}

\mybox{Title \#1\\Item\\Item\\Item\\Item}%
\Rarrow
\mybox{Title \#2\\Item\\Item\\Item\\Item\\Item}%
\Rarrow
\mybox{Title \#3\\Item\\Item\\Item}

如果所要求的图表非常简单,这就足够了。但是,对于更复杂的图表(在任意位置,带有曲线、阴影框等),最好使用更强大的工具,例如tikzpstricks

答案2

也许 tikz 框图可以帮助您?

http://www.texample.net/tikz/examples/tag/block-diagrams/

答案3

这并不完全符合示例输出,但我想尝试一下,因为给定的图片看起来就像一堆堆叠在一起的盒子:

\def\repeating#1{\vcenter{\offinterlineskip
  \halign{\vrule\strut\enspace##\hfil\quad\vrule\cr
    \noalign{\hrule}#1\noalign{\hrule}}}}
\def\title#1{\vphantom{$\Big($}\bf#1}
$ \repeating{\title{Title \#1}\cr Item\cr Item\cr Item\cr Item\cr}
\mathord{\longrightarrow}
  \repeating{\title{Title \#2}\cr Item\cr Item\cr Item\cr Item\cr Item\cr Item\cr}
\mathord{\longrightarrow}
  \repeating{\title{Title \#3}\cr Item\cr Item\cr Item\cr} $
\bye

在此处输入图片描述

我仍在想是否可以以某种方式将\halign's改为\vcentera \vtop,并将\longrightarrows 改为 a 里面的\vcenter,但我还没能让它发挥作用。

相关内容