TikZで曲線に文字を沿わせる方法

TikZで曲線に文字を沿わせる方法を書く。

1. タイプセット環境

macOS Sierra,texlive2016,lualatex

2. コードと実行結果
コード
%
%  preamble for lualatex
%
\RequirePackage{luatex85}
\documentclass[border={15pt,15pt,15pt,15pt}]{standalone}
\usepackage{luatexja}
%\usepackage{luatexja-fontspec}
%\usepackage{fontspec}
\usepackage{tikz}
%\setmainfont{rounded-mplus-1m-bold}
\usetikzlibrary{decorations.text, math}
\begin{document}
%
%  文字を大きくする
%
\huge
    %
    %  テキストをpathに沿わせる
    %
    \begin{tikzpicture}
        \path
        [preaction={decorate}]
        [decoration={
            text along path, text={Half-Face}, text align={fit to path}, text color=brown!70!black
            },
         draw, line width=5mm, color=red!70, opacity=0.2
        ]
        %ここからpath
         (0,0) plot[domain=0:2*pi] ({\x, sin(\x r)});
    \end{tikzpicture}
\end{document}
実行結果
3. 説明
3.1. preambleの説明
%
%  preamble for lualatex
%
\RequirePackage{luatex85}
\documentclass[border={15pt,15pt,15pt,15pt}]{standalone}
\usepackage{luatexja}
%\usepackage{luatexja-fontspec}
%\usepackage{fontspec}
\usepackage{tikz}
%\setmainfont{rounded-mplus-1m-bold}
\usetikzlibrary{decorations.text, math}

追加したtikzlibrary

decorations.text
 テキストをpathに沿わせるために追加。
math
 domain=[0:2*pi]の計算をさせるために追加。

フォントなど,見た目を整えるための記述はコメントアウトした。

3.2. documentの説明
%
%  文字を大きくする
%
\huge
    %
    %   テキストをpathに沿わせる
    %
    \begin{tikzpicture}
        \path
        [preaction={decorate}]
        [decoration={
            text along path, text={Half-Face}, text align={fit to path}, text color=brown!70!black
            },
         draw, line width=5mm, color=red!70, opacity=0.2
        ]
        %ここからpath
         (0,0) plot[domain=0:2*pi] ({\x, sin(\x r)});
    \end{tikzpicture}
1. preactionを実行する
 pathに対して,preactionに指定したdecorateを実行し,decorationの記述に従ってpathをdecorateする。text along pathは,テキストをpathの上に満遍なく配置する。
2. pathのoptionで指定された操作を実行する。
 今回はpathのoptionにdrawが指定されているので,pathに沿って線が引かれる。線を引きたくなければ,drawを消せば良い。

おしまい。

コメントを残す

メールアドレスが公開されることはありません。