TiKZ/PGF:精确对齐的矩形

TiKZ/PGF:精确对齐的矩形

当我在论文中导入具有不同页面大小和边框的下面的 tikzpicture 时,矩形的左右线有几个点错位。

因此,我对创建这种没有绝对坐标的图表感到困惑。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,arrows.meta,positioning,decorations.pathreplacing}

\begin{document}

\begin{figure}
\centering  
\begin{tikzpicture}
\node (rect) at (4,2) [draw,thick,minimum width=4cm,minimum height=3cm] {\large Rectangle};
\draw[black, thick]  (0,2.5) -- node[midway, below] {$A$} (2,2.5);
\draw[black, thick]  (0.9,2.4) -- (1.1,2.6);
\draw[black, thick]  (0,1.5) -- node[midway, below] {$B$} (2,1.5);
\draw[black, thick]  (0.9,1.4) -- (1.1,1.6);
\draw[black, thick]  (6,3.0) -- node[midway, below] {$R$} (8,3.0);
\end{tikzpicture}
\end{figure}
\end{document}

感谢帮助

在此处输入图片描述

答案1

您可以使用calc已加载的库来计算矩形边界之一的位置。例如,($(rect.north west)!0.35!(rect.south west)$)从左上角到左下角 35% 处的点。

然后您可以使用相对坐标从该点画一条线,例如++(-2,0)距前一个活动点左侧 2 个单位的点。

为了使小线穿过左侧线条的中间,您可以使用decorations.marking库中的装饰,如下例所示。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,arrows.meta,positioning,decorations.markings}

\begin{document}

\begin{figure}
\centering  
\begin{tikzpicture}[
  decoration={
    markings,
    mark=at position 0.5 with {\draw (5pt,3pt) -- (-5pt,-3pt);}
    }]
\node (rect) at (4,2) [draw,thick,minimum width=4cm,minimum height=3cm] {\large Rectangle};
\draw [thick,postaction={decorate}] ($(rect.north west)!0.35!(rect.south west)$) -- ++(-2,0) node[midway,below] {$A$};
\draw [thick,postaction={decorate}] ($(rect.north west)!0.65!(rect.south west)$) -- ++(-2,0) node[midway,below] {$B$};
\draw [thick] ($(rect.north east)!0.3!(rect.south east)$) -- ++(2,0) node[midway,below] {$R$};
\end{tikzpicture}
\end{figure}
\end{document}

相关内容