在 tikzpicture 路径装饰文本中插入 \textdegree 符号

在 tikzpicture 路径装饰文本中插入 \textdegree 符号

我在 tikz 中沿弧线显示文本,并且希望该文本包含度数符号(摄氏度)。但是,pdflatex 似乎挂在我的代码上。

我已将问题简化为 MWE,并且它重现了。我在 Ubuntu Linux 上使用 texstudio 和 texlive 工作。

\documentclass{standalone}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{tikz}
\usetikzlibrary{decorations.text}

\begin{document}

\begin{tikzpicture}

\path[  postaction={ decorate },
        decoration={
                    text along path,
                    text={|\small\color{black}|Temperature: 0 to 100 \textdegree C},
                    text align = {center},
                    raise = -8pt
                    }
    ]
    (-0.5 * 0.5in * 3.26, -0.866025404 * 0.5in * 3.26)
    arc(240:-60:0.5in * 3.26);

\end{tikzpicture}

\end{document}

有人知道哪里出了问题吗?我该如何解决这个问题?

答案1

来自 tikzdecorations.text库手册:

文本中的每个字符都排版在单独的 \hbox 中。这意味着如果您想要字距调整或连字等花哨的东西,您将不得不手动注释组内装饰文本中的字符。

您需要将命令放在一个组中

\documentclass{standalone}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usepackage{gensymb}

\begin{document}

\begin{tikzpicture}

\path[postaction={decorate},
        decoration={
                    text along path,
                    text={|\small\color{black}|Temperature: 0 to 100 {\textdegree}  C},
                    text align = {center},
                    raise = -8pt
                    }
    ]
    (-0.5 * 0.5in * 3.26, -0.866025404 * 0.5in * 3.26)
    arc(240:-60:0.5in * 3.26);

\end{tikzpicture}

\end{document} 

在此处输入图片描述

答案2

特殊内容如\textdegree应成对出现{...}。但我建议使用\SI{0}{\degree}etc. 而不是\textdegree C

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage{tikz}
\usetikzlibrary{decorations.text}

\begin{document}
\begin{tikzpicture}

\path[  postaction={ decorate },
        decoration={
                    text along path,
                    text={|\small\color{black}|Temperature:  {\SI{0}{\degree}} to {\SI{100}{\degree}}},
                    text align = {center},
                    raise = -8pt
                    }
    ]
    (-0.5 * 0.5in * 3.26, -0.866025404 * 0.5in * 3.26)
    arc(240:-60:0.5in * 3.26);

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容