我使用 TikZ 在 LaTeX 中得到了这种代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\tikzstyle{block} = [draw,rectangle,fill=blue!50,text width=8em, text centered,minimum height=8mm,node distance=10em]
\tikzstyle{line} = [draw, -latex']
\begin{tikzpicture}
\tikzstyle{every node}=[font=\small]
\node [block, xshift=-3em](start){ST\_Category};
\node [block, right of=start, xshift=5em](process1){Process 1};
\end{tikzpicture}
\end{document}
块的大小是固定的。我想要实现的是让这些块自动调整大小以适应较长的文本。因此,当文本较长时,块会变得枯萎。例如,如果在第一个块中文本将是“哒哒哒哒哒哒哒哒哒哒“它会超出块边界,这看起来很糟糕。我希望当文本变长时这些块能够自动扩展。
答案1
您通过选项指定文本的大小是固定的text width=8em
。如果您直接删除该选项,框将根据文本重新调整大小。
text width=8em
以下是对第一行进行指定但对第二行未指定的比较:
笔记:
- 你应该使用
\tikzset
而\tikzstyle
不是应该使用 \tikzset 还是 \tikzstyle 来定义 TikZ 样式?
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\tikzstyle{block} = [draw, rectangle, fill=blue!50,, text centered, minimum height=8mm,node distance=10em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{every node}=[font=\small]
\begin{tikzpicture}[text width=8em]
\node [block, xshift=-3em](start){DASDASDADASDASDASDAS};
\node [block, right of=start, xshift=5em](process1){Process 1};
\end{tikzpicture}
\begin{tikzpicture}
\node [block, xshift=-3em](start){DASDASDADASDASDASDAS};
\node [block, right of=start, xshift=5em](process1){Process 1};
\end{tikzpicture}
\end{document}