TikZ Sphinx Extensionを導入のメモその3

tikz_latex_preambleにマクロを書くことで、簡潔にかけるようになった。

マークアップ

conf.pyのtikz_latex_preambleを追加。

tikz_latex_preamble = r'\newcommand{\markUpBox}[3]{\draw[red,ultra thick,rounded corners] (#1) rectangle (#2); \node[draw = red, fill=white, ultra thick,rounded corners, anchor=north east] at (#2) {\textbf{#3}}; }'

以下の表記法で、矩形とラベルを同時に書く。

\markUpBox{左下}{右上}{LabelName}

以下のように書くと、

.. tikz:: マークアップ
   :stringsubst:

   \node[anchor=south west] (image) at (0,0) {\includegraphics[width=10cm]{$wd/source/xcode01.png}};
   %\draw[step=1,lightgray] (0,0) grid (image.north east);
   %\draw[step=10,gray] (0,0) grid (image.north east);
   \markUpBox{0.5cm, 0.7cm}{2.2cm,5.7cm}{A};
   \markUpBox{8.0cm, 0.7cm}{9.7cm,5.7cm}{B};
   \markUpBox{2.5cm, 0.7cm}{7.5cm,5.7cm}{C};

以下のような画像が得られる。

../../../_images/tikz-154c9b51dff795c46e2a026b368c763aee590d84.png

感想

目的も果たせた。簡潔な表記も可能になった。conf.pyの表記が煩雑になるのは気にくわないが、許容範囲に収まった。

プロジェクトファイル