基礎としている描画エンジンもPGFです。連携させて描画させることもできます。文書中に描画コマンドを直接書き込むものですが、かなり高度な描画機能を持っています。(→図版の例は[[こちら:http://www.texample.net/tikz/]]を参照。利用し、拡張するパッケージも数多く作られています。tkz-euclideなど。場合について記述します。[#e634a5d8]dviwareの指定をしてから、tikzパッケージを読み込みます。graphicxパッケージのオプションがPGFに自動的に適用されます(pgf自身、graphicxを読み込みます)。下は、dvipdfmxを使用する場合の設定です。\usepackage{tikz}%(これで、pgfとpgfforが読み込まれます。)PGFはデフォルトではdvipsを使用する設定になっていますが、dvipdfm(x)、pdftexなどもサポートされています。~graphicxを使用しない場合は、以下のいずれかをtikz(またはpgf)パッケージを読み込む前に記述します。\def\pgfsysdriver{pgfsys-pdftex.def}%最も高機能その他の出力形式については、付属のマニュアルを参照してください。2.10)が付属し、その前半には70ページにも及ぶチュートリアルがあるので、学習を始めるのは比較的容易です。ところが、示されているコードには必要なライブラリの読み込み指示が徹底されていないなどの不備があり、マニュアルにある例をコピー&ペーストしてもエラーが出て動作しないことがあります。ライブラリ」について言及されているものの、例にはその設定が記述されていないため、そのままではエラーが出ます。\usetikzlibrary{intersections}と設定しておく必要があります。初期設定ではexamplefillという色は定義されていません。マニュアルの例をそのまま写して試したい場合は、以下をプリアンブルにあらかじめ定義しておいた方がよいでしょう。\colorlet{examplefill}{yellow!80!black}(プリアンブルでも本文の中でも環境中でもかまいません)仕様の改訂とともにマニュアルはアップデートされていますが、前半のチュートリアルなどには以前の仕様の書式が用いられていることがあります。(たとえば円を描く書式。1行コマンド;とします。コマンドの終了は「;」(セミコロン)です。\end{tikzpicture}とします。各コマンドは「;」(セミコロン)で終了します。初期設定の段階でも高い描画力がありますが、付属のライブラリを読み込むことでさらに多彩な表現力を得ます。calc}などとします。[#s90394a7]pgfパッケージは内部で[[xcolor:http://www.ring.gr.jp/pub/text/CTAN/help/Catalogue/entries/xcolor.html]]パッケージを読み込みますので、以下の色名が使用可能です。red、green、blue、cyan、magenta、yellow、black、gray、white、darkgray、lightgray、brown、lime、olive、orange、pink、purple、teal、violetPGF/TikZでの色指定は基本的にxcolorの形式を踏襲しますので、色指定の際に複数の色をブレンドしたものを使用することができます。gray」の意味します。ブレンドと解釈されます。3色以上のブレンドも可能です。新しい色を新規に定義するときは、以下の書式で定義します。(pgfとは独立したxcolorパッケージに基づくので、tikzpicture環境以外でも使用可能です。オプションを用いると使える色名が68色増えます。(svgnamesオプションを用いると色名が151色、x11namesを用いると色名が317色増えます。詳細はxcolorのマニュアルを参照してください。)このオプションを使用したい場合は、xcolorパッケージをオプションつきで読み込むか、あるいはプリアンブルに以下を記述します。\PassOptionsToPackage{dvipsnames}{xcolor}%tikzパッケージよりも前に読み込みます。\end{document}なお、長さの基本単位はデフォルトでは「cm」と見なされます。[#vc8500e0]同じオプションを繰り返し用いたい場合、自分でスタイルを定義することができます。globalに用いたい場合は、プリアンブルでスタイル名を定義します。.style={各種オプションの設定}}環境の中でのみ用いる場合は、環境の冒頭で以下のように定義します。]の中で、各スタイルを「,」(コンマ)で区切って定義します。デフォルト値を設定した上で、パラメーターを用いてその都度変えられるようにも設定できます。[#m96085cf]点(ノード)に名前を付け、ラベルを設定することができます。それにラベルを設定します。設定するラベルは、オプションで「少しずらす」ことができます。使用可能で、below=2mmなどと細かく指定することもできます。それ自体に大きさがあり、形も指定できます。別の場所を指すことになります。(Qの座標))で示されます。(Qの座標))となります。[#a5e018c3]intersectionsライブラリを読み込んでおく必要があります。\usetikzlibrary{intersections}とします。○○}]で交点を設定します。とリストを与えて設定することもできます。(交点の総数はオプションで得られるので、後述のforeachと組み合わせて全交点にそれぞれラベルを付けることもできます。)以下の1つ目の例では、やや傾いた長方形(rectangle)と楕円(ellipse)の交点が半透明な赤い点で示されます。名前を付けて、ラベルを付けてます。ライブラリを読み込むことで、簡単な座標計算ができます。+座標の四則演算~座標をk倍したり、x座標、y座標に増減を加えることができます。内分した点の座標は以下のようになります。($(Aの座標)!t!(Bの座標)$)tに負の数字または1より大きい数字を指定することも可能で、このときは外分点になります。内分した点の座標は、以下で求められます。指定すれば、Aを通りABに垂直な線上の点を指定することになります。点の座標は以下の計算で求まります。回転させたときも同様で、線分ABをAの周りにα°回転させ、Aからの距離が1cmの点の座標は以下のようになります。($(Aの座標)!1cm!α:(Bの座標)$)+線分に垂線を下ろす~点Pから線分ABに垂線を下ろした足の座標は、以下のようになります。($(Aの座標)!(Pの座標)!(Bの座標)$)+計算で求めた座標に、さらに計算を続けることができます。~たとえば、線分ABの中点から垂直に1cm離れた点は以下の計算で求まります。($(Aの座標)!.5!(Bの座標)!1cm!90:(B)$)三角形の重心と垂心を求める例。[#c9ba66a8]veclen(x,y)によってベクトル(x,y)の大きさが求められます。「=」の左側に置くとそのレジスタに数値または座標が代入されます。「=」の右側に置かれたレジスタは、その中身が展開されます。(レジスタを含んだ)コマンドこれらを利用すると、点Aを中心として点Bを通る円は、以下のように書けます。ライブラリを\usetikzlibrary{through}で読み込んであれば、上のような円はもっと簡単に書けます。~(円形のノードの半径を拡大して望む点の座標を通るように設定します。{};三角形の外心と内心を求める例。[#a177336d]繰り返し処理は、\foreachおよび\breakforeachで実行します。パッケージの中で定義されているもので、pgfとは独立に用いることもできます。(つまりtikzpicture環境以外でも使用可能です。)繰り返し処理の書式は、以下のようになります。各要素が順繰りに代入されたコマンドが実行されます。ような文字列を使用することもできます。(日本語も使用可能)-「変域リスト」はコンマ区切りの数字または文字列です。(日本語も使用可能)たとえば、左の式は右のような結果となります。→(出力)太郎さん,次郎さん,花子さん,桜子さん,-「変数リスト」中の規則的な数字列やアルファベット列は、リストの途中を「,...,」とすることで「良きに計らって」埋めてもらうこともできます。花火を打ち上げる方法を教えてください。macros:http://softcream.oka-pu.ac.jp/tex-macros/]]--TikZ/PGFを利用して、構文解析器のXML出力から構文木を自動描画したり、2変数2次関数の等高線を描画するマクロなど。