tikz,叠加 pgf 图片

tikz,叠加 pgf 图片

我有三张 tikz/pgf 图片,我想用类似的东西覆盖它们

\subfloat[]{
\begin{tikzpicture}
\draw [yshift=5cm](0,0) rectangle (5,5);
\end{tikzpicture}
\scalebox{0.71}{\input{figures/hahn_long.pgf}}
\scalebox{0.4}{\input{figures/hahn_short.pgf}}

但这样不起作用,因为它会连续绘制三幅图(甚至yshift没有效果)。我该怎么做?

答案1

没有最小工作示例(MWE)很难知道这里到底要实现什么。但是,如果您的目标是水平叠加三幅图的上下文,则可以使用低级 TeX 命令(\llap{<content>}, \rlap{<content>})或更通用且更不容易出错的 LaTeX\makebox[<width>][<align>]{<content>}命令来实现,并将参数设置为零值<width>

TUBboat文章提供了这些(以及更多)命令的一些背景知识。在下文中,我将\makebox在最后一个示例中使用 ;\raisebox{<yshift>}{<content>}来实现垂直移位:

  \documentclass{article}
  \usepackage{xcolor}

  \newcommand{\figone}{{\color{black}\rule{4cm}{4cm}}}
  \newcommand{\figtwo}{{\color{red}\rule{3cm}{3cm}}}
  \newcommand{\figthree}{{\color{blue}\rule{2cm}{2cm}}}

  \begin{document}
    Text starts here:

    \makebox[0pt][l]{\figone}%
    \makebox[0pt][l]{\figtwo}%
    \figthree%

    \makebox[0pt][r]{\figone}%
    \makebox[0pt][r]{\figtwo}%
    \makebox[0pt][r]{\figthree}%

    Text ends here:

    \begin{center}
      Centered:

      \makebox[0pt][c]{\figone}%
      \makebox[0pt][c]{\figtwo}%
      \makebox[0pt][c]{\figthree}%

      Centered, y-shifted:

      \makebox[0pt][c]{\figone}%
      \raisebox{0.5cm}{\makebox[0pt][c]{\figtwo}}%
      \raisebox{1cm}{\makebox[0pt][c]{\figthree}}%

      And so on...
    \end{center}

  \end{document}

由于缺少实际图形,我用不同大小的彩色方块代替了树形图形。输出如下所示:

在此处输入图片描述

相关内容