我正在尝试使用 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}
- 此图左侧的填充比右侧的多。我希望左侧填充与右侧填充相同
- 绿色圆圈内的文字“Some long text goes here”应分为两行。例如,“Some long text”占一行,“goes here”占一行
- 我需要在每个矩形的下方和右侧添加一点阴影。我的图中的阴影太多了,我需要的是大约 1 毫米厚的阴影。例如,使用银线突出显示的阴影量。
- 并且矩形应该有带标签的箭头,如图所示(蓝色箭头)
答案1
这是一个建议。
- 我添加了几何包。它显示了一个框架,表明图片位于中心,但你
showframe
当然可以删除它。 - 为了让文本分成多行,我添加了
align=center
选项。 - 然后我将阴影添加到 的定义中
myrectangle
,并使其尺寸变小。 - 带有标签的箭头是使用
edge
s 和引号添加的。
结果:
\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}