我想创建一个链条式流程图。我想要实现的是一条横跨多页且位于每一页之上的链条(见图):
对于示例图片,我手动创建了它(从 texample.net 复制代码,制作一个独立链,手动将其裁剪成两半,并使用 eso-pic 将其放在页面顶部)。有没有办法“自动”完成这样的事情?
进一步的问题:
如果没有无边框打印机,有人能给出一些处理这个问题的建议吗?我应该寻找其他解决方案吗?
答案1
这又是一个利用的好机会贡萨洛·梅迪纳的优秀background
软件包。到目前为止,它运行良好,除了一个意外错误:如果 TikZ 坐标大于 90cm,它会抛出! Dimension too large
和I can't work with sizes bigger than about 19 feet
。这很奇怪,因为19 feet
x 12 inch per foot
x 2.54 cm per inch
= 579cm
。因此,就目前而言,链的宽度限制为 A4 纸的 4 页(第五页为 6cm),而它应该我认为最多 27 个。无论如何,以下是我目前所得到的,你需要遵守三次才能正确:
代码
\documentclass[parskip]{scrartcl}
\usepackage[left=15mm,right=15mm,bottom=25mm,top=50mm]{geometry}
\usepackage[scale=1,angle=0,opacity=1,color=black]{background}
\usetikzlibrary{calc}
\usepackage{xifthen}
\usepackage{lipsum}
\pgfmathsetmacro{\topheightreservedforpicture}{4}
\backgroundsetup%
{ contents={
\multipagetikz{1}{4}{\tpone}
\multipagetikz{6}{5}{\tptwo}
}
}
\newcommand{\multipagetikz}[3]% start page, num pages, picture code
{ \pgfmathtruncatemacro{\currentpage}{\value{page}}
\pgfmathtruncatemacro{\maxpage}{#1+#2}
\pgfmathtruncatemacro{\minpage}{#1-1}
\pgfmathsetmacro{\paperwidthcm}{\paperwidth/28.453}
\pgfmathsetmacro{\additionalxshift}{-(\value{page}-#1)*\paperwidthcm}
\ifthenelse{\currentpage < \maxpage \AND \currentpage > \minpage}
{ \begin{tikzpicture}[overlay,remember picture,rounded corners=5mm,shift={($(current page.north west)+(0,-\topheightreservedforpicture)+(\additionalxshift,0)$)}]
#3
\end{tikzpicture}
}{}
}
\newcommand{\tpone}
{ \fill[left color=red,right color=blue!50!cyan] (0,0) -- (60,0) to[out=0,in=270,looseness=0.2] (84,3) -- cycle;
}
\newcommand{\tptwo}
{ \fill[top color=orange,bottom color=violet] (0,1) -- (55,0) to[out=0,in=270,looseness=0.2] (90,3) -- (10,3.5) -- cycle;
}
\begin{document}
\lipsum[1-60]
\end{document}