使用 tikz 添加文本和箭头

使用 tikz 添加文本和箭头

我正在使用 overleaf,我必须绘制 2 个正方形,如下面的代码所示。我无法执行以下操作:

  • 把两个正方形放在页面中央。我尝试用\begin{center}和,\begin{figure} \centering但是没有用;
  • 在第一个方块的白色部分中间添加文字“A”,在第二个方块下方添加一个箭头,箭头的开头和结尾分别带有字母 B 和 C。

有人能帮助我吗?

谢谢!

\begin{multicols}{3}
\begin{tikzpicture}
%Nodes
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\fill[black] (2,0) rectangle (4,4);
\end{tikzpicture}
\columnbreak
\columnbreak
\begin{tikzpicture}
%Nodes
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\shade[left color=white,right color=black] (0,0) rectangle (4,4);
\end{tikzpicture}
\end{multicols}

答案1

您不需要使用列来尝试将您的 tikzpictures 彼此相邻放置,而是可以在单个 tikzpicture 中绘制它们,然后使用环境scope将其中一个向右移动:

\documentclass{article}

\usepackage{tikz}

\begin{document}

{
\centering
\begin{tikzpicture}
%Nodes
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\fill[black] (2,0) rectangle (4,4);
\node[red,font=\bfseries\Huge] at (1,2) {A};

\begin{scope}[xshift=.5\textwidth]
%Nodes
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\shade[left color=white,right color=black] (0,0) rectangle (4,4);
\node (B) at (0,-0.5) {B};
\node (C) at (4,-0.5) {C};
\draw[->] (B) -- (C) ;
\end{scope}
\end{tikzpicture}
}

\end{document}

在此处输入图片描述

答案2

使用两个tikzpictures,矩形被节点替换并被 取代\hfil

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

\begin{document}

\begin{center}
\begin{tikzpicture}[baseline,
node distance = 0pt,
     N/.style = {draw, fill=#1, minimum width=2cm, minimum height=4cm, font=\Large}
                    ]
\node (n1) [N=white] {A};
\node (n2) [N=black, right=of n1] {};
\end{tikzpicture}
\hfil
\begin{tikzpicture}[baseline,
node distance = 0pt]
\node (n1) [draw, minimum size=4cm, 
            left color=white,right color=black] {};
\node (a)  [below=of n1.south west] {B};
\node (b)  [below=of n1.south east] {C};
\draw[-Straight Barb]   (a) -- (b);
\end{tikzpicture}
\end{center}

\end{document}

在此处输入图片描述

相关内容