是的,实际上有两个问题,但我希望它们足够接近以至于相互关联。
大家好,我正在尝试使用 tikz 绘制流程图。当我想在节点中放置一个逐项列表时,solb
我无法single
按照我的意愿使列表的间距保持左对齐。
此外,当我将描述添加到箭头时,我不知道如何将描述固定在北方和中心到箭头的水平部分。
如果有人能帮我解决这两件事就最好了。非常感谢。
我的 MWE 在这里。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{varwidth}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\tikzstyle{rec} = [
rectangle,
minimum width = 1cm, minimum height = 1cm,
text centered,
draw = black, fill = white]
\tikzstyle{recw80} = [
rectangle]
\tikzstyle{recw30} = [
rectangle,
minimum width = 1cm, minimum height = 1cm,
text width = 3cm,
draw = black, fill = white]
\tikzstyle{arrow} = [thick,->,>=stealth]
\begin{document}
\makebox[\textwidth][c]{\begin{tikzpicture}[node distance=2cm]
\node (start) [rec] {Hi};
\node (q1) [recw80, below of=start, yshift=-0.5cm] {};
\node (solb) [recw30, right of=q1, xshift=6.5cm] {
\begin{varwidth}{\linewidth}\begin{itemize}
\item Point 1,
\item Point 2, or
\item Point 3.
\end{itemize}\end{varwidth}};
\draw [arrow] (solb) |- node[anchor=south] {How are you?} (start);
\end{tikzpicture}}
\end{document}
答案1
欢迎!请注意 已\tikzstyle
弃用。(我也不明白 的用途\makebox
。)您可以使用enumitem
包来自定义您的itemize
环境,使用align=left
,并使用pos=0.75
将边缘标签放在水平拉伸的中间。我还建议使用库positioning
,即 而below of
不是 ,例如使用below=<distance> of
。在您的示例中,这使我们能够消除辅助q1
节点。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{varwidth}
\usepackage{enumitem}
\usepackage{tikz}
\usetikzlibrary{positioning}
\tikzset{rec/.style={
rectangle,
minimum width = 1cm, minimum height = 1cm,
text centered,
draw = black, fill = white},
recw80/.style={
rectangle},
recw30/.style={
rectangle,
minimum width = 1cm, minimum height = 1cm,
text width = 3cm,align=left,
draw = black, fill = white},
arrow/.style={thick,->,>=stealth}}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}[node distance=2cm]
\node (start) [rec] {Hi};
\node (solb) [recw30,below right=0.5cm and 6.5cm of start] {
\begin{varwidth}{\linewidth}\begin{itemize}[nosep,leftmargin=*]
\item Point 1,
\item Point 2, or
\item Point 3.
\end{itemize}\end{varwidth}};
\draw [arrow] (solb) |- node[pos=0.75,above] {How are you?} (start);
\end{tikzpicture}
\caption{A Ti\emph{k}Z picture.}
\end{figure}
\end{document}