根据文本节点的高度定义 tikzpicture 中导入图片的高度

根据文本节点的高度定义 tikzpicture 中导入图片的高度

我正在使用 XeLaTeX 和 TikZ 绘制贴纸标题,使用两张图片和一些文本。我想定义这些图片的高度根据文本节点的高度,根据文本行数定义,比如文本节点高度为2cm,则两张图片高度也为2cm。

我尝试let根据以下计算提取 y 坐标:

\path let \p1 = ($(text.north west) - (text.south west)$) in node ...

但它不起作用(我不确定这是否是一种有效的方法,或者我是否使用了错误的语法)。

那么,我应该怎么做才能实现我想要做的事情呢?

这是我正在尝试做的 MWE(它没有上述说明):

\documentclass{article}

\usepackage{geometry}
\geometry{paperwidth=10cm,paperheight=1.5cm}

\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}

\usepackage{tikz}
\usetikzlibrary{calc}

\pagestyle{empty}

\begin{document}
  \begin{tikzpicture}[remember picture, overlay]
    \node[anchor=north, font=\bfseries, align=flush center] (text) at ($(current page.north) + (0,-0.25)$) {This is the first line\\This is the second one};
    \node[anchor=east, inner sep=0pt] (image) at ($(text.west) + (-1.25,0)$) {\includegraphics[height=1cm]{example-image}};
    \node[anchor=west, inner sep=0pt] (image) at ($(text.east) + (1.25,0)$) {\includegraphics[height=1cm]{example-image}};
  \end{tikzpicture}
\end{document}

给定文件的输出是这样的:

附加代码的输出

任何帮助将不胜感激!

答案1

尝试这个

\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\pagestyle{empty}
    \begin{tikzpicture}[remember picture, overlay]
\node[font=\bfseries, align=flush center, anchor=north] (text) at ($(current page.north) + (0,-0.25)$) 
    {This is the first line\\This is the second one};
\path   let \p1 = ($(text.north)-(text.south)$),
            \n1 = {veclen(\y1,\x1)} in
        node[anchor=east, inner sep=0pt] (image) at ($(text.west) + (-1.25,0)$)
            {\includegraphics[height=\n1]{example-image}}
        node[anchor=west, inner sep=0pt] (image) at ($(text.east) + (1.25,0)$) 
            {\includegraphics[height=1cm]{example-image}};
    \end{tikzpicture}
\end{document}

图像将在第二次运行后出现。

在此处输入图片描述

相关内容