我使用的是 TikZ 版本 3.1.5b 和 pdftex 版本 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian)(从 .log 文件中获取)。我想将一些文本放入圆圈中,但我想使用 Trajan 字体,所以我使用命令\fontfamily{trjn}\selectfont
。这是 MnWE(不起作用)。
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows,decorations,decorations.text}
\begin{document}
\begin{minipage}{0.5\textwidth}
\begin{tikzpicture}
\draw%
[
postaction={
decorate,
decoration={
text along path,
text={Some text to fill out the circle so as to serve as an example {${\cdot}$}}
},
font=\normalsize,
% align=fit to path
}
]
(0,0) circle (2);
\end{tikzpicture}
\end{minipage}
%
\begin{minipage}{0.5\textwidth}
\begin{tikzpicture}
\draw%
[
postaction={
decorate,
decoration={
text along path,
text={\fontfamily{trjn}\selectfont SOME TEXT TO FILL OUT THE CIRCLE SO AS TO SERVE AS AN EXAMPLE{${\cdot}$}}
},
font=\normalsize,
% align=fit to path
}
]
(0,0) circle (2);
\end{tikzpicture}
\end{minipage}
\end{document}
当我编译时(我使用 TeXstudio,以防万一这相关)它挂在进程上,我必须取消;当我这样做时,我收到错误Error: Command crashed: pdflatex -synctex=1 -interaction=nonstopmode "text-along-path".tex
。如果我注释掉生成相同图形但使用 Trajan 字体的代码,它就可以工作;好吧,只要我也注释掉该align=fit to path
行,这也让我感到困惑,因为根据我的版本的手册(第 658 页),这是将文本适合路径的调用,但它不起作用(我应该为此发布一个单独的问题吗?)。
我还认为值得一提的是,如果我使用大括号来更改字体,即编写text={{\fontfamily{trjn}\selectfont SOME TEXT TO FILL OUT THE CIRCLE SO AS TO SERVE AS AN EXAMPLE{${\cdot}$}}
文档进行编译,但文本不会绕圆圈弯曲(从我使用 TikZ 的短暂经验来看,这对我来说很有意义)。
答案1
您需要将字体信息包装在 中|...|
,即初始字体分隔符(请参阅第 657 页的 pgfmanual v3.1.5)
\documentclass[12pt]{article}
\usepackage{ae}
\usepackage{tikz}
\usetikzlibrary{arrows,decorations,decorations.text}
\begin{document}
\begin{minipage}{0.5\textwidth}
\begin{tikzpicture}
\draw%
[
postaction={
decorate,
decoration={
text along path,
text={Some text to fill out the circle so as to serve as an example {${\cdot}$}}
},
font=\normalsize,
% align=fit to path
}
]
(0,0) circle (2);
\end{tikzpicture}
\end{minipage}
%
\begin{minipage}{0.5\textwidth}
\begin{tikzpicture}
\draw%
[
postaction={
decorate,
decoration={
text along path,
text={|\fontfamily{trjn}\selectfont| SOME TEXT TO FILL OUT THE CIRCLE SO AS TO SERVE AS AN EXAMPLE{${\cdot}$}}
},
font=\normalsize,
% align=fit to path
}
]
(0,0) circle (2);
\end{tikzpicture}
\end{minipage}
\end{document}
编辑:\usepackage{ae}
正如 OP 所指出的,添加后才能真正利用字体。