TikZ: 行の折り返しと垂直方向の中央揃えを施した円内のテキスト

TikZ: 行の折り返しと垂直方向の中央揃えを施した円内のテキスト

円の中にテキストを配置し、円の形状を使用して改行することに興味があります。結果のテキストも円の中央に配置されます。

これこそ私が探していたものです。

私の望む結果

垂直方向の中央揃えが不可能な場合は、テキストの量に応じて円のサイズを自動的に選択できるソリューションも受け入れられます。

答え1

shapeparとを使用しtikzて取得できます

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

ここに画像の説明を入力してください

非常に調整可能にすることもできますが、これを正確に管理する方法はユースケースによって異なります。

関連情報