tikz 图片的大小,如 \textwidth 或 \pagewidth

tikz 图片的大小,如 \textwidth 或 \pagewidth

我想用 tikz 制作图片,然后用一些东西填充背景。

为了正确执行此操作,我想获取图片的大小(高度和宽度)。有没有命令可以给我图片的整个大小,类似这样的命令\textwidth

我正在使用 genealogytree 包制作家谱树,所以这里有类似 MWE 的东西。我正在复制将背景添加到图像的方法,来自手册标题页的示例。

\documentclass[11pt]{standalone}
\usepackage[all]{genealogytree}
\usepackage{incgraph}
\usetikzlibrary{backgrounds}
\begin{document}
    \begin{tikzpicture}
        \genealogytree[template=signpost]
        {
            child{
            g{A}
            p{B}
            c{C}
            c{D}
            c{E}
        }
        }
        \begin{scope}[on background layer]
            \node (bg) [fill tile image*={width=4cm}{crinklepaper.png},
            minimum width=5cm, minimum height=5cm,
            inner sep=0pt,outer sep=0pt] at (current bounding box) {};
        \end{scope}
    \end{tikzpicture}
\end{document}

我得到了这样的结果

在此处输入图片描述

背景太高且太窄。

好吧,我当然可以微调它,写小一点的高度和大一点的宽度。但是当我向我的家谱树添加一些东西时,它就会改变。

有没有办法可以像\textwidth在普通文档中导出那样导出图像的宽度?

我想minimum width=5cm, minimum height=5cm,改变minimum width=\picturewidth, minimum height=\pictureheight,

答案1

使用tikzfit

\documentclass[11pt]{standalone}
\usepackage[all]{genealogytree}
\usetikzlibrary{backgrounds, fit}

\begin{document}
    \begin{tikzpicture}
        \genealogytree[template=signpost]
        {
            child{
            g{A}
            p{B}
            c{C}
            c{D}
            c{E}
        }
        }
        \begin{scope}[on background layer]
            \node (bg) [
                fill tile image={crinklepaper.png},
                fit=(current bounding box),
                inner sep=3pt
            ] {};
        \end{scope}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容