如何在 TikZ 文本弧内渲染数学(或 PNG)?

如何在 TikZ 文本弧内渲染数学(或 PNG)?

我试图将“六角点”符号放入文本弧中tikz,但没有成功。

这是我的尝试:

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{decorations.text}

\usepackage{graphicx}
\usepackage{amsmath,amssymb}

\newcommand{\hexdot}{$\therefore\atop\because$}

\begin{document}    
\begin{tikzpicture}
    \node (myfirstpic) at (0,0) {\includegraphics{round_test_image.png}};
    \node (One) at (-5,0) {};
    \node (Two) at (5,0) {};
    \def\myshift#1{\raisebox{-2.5ex}}
    \draw [-,thick,black!0,postaction={decorate,decoration={text along path,text align=center,text={|\myshift|B\hexdot{} O\hexdot{} T\hexdot{} T\hexdot{} O\hexdot{} M\hexdot{} T\hexdot{} E\hexdot{} X\hexdot{} T\hexdot{}}}}] (One) to [bend right=45]  (Two);
    \def\myshift#1{\raisebox{1ex}}
    \draw [-,thick,black!0,postaction={decorate,decoration={text along path,text align=center,text={|\myshift|T\hexdot{} O\hexdot{} P\hexdot{}  T\hexdot{} E\hexdot{} X\hexdot{} T\hexdot{}}}}] (One) to [bend left=45] (Two);    
\end{tikzpicture}
\end{document}

我可以将\hexdot或添加\hexdot{}到节点标签或文档中的其他位置,并使其正确显示。但是,如果我将其放在底部文本弧或上部文本弧中,文档在尝试渲染时会永远挂起。如果我在没有任何\hexdot{}符号的情况下编写弧,它就可以正常工作。

我也尝试使用 .png 版本的 hexdot 字符,但这也不起作用,因为渲染也会无限期挂起。

任何帮助都将不胜感激!非常感谢。

答案1

您需要将数学内容括在括号中。(此外,您可能希望使用\genfrac或 之类的东西来代替\atop。此答案也适用于您的宏。)

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{decorations.text}

\usepackage{graphicx}
\usepackage{amsmath,amssymb}

\newcommand{\hexdot}{$\genfrac{}{}{0pt}{}{\therefore}{\because}$}

\begin{document}    
\begin{tikzpicture}
    \node (myfirstpic) at (0,0) {\includegraphics{example-image-a.png}};
    \node (One) at (-5,0) {};
    \node (Two) at (5,0) {};
    \def\myshift#1{\raisebox{-2.5ex}}
    \draw [-,thick,black!0,postaction={decorate,decoration={text along path,text align=center,text={|\myshift|B{\hexdot} O{\hexdot} T{\hexdot} T{\hexdot} O{\hexdot} M{\hexdot} T{\hexdot} E{\hexdot} X{\hexdot} T{\hexdot}}}}] (One) to [bend right=45]  (Two);
    \def\myshift#1{\raisebox{1ex}}
    \draw [-,thick,black!0,postaction={decorate,decoration={text along path,text align=center,text={|\myshift|T{\hexdot} O{\hexdot} P{\hexdot}  T{\hexdot} E{\hexdot} X{\hexdot} T{\hexdot}}}}] (One) to [bend left=45] (Two);    
\end{tikzpicture}
\end{document}

在此处输入图片描述

由于我没有您的 png 图像,因此我使用大多数 TeX 安装中包含的图像。

相关内容