読者です 読者をやめる 読者になる 読者になる

TeX Alchemist Online

TeX を使って化学のお仕事をしています。

TikZによる丸底フラスコジェネレータ

TikZ TeX 化学

TeX + TikZ で,下図のような丸底フラスコの絵を生成するジェネレータを作ってみました。

  • 首の幅
  • 首の高さ
  • 胴の幅
  • 胴の高さ

を数値で指定すると,それらしい丸底フラスコの図を生成します。

\def\neckWidth{4}   %%% 首の幅
\def\neckHeight{25} %%% 首の高さ
\def\bodyWidth{19}  %%% 胴の幅
\def\bodyHeight{40} %%% 胴の高さ

\begin{tikzpicture}[x=.8pt,y=.8pt]
  \draw (\neckWidth,0) -- (\neckWidth,\neckHeight);
  \draw (-\neckWidth,0) -- (-\neckWidth,\neckHeight);
  \draw (0,\neckHeight) ellipse ({\neckWidth} and 2);
  \draw (-\neckWidth,0) 
        .. controls (-\neckWidth,-6) and +(1,\bodyHeight/3)
        .. (-\bodyWidth,-\bodyHeight/2) 
        .. controls +(0,-\bodyHeight/5) and +(-\bodyWidth+4,0)
        .. (0,-\bodyHeight);
  \draw (\neckWidth,0) 
        .. controls (\neckWidth,-6) and +(-1,\bodyHeight/3)
        .. (\bodyWidth,-\bodyHeight/2) 
        .. controls +(0,-\bodyHeight/5) and +(\bodyWidth-4,0)
        .. (0,-\bodyHeight);
\end{tikzpicture}

動いている様子(Overleaf)