LaTeX TikZ - 自动调整块大小以适合文本

LaTeX TikZ - 自动调整块大小以适合文本

我使用 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以下是对第一行进行指定但对第二行未指定的比较:

在此处输入图片描述

笔记:

代码:

\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}

相关内容