我有三张 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}
由于缺少实际图形,我用不同大小的彩色方块代替了树形图形。输出如下所示: