日本数式処理学会合同分科会発表準備

#この頁について

2016年1月23日(土)に開催される
「[2015年度日本数式処理学会合同分科会](http://www.jssac.org/Joint/Conf/joint2015.html)」
にて Ti<i>k</i>Z に関する講演をさせていただけることになりました。
⇒終了しました。御清聴ありがとうございました。

この頁は講演の準備用に作ってみました。
講演はおかげさまで終了致しましたが，
この頁の内容はまだ不完全であることを御了承下さい。


#演題と講演の意図

<dl>
 <dt>演題</dt>
 <dd>
  数学的対象の表現手段としてのTi<i>k</i>Zにようこそ
  <br>
  Welcome to Ti<i>k</i>Z,
  a remarkable method to represent mathematical objects.
 </dd>
 <dt>講演の意図</dt>
 <dd>
  数学的対象を出力する手段としてのTi<i>k</i>Zの紹介
 </dd>
 <dt>想定する聴衆</dt>
 <dd>
  LaTeX はある程度扱える
  （『数式処理』への投稿は LaTeX！）
  <br>
  しかし，Ti<i>k</i>Z は使ったことがない。
 </dd>
</dl>

<!-- 
  「 TikZ でこんなことができますか？」という問いに
  橋本が「わからない」と答えたからといって，
  「だから TikZ は駄目だ」などという議論はおかしい。
  「橋本の TikZ 運用能力が低い」というのであれば
  まだ分からなくもないが。
 -->


#前口上

- Ti<i>k</i>Z は「てぃくつ」と読むのが妥当ではないか。
- Ti<i>k</i>Z ist <i>kein</i> Zeichenprogramm.
(Ti<i>k</i>Z is not a drawing program.)
- “Zeichenほにゃらら” はドイツ語で “製図ほにゃらら”。
- というわけで，ひとまず，Ti<i>k</i>Z は描画と関係があると思っていただいてよい。
- <a href="http://tex.stackexchange.com/"
     target="_blank">TeX - LaTeX Stack Exchange</a> での
  <a href="http://tex.stackexchange.com/tags?tab=popular"
     target="_blank">Popular なタグ</a>を見てみると，
  {tikz-pgf}がタグ付けされている質問数が断トツ。
- ということは，TeX ユーザにとって注目に値すべきものと思われる。
- 本講演では，数学的対象の表現手段という観点から Ti<i>k</i>Z を紹介する。


#具体例による Ti<i>k</i>Z の紹介

[TikZの導入と木構造](http://qiita.com/ryutaatkagawanct/private/3415fd5fa6bec535e8da)


#改めて，Ti<i>k</i>Z とは

- Ti<i>k</i>Z ist <i>kein</i> Zeichenprogramm.
<br>正式な読み方は決まっていないようであるが，「てぃくつ」が妥当であろう。
- "A Language for Creating Graphics the TeX Way"（[GTEM 2008](http://www.math.u-bordeaux.fr/gtem2008/)での講演の副題）。TeX への挿図のためのパッケージ
- 実は，挿図のためのパッケージという捉え方は Ti<i>k</i>z の過小評価かも。
- [TeXlive](https://www.tug.org/texlive/)，[W32TeX](http://w32tex.org/index-ja.html) や [MikTeX](http://miktex.org/) にはもれなく付いてくる。
- 欧州での利用は相当なものらしい。
  <br>
  <a href="http://tex.stackexchange.com/"
     target="_blank">TeX - LaTeX Stack Exchange</a> での
  <a href="http://tex.stackexchange.com/tags?tab=popular"
     target="_blank">Popular なタグ</a>を見てみると，
  {tikz-pgf}がタグ付けされている質問数が断トツ。
  <br>
  （講演時にリアルタイムで見ていただいた）


#TeX 文書への挿図

TeX 文書への挿図の手段はいろいろあるが，今回の講演では触れない。
（講演時間が短いなどの理由により）


#Ti<i>k</i>Z の歴史，開発状況

<!-- 歴史に関する言及も今回の講演では止めておこう。<br> -->
[DANTE 2015](http://www.dante.de/events/dante2015.html) における [Tantau 氏の講演（の pdf スライド）](http://www.dante.de/events/dante2015/Programm/vortraege/vortrag-tantau.pdf) が興味深い。

- PGF stands for Portable Graphics Format
- 2003年8月21日に Ver. 0.30 がリリース。
- Ti<i>k</i>Z は PGF のフロントエンド。
  2005年6月12日リリースの Ver. 0.95 でお目見え。
- 最初の安定版 Version 1.00 は2005年10月23日にリリース。
- 最新安定版は2013年12月20日リリースの Version 3.0.0
- 「美文書作成」で初めて採り上げられたのは2013年10月発行の最新第6版。


#Ti<i>k</i>Z の売り（橋本の独断による）
<!--
これも時間が足りなさそうだから，講演では触れずにここであげるに留める。
いや，やはり簡単に触れておく方が良いかなあ。
 -->
- ソースの可読性の高さ
- オプション指定方法の妙
- ソースの書き方の許容性の広さ
  <br>
  Perl のモットー
  “There's more than one way to do it”
  が思い出されてしまうような…。
- 拡張性の高さ
<ul>
 <li>Ti<i>k</i>Z を拡張するパッケージ</li>
 <li>Ti<i>k</i>Z を活用したパッケージ</li>
</ul>
- 修正の容易さ

#情報の入手先

- 開発元の電網頁
- ウェブ上には関連頁がたくさん
- 日本語の関連頁も増えてきた。中でも [TeX Wiki の頁](https://texwiki.texjp.org/?TikZ) が秀逸。


#Ti<i>k</i>Z の利用例

今回は Windows 7 上に
abenori さん開発のインストーラでインストールした
w32tex 上でのデモを披露する。

- 関数のグラフ描画は pgfplots パッケージが強力だが，
  今回は紹介しない。


##pLaTeX + dvipdfmx での利用

```latex:sample0.tex
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
\draw node {1};
\end{tikzpicture}

\end{document}
```

##数学的対象って，たとえば？

- 初等幾何の図
- 関数のグラフ，媒介変数表示された曲線
- グラフ理論のグラフ
- 木構造
- 可換図式

##初等幾何の例

[チェバの定理の図](http://qiita.com/ryutaatkagawanct/private/6562cfb5c6ceced10091)（ Beamer の利用例のおまけつき）

##関数のグラフを描く

[サイクロイドの描画](http://qiita.com/ryutaatkagawanct/private/5669385647c84da8b09d)


##グラフを描く

[数式の木構造](http://qiita.com/ryutaatkagawanct/private/983b35b55bfd68fcdd6f)

Hasse diagram のようなやつを描く？⇒今回は省略

LuaTeX の利用例は紹介したい気がする。でも，時間的に厳しい？


##beamer 内での利用

platex+dvipdfmx での利用を想定。

```latex:sample_beamer.tex
\documentclass[dvipdfmx]{beamer}
\usepackage{pxjahyper}% <= 日本語を扱うときにはつけておく。
\usepackage{tikz}
\usetikzlibrary{calc}

% 数式のフォントが気になる場合は次の行が有効かも。
\usefonttheme{professionalfonts}


\begin{document}

\begin{frame}
\begin{tikzpicture}
\draw node {1};
\end{tikzpicture}
\end{frame}

\end{document}
```


#参考文献，リンク

- [PGF/TikZ on sourceforge](http://pgf.sourceforge.net/)
  （開発元，開発版提供元）
- [PGF and TikZ -- Graphic systems for TeX](http://sourceforge.net/projects/pgf/)
  （安定版提供元）
- [Package pgf at CTAN](http://www.ctan.org/pkg/pgf/)
- [TikZ at TeX Wiki](http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TikZ)
  (Site admin: 奥村晴彦)
- [りゅうたの覚え書き：PGF and TikZ](http://www.dg.kagawa-nct.ac.jp/~hasimoto/texmf/pgftikz/)
- [Algorithmic Graph Drawing in TikZ](https://archive.fosdem.org/2015/schedule/event/algorithmic_graph_drawing_in_tikz/)
  Talk by Till Tantau at FOSDEM 2015
- Slides of Tantau' talk at GTEM Midterm Meeting 2008:
<br> [Lecture I: An Overview of TikZ](http://www.math.u-bordeaux.fr/gtem2008/TikZ/main.pdf),
<br> [Lecture II: Creating a Graphic from Scratch](http://www.math.u-bordeaux.fr/gtem2008/TikZ/figs.pdf)


##ギャラリー

- [TikZ and PGF examples](http://www.texample.net/tikz/examples/)
  (TeXample.net)