【SPONSORED LINK】

LaTeXで図を直接描けるTikZの使い方1|基本的な描線

  
   

LaTeXで図を扱いたいとき,もともと画像ファイルを作っておいて,それを挿入表示させる方法がある.

しかし,図とLaTeXの文字のバランスの調整が難しかったり,図の挿入が綺麗に挿入できないことも少なくない.

そこで,本稿ではTeXファイルに直接記述することで図を描くことができるパッケージのTikzのLaTeXでの使い方を紹介する.

TikZを使えば,直線,曲線,グラフも直接描くことができ,非常に便利である.

【SPONSORED LINK】

TikZの準備

TikZはパッケージなので,次の準備が必要である.

  1. TikZパッケージをインストール
  2. プリアンブルにTikZパッケージを使う宣言をする

TikZパッケージはLaTeXの環境を整えた時点で元から準備されていることが多いので,実際に簡単なコードでTikZを動かしてみて動かないときにインストールされてない可能性を疑えばよいと思う.

そのため,TikZパッケージのインストールは省略する.

もしTikZが準備されていなさそうであれば,「TikZ ダウンロード」などと検索して,TikZパッケージをダウンロードし,適切な場所に配置すればよい.

TikZパッケージの宣言

LaTeXのパッケージを知っている人なら,パッケージを使用するためにはプリアンブル(\documentclassと\begin{document}の間)でパッケージを使う宣言が必要であることは基本的であろう.

TikZパッケージも例外ではない.

まずは,あえて何も説明せず使える状態にしよう.

.texファイルに以下のように

と記述する.これだけで既にTikZを使える状態になっている.

簡単な説明

ここでは,プリアンブルの

の部分の説明をするが,「とりあえず使いたいんや!」という方は飛ばしても構わない.

ドライバの宣言

冒頭の

であるが,これは「”dvipdfmx”というドライバを使い,和文(jsarticle)で作成する」という宣言である.

ドライバは.texファイルをコンパイルしたときにTikZの図を表示するために必要なものであるが,詳しい説明はここではしない.ひとまずはTikZの図を表示させるために,なんらかのドライバが必要だという認識でよい.

また,jsarticleに関してはTikZに対して,本質的に関わってくるものではないので説明は省略する.

パッケージの宣言

核となるのは

である.

これは「”tikz”というパッケージを使う」という宣言である.

正確には”tikz.sty”というスタイルファイルは存在せず,いくつかのスタイルファイルの集合体をTikZと呼んでいる.そして,これら”TikZ”にまつわるいくつかのスタイルファイルを”\usepackage{tikz}”で一斉に呼び出している.

詳しい説明は省略するが,このパッケージにTikZを使うための基本的な道具が詰まっている.

ライブラリの宣言

ライブラリはTikZの機能を拡張させるものである.

「”intersections”と”calc”と”arrows”のライブラリを使う」という宣言になっている.

TikZ単体では,線の交点を求めたり,内分点を求めるなどの座標の計算ができない.そこで

  • “intersections”を使えば,線の交点を求められるようになる
  • “calc”を使えば,座標計算ができるようになる

というように,ライブラリにより機能を拡張することができる.

他にもいくつかライブラリは存在するが,ひとまずこの2つのライブラリだけでもTikZの利便性が大きく向上する.

線分を描く

準備が終わったので,ここからは具体的にTikZを使っていく.

ここでは,まずは最も基本的な「線分の描き方」を説明する.

なお,以下は全て\begin{document}と\end{document}の間に記述する.

単純な線分,折れ線

まずは次のように記述する.

最後のセミコロン(“;”)は必ず必要なので,忘れないように注意する.

これをコンパイルすると以下のように表示される.

Rendered by QuickLaTeX.com

結論から言えば,これは「直交座標上で点(0,0)と点(2,1)を結んで(“–“)描け(“\draw”)」という命令になっている.

このように,座標と座標を2個の半角ダッシュ”-“で結べば,この2点間を結ぶ線分が描画できる.

また,描画は相対位置で描画されるので,上のものの全ての第1成分に5を加えて

と記述しても上と同じく

Rendered by QuickLaTeX.com

と表示される.

線分を順次つなげていくこともできる.

と記述し,コンパイルすると以下のように表示される.

Rendered by QuickLaTeX.com

閉じた線

閉じた線を記述することもできる.

と最後に”cycle”を記述すれば,

Rendered by QuickLaTeX.com

と閉じた線となる.

ここで,「”cycle”を使わなくても, \tikz \draw (0,0)--(2,1)--(3,-1)--(0,0); とすれば良いのではないか」という疑問が湧く.

しかし,実はこの記述と上の”cycle”を使った閉じた線は,微妙に異なった線を描く.

違いを分かりやすくするため,両者を極太の線分

で描いてみると,それぞれ以下のようになる.

Rendered by QuickLaTeX.com

Rendered by QuickLaTeX.com

両者の三角形の左の頂点に注目すると,前者はとんがっているが後者はとんがっていない.拡大してみるとよく分かる.

このように,“cycle”を使わないと「2つの端点が集まっているだけ」の不恰好な頂点となってしまう.

長方形

指定した2点を対角線とする長方形を描くことができる.

と2点で”rectangle”を挟んで記述すれば,

Rendered by QuickLaTeX.com

2点(0,0)(2,3)を結んだ線分を対角線とする長方形となる.

複数の描画をする

1行で図の記述が終わる場合には,”\tikz”を前に書くことで描画できるが,複数行の命令が必要な場合にはこの記述ではうまく動かない.

1つの図の中に複数行の命令で描画したい場合には,”\tikz”を前に書く代わりに,

とすれば,

Rendered by QuickLaTeX.com

と表示される.

このように,複数行の記述が必要な場合には,

の形で記述すれば良い.

図に文字を書き込む方法

以下のように“node”を用いれば,図中に文字を書き込むことができる.

表示は以下のようになる.

Rendered by QuickLaTeX.com

しかし,これでは図と文字が被って美しくないが,これを文字の位置をズラすことで解決できる.

具体的には,

とすれば,

Rendered by QuickLaTeX.com

と表示される.すなわち,

と書くことによって,「点(a,b)の[上下左右]に{文字}を書け」という命令になる.

[上下左右]には

  • above(上)
  • below(下)
  • left(左)
  • right(右)

と,これらを組み合わせた

  • above right(右上)
  • above left(左上)
  • below right(右下)
  • below left(左下)

の全8方向を指定できる.

なお,実は”node”は

ように,折れ線の記述の中でも正しく機能し,上と同じ図が描ける.

曲線の描き方

次に,曲線の描き方を説明する.

円の描き方

曲線の中でも円を描く機会は多いであろう.例えば,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.すなわち,(a,b)中心,半径rの円は

と記述することにより描くことができる.

楕円の描き方

例えば,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.

すなわち,(a,b)中心,第1成分の径の長さがp,第2成分の径の長さがqの楕円をt^\circ傾けた図形

と記述することにより描くことができる.

始点と終点への向きを指定する方法1

例えば,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.

すなわち,(a,b)から偏角tの方向へ出て,点(p,q)へ偏角sの方向から入る曲線

と記述することにより描くことができる.

始点と終点への向きを指定する方法2

今の図の曲線を45^\circ回転させようと,終点(4,0)を単に(2\sqrt{2},2\sqrt{2})に移して

と記述した場合,

Rendered by QuickLaTeX.com

と表示される.

to [out=45,in=135] で指定している45^\circ135^\circはあくまで右方向からの偏角なので,単に終点の位置を移動させても図形自体は回転しない.そこで,

曲線のオプションに”relative”を記述することで,この2点を基準の軸とした偏角で表すことができる.これにより,

Rendered by QuickLaTeX.com

と表示される.

すなわち,(a,b)から点(p,q)の向きを基準として,点(a,b)から偏角t^{\circ}の方向へ出て,点(p,q)へ偏角s^{\circ}の方向から入る曲線

と記述することにより描くことができる.

もっとも回転させるだけなら,

という回転のオプション [rotate=角度] を”\draw”の直後に記述すれば,

Rendered by QuickLaTeX.com

となる.

次の記事【LaTeXで図を直接描けるTikZの使い方2|線のスタイル】では,線のスタイル(太さ,デザインなど)を変える方法を説明する.

参考文献

以下はLaTeXに関しての参考文献である.

LaTeX2e美文書作成入門 改訂第7版 (奥村晴彦 著/技術評論社)

著者の奥村氏は日本におけるTeXの第一人者であり,本書はLaTeX初心者から中級者まで幅広い層に役立つLaTeXの教科書である.

非常に詳しく解説が載っており,しっかり理解して習得することができる.

本書にはDVD-ROMが付属しており,LaTeXのインストール用がすぐにできるので,LaTeXをはじめる人が苦戦しがちな環境整備がすぐにできる.

ただし,本稿の内容のTikZについての記述はないので注意.

関連記事

【良いと思ったらシェアを!】

コメント

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください