定位 tikz 图像

定位 tikz 图像

我正在尝试使用 tikz 库绘制以下图像。到目前为止,我所做的是:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shadows,fadings}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}

\begin{document}
    \begin{figure}
    \centering
        \begin{tikzpicture}[
            myrectangle/.style={rectangle, draw, minimum width=160, minimum height=40, ultra thick, rounded corners=0, red, text=black}
        ]

            \node[myrectangle,drop shadow={top color=red,
              bottom color=white,
              shadow xshift=1em,
              shadow yshift=-4em,
              rounded corners },] (a) at (0,0)     {\Large Some Long Text Goes here};
            \node[myrectangle, right=0 of a, xshift=3cm] (b) {\Large B};
            \node[myrectangle] (a) at (0,-5)     {\Large text};
            \node[myrectangle, right=0 of a, xshift=3cm] (b) {\Large B};
        \end{tikzpicture}
    \end{figure}
\end{document}

其结果如下: 在此处输入图片描述

我想要的是以下内容: 在此处输入图片描述

  1. 此图左侧的填充比右侧的多。我希望左侧填充与右侧填充相同
  2. 绿色圆圈内的文字“Some long text goes here”应分为两行。例如,“Some long text”占一行,“goes here”占一行
  3. 我需要在每个矩形的下方和右侧添加一点阴影。我的图中的阴影太多了,我需要的是大约 1 毫米厚的阴影。例如,使用银线突出显示的阴影量。
  4. 并且矩形应该有带标签的箭头,如图所示(蓝色箭头)

答案1

这是一个建议。

  1. 我添加了几何包。它显示了一个框架,表明图片位于中心,但你showframe当然可以删除它。
  2. 为了让文本分成多行,我添加了align=center选项。
  3. 然后我将阴影添加到 的定义中myrectangle,并使其尺寸变小。
  4. 带有标签的箭头是使用edges 和引号添加的。

结果:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usetikzlibrary{shadows,fadings}
\usetikzlibrary{positioning,quotes}

\begin{document}
    \begin{figure}
    \centering
        \begin{tikzpicture}[font=\Large,
            myrectangle/.style={rectangle, draw, minimum width=160, minimum height=40, ultra thick, rounded corners=0, red, 
            text=black,align=center,fill=white,  %<- added align=center and fill=white
            drop shadow={top color=red,
              bottom color=white,
              shadow xshift=1mm, %<- changed the dimension
              shadow yshift=-1mm,
              rounded corners }}  %<- moved shadow here
        ]

            \node[myrectangle] (a) at (0,0)     {Some Long Text\\ Goes here};
            \node[myrectangle, right=3cm of a] (b) { B};
            \node[myrectangle] (c) at (0,-5)     {text};
            \node[myrectangle, right=3cm of c] (d) {B};
            \draw (a) edge[-latex,"y"] (b)
            (b) edge[-latex,"x"] (d)
            (d) edge[-latex,"z"] (c)
            (c) edge[-latex,"b"] (a);
        \end{tikzpicture}
    \end{figure}
\end{document}

在此处输入图片描述

相关内容