アフィリエイト広告を利用しています

2017年04月30日

数学: 図式を描くための TeX マクロ ── diagxy

数学の勉強で LaTeX を使っている. 圏論の本を読んでいるので図式を描くことが頻繁にある.
自分はこのために XY-pic というグラフィックスパッケージを使っている. これ自体で図式は描けるのだが複雑なので, 図式を描くことに特化した xymatrix という XY-pic のマクロパッケージがある.
xymatrix パッケージは習得も早く使いやすいので現在でも使っている.
\begin{equation*}
\begin{xy}
\xymatrix@=48pt {
X \ar[r]^{h} \ar[d]_{f} & X' \ar[d]^{g} \\
Y \ar[r]_{k} & Y'
}
\end{xy}
\end{equation*}
のような図式を描くには大雑把には


\xymatrix {
X \ar[r]^{h} \ar[d]_{f} & X' \ar[d]^{g} \\
Y \ar[r]_{k} & Y'
}


のように記述すればよい.

しかしちょっと前から xymatrix の代わりに diagxy というパッケージを使い始めた. diagxy パッケージも XY-pic のマクロパッケージだが, 図式の形, 矢印の形状や記号の配置などの自由度が高い. そのために凝った図式を描く場合に利点がある.

実際に使い始めてみるとなかなか複雑で, 正直うんざりしてきていたのだが今日わかったことがある.
実は diagxy というのは射にあたる矢印を描く


\morphism(x,y)|p|/{sh}/<dx,dy>[N`N;L]


という命令だけ使いこなせば良い.
ここで $(x,y)$ は矢印の始点で, 終点は $(x+dx,y+dy)$ で与えられる.
$|p|$ は射のどの位置に記号 ($f$ とか $g$ とか) を配置するかを指定する ($a$: 射の上; $b$: 射の下; $l$: 射の左; $r$: 射の右; $m$: 射の真ん中).
$/\{sh\}/$ は射の形状を指定する. たとえば $\to$ のような形状は $/>/$ で指定できる.
$[N`N;L]$ は射のソースとターゲット, それから射の名前を指定する.
だから
\begin{equation*}
\begin{xy}
\xymatrix@=48pt {
X \ar[r]^{f} & Y
}
\end{xy}
\end{equation*}
というような射は


\morphism(0,0)|a|/>/<700,0>[X`Y;f]


のように記述すれば描ける.
他の命令はすべて \morphism 命令を組み合わせて名前を付けて作られている.
こう考えると楽だ. 全体の見通しがよくなる.

時間は非常にかかったがやっと一歩進む. いつものことだがとにかく時間がかかるのだ.
posted by 底彦 at 21:09 | Comment(0) | TrackBack(0) | 数学
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

この記事へのトラックバックURL
https://fanblogs.jp/tb/6220790

この記事へのトラックバック
ファン
検索
<< 2024年11月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(44)
コンピューター(211)
(1441)
借金(8)
勉強(13)
(13)
数学(97)
運動(8)
日常生活(1403)
(204)
健康(38)
読書(21)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村