tikz 节点的中心

tikz 节点的中心

以下代码来自@domenico-camasta

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{figure}
    \begin{tikzpicture}
    \node(a){\includegraphics[width=0.8\textwidth]{example-image-a}};
    \node at (a.north east)
    [
    anchor=center,
    xshift=0mm,
    yshift=0mm
    ]
    {
        \includegraphics[width=0.3\textwidth]{example-image-b}
    };
    \end{tikzpicture}
\end{figure}

\end{document}

产生以下结果 在此处输入图片描述

也可以看看在文章中叠加两张图片

我需要如何重写

a.north east

在上面的例子中,如果我想放置图像 B:

1)位于图像A的中心

2) 位于图像 A 的中心东侧?

答案1

参见第 72 章tikz 和 pgf 手册关于shape库。您将在其中找到一个节点形状列表,其中每个节点形状都显示一个带有预定义锚点的图表,与默认形状类似rectangle

在此处输入图片描述

(请注意,10130锚点仅仅是示例,您可以使用 0 到 360 之间的任意度数。)

因此,您需要遵循centereast锚点,如下面的代码所示。

还要注意,您可能想要inner sep=0a节点进行设置,以删除节点内容和边框之间的“填充”。

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{figure}
    \begin{tikzpicture}
    \node [inner sep=0] (a){\includegraphics[width=0.8\textwidth]{example-image}};
    \node at (a.north east)
    [
    anchor=center,
    xshift=0mm,
    yshift=0mm
    ]
    {
        \includegraphics[width=0.3\textwidth]{example-image-a}
    };
    \node at (a.center) {\includegraphics[width=0.3\textwidth]{example-image-b}};
    \node at (a.east) {\includegraphics[width=0.3\textwidth]{example-image-c}};
    \end{tikzpicture}
\end{figure}

\end{document}

答案2

默认定位是使用center,默认锚点是center,因此只需node at (a)将节点放在即可a.center。相应地,中心东位置就是east

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}

\begin{figure}
    \begin{tikzpicture}
    \node(a)[inner sep=0pt]{\includegraphics[width=0.8\textwidth]{example-image-a}};
    \node at (a)
    {
        \includegraphics[width=0.3\textwidth]{example-image-b}
    }
    node at (a.east)
    {
        \includegraphics[width=0.3\textwidth]{example-image-b}
    };
    \end{tikzpicture}
\end{figure}

\end{document}

在此处输入图片描述

相关内容