我正在使用以下 TeX 代码通过 Tikz 库绘制 3 种形状。
\documentclass[a4]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning}
\begin{document}
\begin{tikzpicture}
\node[draw=red,ellipse,minimum height=1.2cm,minimum width=4cm,xshift=7cm,yshift=1cm] (q1) {};
\node[draw=red,ellipse,minimum height=1.2cm,minimum width=4cm,xshift=7cm,yshift=-1cm] (q2) {};
\node[circle,draw,minimum size=.5cm] (c1) {};
\end{tikzpicture}
\end{document}
问题是将圆形精确地定位在两个椭圆的中间,但向左偏移 2 厘米。
答案1
您可以使用库的语法calc
来执行此操作。但是,如果要点是将节点放置在椭圆的左端之间,则可以使用类似
\path (q1.west) -- node[circle,draw,minimum size=.5cm] (c1) {} (q2.west);
我觉得会更好。
在下面的代码中我还添加了第三种方法。
\documentclass[a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning,calc}
\begin{document}
\begin{tikzpicture}
\node[draw=red,ellipse,minimum height=1.2cm,minimum width=4cm,xshift=7cm,yshift=1cm] (q1) {};
\node[draw=red,ellipse,minimum height=1.2cm,minimum width=4cm,xshift=7cm,yshift=-1cm] (q2) {};
\node[circle,draw,minimum size=.5cm] (c1) at ($(q1)!0.5!(q2) + (-2cm,0)$) {};
% place node relative to west side of ellipses
\path (q1.west) -- node[circle,draw,minimum size=.5cm] (c1) {} (q2.west);
% A different option, same result:
\path (q1) -- node[blue,circle,draw,minimum size=.5cm,xshift=-2cm] (c1) {} (q2);
\end{tikzpicture}
\end{document}