TikZ:圆圈内的文本带有换行和垂直居中功能

TikZ:圆圈内的文本带有换行和垂直居中功能

我对将文本放在圆圈内感兴趣,文本使用圆圈的形状来换行。生成的文本也应该位于圆圈的中心。

这就是我所寻找的。

我想要的结果

如果无法实现垂直居中,我也可以接受一种能够根据文本量自动选择圆圈大小的解决方案。

答案1

您可以使用shapepartikz来获取

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadows.blur}
\usepackage{shapepar}
\newsavebox\TestBox
\newcommand\CirledText[1]{\begin{lrbox}{\TestBox}
\Shapepar{\circleshape}\sffamily\hspace{-0.5ex}#1\par
\end{lrbox}%
\begin{tikzpicture}[baseline={([yshift=-0.5em]tst.center)}]
\pgfmathsetmacro{\myradius}{max(\wd\TestBox,\ht\TestBox)+18pt}%
\node[circle,draw=black!70!blue,line width=8pt,fill=white,inner sep=-0.02*\myradius,minimum size=\myradius,
blur shadow={shadow xshift=1ex,shadow yshift=-1ex}] (tst) {\usebox\TestBox};
\end{tikzpicture}
}
\begin{document}
\CirledText{Test}\hspace{3em}
\CirledText{Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.}
\end{document}

在此处输入图片描述

人们可以使其具有很强的可调性,但如何精确地管理它取决于使用情况。

相关内容