使用 tikz 在两个节点之间居中画一条线

使用 tikz 在两个节点之间居中画一条线

我正在尝试创建一个 tikz 图片,其中有一张图片,其右侧有一些文本。我想在图片和文本之间绘制一条垂直线,该线与图片边缘的距离与文本边缘的距离相同。请参阅随附的图片。

1

目前我有以下代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}

\node[inner sep=0pt] (image) at (0,0)
    {\includegraphics[width=.25\textwidth]{example-image-a}};
    
\node[anchor = west ,xshift=0cm, yshift=0, text width = 0.5\textwidth, right = of image]{\Huge Text};

\draw[line width=1mm](2.25,-1) -- +(0,2); 

\end{tikzpicture}
\end{document}

需要注意的是,我更喜欢精确的解决方案,而不是像我在 tikz 图片中 x=2.25 处的线那样的估计值(这“看起来”是正确的)。我想要一个当图像移动时动态改变位置的解决方案(文本已经使用 随图片动态移动right=of image)。

答案1

您可以使用该calc库:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}

\begin{document}
\begin{tikzpicture}

\node[inner sep=0pt] (image) at (0,0)
    {\includegraphics[width=.25\textwidth]{example-image-a}};
    
\node[anchor=west,right=of image,inner sep=0pt] (text) {\Huge Text};

\draw[line width=1mm] ($(image.east)!0.5!(text.west)$) +(0,-1) -- +(0,1);

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容