如何在 tikz 装饰中使用“每个字符”键?

如何在 tikz 装饰中使用“每个字符”键?

假设我有以下 MWE:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}[node distance=5cm]
      \node[draw, rectangle] (a) {A};
      \node[draw, rectangle,right of=a] (b) {B};

      \draw[postaction=decorate,decoration={raise=5pt, text along path,
      text={Foooooooo},text align=center}] (a) to[bend left] (b);
   \end{tikzpicture}
\end{document}

我想使用every character手册(我的版本为第 605 页)记录的选项

设置将应用于装饰文本中每个字符的效果。效果通常是 TikZ 节点选项。

这听起来像是我想要的,即为每个字符应用背景颜色,但我一直无法正确使用这个键,也没有找到任何示例。如何使用此选项?

编辑:好的,text effects/every character/.style={fill=red}这不是我想要的。它改变了填充颜色,但也改变了字符的位置和方向,现在这些字符看起来真的像单个节点。它们不再沿着路径移动,而是全部直立。有什么办法吗?我希望它们沿着路径移动,但只具有背景。

答案1

every character键仅适用于text effects along path装饰:

\documentclass[tikz, border=5]{standalone}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}[node distance=2.5cm]
\node[fill=red!50!orange] (a) {A};
\node[right of=a, fill=green!50!orange] (b) {B};

\draw [postaction=decorate, decoration={raise=5pt, text effects along path,
   text=FooBar!,text align=center,
   text effects/.cd,
     text along path,
     every character/.style={
       fill=blue!50!orange,
       text=white,     
     }}] 
  (a) to [bend left] (b);

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容