我正在使用 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}
图像将在第二次运行后出现。