【推しの雑談2】Tikzで図を描いてみた【LATEX】
お久しぶりです
最近は積分に偏り切れない自分の甘さに辟易しております。
ブログのタイトルも変えようかな、そのほうが自由に投稿できますしね、、、
ということで(?)今回はこのブログでもお世話になっておりますLATEXでございます。
正しくはそのパッケージのTikzちゃんで図を描画する方法、は難しいので、サンプルを置いときたいと思います。
こういうのはQiitaに投稿すべきなのでしょうが、正直正確に記述できる自信がないのではてなブログで甘んじていおきます。
Tikzとは
"TikZ and PGF are TeX packages for creating graphics programmatically. TikZ is build on top of PGF and allows you to create sophisticated graphics in a rather intuitive and easy manner."
という記述がありました。
要は、「Texファイル中にプログラムを組んで描画をするための環境を提供するパッケージで、PGF(描画エンジン)のフロントエンドとしグラフを直感的に簡単に書くことができます」的なことです。
ガウス積分のところで、複素積分の経路を画像で載せていますが、あれはTikzで作成したものです。
その記事はこちら。
intvoyager.hatenadiary.jp
サンプル
今回はマイスナー効果を説明するための図をTikzで描画したので、それをこちらにサンプルとして皆さんにお見せしたいと思います。
まずはコードをご覧ください。
\documentclass[dvipdfmx,uplatex]{jsarticle}% 適切なドライバ指定が必要
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}\draw [black,thick] (0,0) circle [x radius=0.9, y radius=0.9];
\fill [gray!90] (0,0) circle [x radius=0.9, y radius=0.9];
\draw[semithick] (-2,-1.4) -- (2,-1.4);
\draw[semithick] (-2,-1) -- (2,-1);
\draw[semithick] (-2,-0.6) -- (2,-0.6);
\draw[semithick] (-2,-0.2) -- (2,-0.2);
\draw[semithick] (-2,0.2) -- (2,0.2);
\draw[semithick] (-2,0.6) -- (2,0.6);
\draw[semithick] (-2,1) -- (2,1);
\draw[semithick] (-2,1.4) -- (2,1.4);\draw [->, ultra thick] (3,0) -- (4,0) ;
\draw [black,thick] (7,0) circle [x radius=0.9, y radius=0.9];
\fill [gray!90] (7,0) circle [x radius=0.9, y radius=0.9];
\draw[semithick] (5,-1.4) -- (9,-1.4);
\draw[semithick][domain=5:9] plot (\x,{0.9*exp(-(\x-7)^2)+0.2}) ;
\draw[semithick][domain=5:9] plot (\x,{-0.9*exp(-(\x-7)^2)-0.2}) ;
\draw[semithick][domain=5:9] plot (\x,{0.55*exp(-(\x-7)^2)+0.6}) ;
\draw[semithick][domain=5:9] plot (\x,{-0.55*exp(-(\x-7)^2)-0.6}) ;
\draw[semithick][domain=5:9] plot (\x,{0.24*exp(-(\x-7)^2)+1}) ;
\draw[semithick][domain=5:9] plot (\x,{-0.24*exp(-(\x-7)^2)-1}) ;\draw[semithick] (5,1.4) -- (9,1.4);
\end{tikzpicture}
\end{document}
これで描画される図が以下の通りです。
ガウス関数で無理やり磁束線のゆがみを表現していますが、少し苦しいかもしれません。
まぁ何にせよ、これくらいの図が作れれば私は満足です:)
大学に提出するレポート中に忍ばせてあるので、これが見つかったらちょっとめんどくさいことになるかもしれません(笑)