我尝试用西里尔符号修饰 tikz 路径,但没有成功。我可以使用 ASCII 符号,但不能使用西里尔符号。
\documentclass{standalone}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc}
\usepackage[english,russian]{babel}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (1cm);
\path[
postaction={
decorate,
decoration={
text along path,
reverse path=false,
text={very long long text}
}
}
] (0,0) circle (1cm);
\end{tikzpicture}
\end{document}
如果我在其中输入西里尔符号,text={}
则会导致很多错误。
更新:我已经使用 XeLaTex 处理了我的 tex 文件,它部分工作正常。它仅显示第一个符号。
我还需要将文本作为参数传递,如下所示:
\newcommand\PathWithText[1]{
\draw (0,0) circle (1cm);
\path[
postaction={
decorate,
decoration={
text along path,
reverse path=false,
text={#1}
}
}
] (0,0) circle (1cm);
}
\PathWithText{очень длинный текст}
答案1
你可以使用LuaLaTex
或者XeLaTex
像这样:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{fontspec}
\usetikzlibrary{decorations.text}
\setmainfont{Liberation Sans} %use some font with cyrillic symbols
\newcommand\PathWithText[1]{
\draw (0,0) circle (1cm);
\path[
postaction={
decorate,
decoration={
text along path,
reverse path=false,
text={#1}
}
}
] (0,0) circle (1cm);
}
\begin{document}
\begin{tikzpicture}
\PathWithText{очень длинный текст}
\end{tikzpicture}
\end{document}