我习惯在 LaTeX 中使用度数符号,并且知道创建度数符号的大部分方法。但是,我无法在文本装饰中使用度数符号。在下面的例子中,我仅包含度数符号来说明我的问题:
\path [decorate,decoration={text along path,raise=-2.4ex,text align={left indent=1.1cm},
text={|\sffamily\normalsize\color{MediumBlue}|D U S K~~~at latitude 31.5°N}}]
plot[smooth,tension=0.5] coordinates{ <list of coordinates> };
(抱歉,这不是正确的 MWE,而只是一个省略了坐标的 tikz 命令。)
错误信息如下。源文件和 TeX 文件是 UTF-8 编码(根据 Notepad++)。我还附上了声明\usepackage[utf8]{inputenc}
。
更新:
这是请求的 MWE...
\documentclass[a4paper,portrait]{minimal}
\usepackage{tikz}
\usetikzlibrary{spath3}
\usetikzlibrary{decorations.text} % to print text on a curve
\begin{document}
\begin{tikzpicture}
\path[spath/save=test] plot[smooth,tension=0.5] coordinates{(0,1.1) (2,0.8) (4,1.0) (6,0.5) (8,0.7)};
\draw [spath/use=test];
\path [decorate,decoration={text along path,raise=-2.4ex,text align={left indent=1.1cm},
text={|\sffamily\normalsize\color{blue}|D U S K~~~at latitude 51.5°N}}]
plot[smooth,tension=0.5] coordinates{(0,1.1) (2,0.8) (4,1.0) (6,0.5) (8,0.7)};
\end{tikzpicture}
\end{document}
感谢您Qrrbrbirlbel
提供正确的答案,我将在下面发布。
答案1
感谢Qrrbrbirlbel
谁的评论是正确的。更正后的 MWE 为:
\documentclass[a4paper,portrait]{minimal}
\usepackage{tikz}
\usetikzlibrary{spath3}
\usetikzlibrary{decorations.text} % to print text on a curve
\begin{document}
\begin{tikzpicture}
\path[spath/save=test] plot[smooth,tension=0.5] coordinates{(0,1.1) (2,0.8) (4,1.0) (6,0.5) (8,0.7)};
\draw [spath/use=test];
\path [decorate,decoration={text along path,raise=-2.4ex,text align={left indent=1.1cm},
text={|\sffamily\normalsize\color{blue}|D U S K~~~at latitude 51.5{°}N}}]
plot[smooth,tension=0.5] coordinates{(0,1.1) (2,0.8) (4,1.0) (6,0.5) (8,0.7)};
\end{tikzpicture}
\end{document}
并且生成的 PDF 显示...
为什么我犹豫是否要在文本中添加括号来装饰?因为括号内的内容会被旋转,就好像它们只是一个字符一样。为了说明这一点,只需将整个文本放在括号内即可:
\path [decorate,decoration={text along path,raise=-2.4ex,text align={left indent=1.1cm},
text={|\sffamily\normalsize\color{blue}|{D U S K~~~at latitude 51.5{°}N}}}]
plot[smooth,tension=0.5] coordinates{(0,1.1) (2,0.8) (4,1.0) (6,0.5) (8,0.7)};
这会导致以下不正确的装饰:
所以请注意这个副作用。只旋转一个字符是故意的,所以两种解决方案都Qrrbrbirlbel
提供了所需的解决方案。再次感谢!
附言
值得一提的是,在序言中加入以下一行和使用{°}
也有效,并给你一个更大的度数符号(或者更准确地说是一个凸起的圆圈):
\DeclareUnicodeCharacter{00B0}{\ensuremath{{}^\circ}}
作为一种装饰,这种效果可能更令人愉悦/易读: