![如何将带有花括号的数学符号沿路径插入到 tikz 装饰文本中?](https://linux22.com/image/256446/%E5%A6%82%E4%BD%95%E5%B0%86%E5%B8%A6%E6%9C%89%E8%8A%B1%E6%8B%AC%E5%8F%B7%E7%9A%84%E6%95%B0%E5%AD%A6%E7%AC%A6%E5%8F%B7%E6%B2%BF%E8%B7%AF%E5%BE%84%E6%8F%92%E5%85%A5%E5%88%B0%20tikz%20%E8%A3%85%E9%A5%B0%E6%96%87%E6%9C%AC%E4%B8%AD%EF%BC%9F.png)
我打算沿着弧线写一些带花括号的数学表达式。不知何故,以下代码片段导致 pdflatex 冻结。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\draw[->,blue,
postaction={decorate,decoration={text along path, raise=4pt,
text={ $\{ hello \}${} },text color=blue,
text align={align=center}}}] (0,5) arc (90:0:5);
\end{tikzpicture}
\end{document}
否则我该怎么做?
答案1
一种方法是使用{$\lbrace$}
和相应的{$\rbrace$}
:
text={{$\lbrace$}hello{$\rbrace$}}
得出的结果是:
或者你也可以使用:
text={{\textbraceleft}hello{\textbraceright}}
笔记:
请注意附加的一组括号。
TikZ/PGF 手册中关于文本修饰的规定如下:
文本中的每个字符都排版在单独的 \hbox 中……
...
只有在相当严格的限制下,才有可能在数学模式下排版文本。使用类别代码为 3 的任何字符(例如,在纯 TEX 中为 $)可以进入和退出数学模式。数学下标和上标需要包含在括号内(例如
{^y_i}
),命令如\times
或 也需要包含在括号内\cdot
。但是,即使是适度复杂的数学排版也不太可能沿着路径成功(甚至不理想)。
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\draw[->,blue,
postaction={decorate,decoration={text along path, raise=4pt,
text={{$\lbrace$}hello{$\rbrace$}},text color=blue,
text align={align=center}}}] (0,5) arc (90:0:5);
\end{tikzpicture}
\end{document}
怪异行为:
使用text={$hello$}
,我得到: