tikzのcalcを使って帯グラフの帯の幅を計算してみた

前の記事で書いたtikzで描いた帯グラフを、calcを使って書き換えてみた。帯の真ん中に入る線をcalcで計算してみた。

f:id:baruku07:20180208003936p:plain

\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
{
\def\hakotakasa{2}
\def\hakohaba{10}
\def\wariai{0.55}
\draw (0,0) rectangle (\hakohaba , \hakotakasa );
%%真ん中の線。calcで計算した。
\draw (0,0) rectangle ($\wariai*(\hakohaba,0) + (0,\hakotakasa)$);
}
\end{tikzpicture}
\end{document}
  • \defを使った変数定義は、{}で閉じておくとスコープを絞れるらしいので、{}をつけた(本当にそうなってるから検証してない)
  • calcはベクトル計算をするためのものらしいので、それに合わせるために回りくどい式で計算をしている。
  • 計算した結果の外側の()がないとエラーがでる。この()は必須みたい。
  • 文字を入れる位置の計算も原理的にはできるはず。それはまた追記か後日で。ここには使っていないが、内分の計算を簡単に書ける機能が使えそうという実感がある。