将 tikz 链扩展到多个页面

将 tikz 链扩展到多个页面

我想创建一个链条式流程图。我想要实现的是一条横跨多页且位于每一页之上的链条(见图):

在此处输入图片描述

对于示例图片,我手动创建了它(从 texample.net 复制代码,制作一个独立链,手动将其裁剪成两半,并使用 eso-pic 将其放在页面顶部)。有没有办法“自动”完成这样的事情?

进一步的问题:

如果没有无边框打印机,有人能给出一些处理这个问题的建议吗?我应该寻找其他解决方案吗?

答案1

这又是一个利用的好机会贡萨洛·梅迪纳的优秀background软件包。到目前为止,它运行良好,除了一个意外错误:如果 TikZ 坐标大于 90cm,它会抛出! Dimension too largeI can't work with sizes bigger than about 19 feet。这很奇怪,因为19 feetx 12 inch per footx 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}

输出

在此处输入图片描述

相关内容