在 TikZ 中将文本放入任何带有自动换行功能的形状中吗?

在 TikZ 中将文本放入任何带有自动换行功能的形状中吗?

我注意到我们可以将文本放在圆圈中

\node[draw,circle]{Text};

是否可以将文本放入任何具有自动换行功能的形状中?(例如,在椭圆形中,或者在我们绘制的封闭曲线中)

编辑

对于“将文本放在我们绘制的任何封闭曲线中”的要求可能与在 TikZ 中将文本调整到形状\shapeparnode被使用),但我期待一个\node使用我们绘制的封闭曲线的形状选项。

答案1

当然可以。只需使用text widthwith/without即可align

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}

\begin{document}

\begin{tikzpicture}
\node[draw,fill=cyan!30,ellipse,text width=2cm] 
  {Some text goes here inside this ellipse};
\node[xshift=4cm,draw,fill=green!25,ellipse,text width=2cm,align=center] 
  {Some text goes here inside this ellipse};
\node[xshift=8cm,draw,fill=yellow!25,ellipse,text width=2cm,align=right] 
  {Some text goes here inside this ellipse};
\node[xshift=2cm,yshift=-3cm,draw,fill=orange!25,trapezium,text width=2cm,align=center] 
  {Some text goes here inside this trapezium};
\node[yshift=-3cm,xshift=6cm,draw,fill=magenta!25,regular polygon, regular polygon sides=6,text width=2cm,align=center] 
  {Some text goes here inside this hexagon};
\end{tikzpicture}

\end{document}

在此处输入图片描述

关于将文本放置在我们绘制的任何封闭曲线中的部分,这里可能有许多可能的方法:

  • 命令\shapeparnode定义如下保罗·加博利his answer在 TikZ 中将文本调整到形状

  • 定义新形状,如第节所述75.5 声明新形状PGF 手册(这是一个非平凡的过程,可以通过使用以下项目中的包来简化)。

  • 使用makeshape包来简化新形状的创建。这是包文档的摘要:

makeshape 包简化了 PGF 形状的编写。声明具有正确锚点边框的自定义形状可能很困难。复杂的形状通常需要复杂的计算才能找到连接线的接触点。此包仅要求开发人员编写描述锚点边框的 PGF 路径。它还提供宏来帮助管理形状参数和定义锚点。

相关内容