使用西里尔文字装饰 tikz 路径

使用西里尔文字装饰 tikz 路径

我尝试用西里尔符号修饰 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}

结果

相关内容