コメントフォーム(承認式)

ホーム
プロフィール
製作物
前の記事
【数学PDF】ベルヌーイ数
次の記事
FFTの基礎
投稿日時:2020/02/03 00:16、最終更新日時:2020/02/03 00:16

TeXによる図の作成

タグ:
TeX
PDF
SVG
メモ
  • pocket
  • はてなブックマーク

はじめに

 TeXを用いて図を作成する際、例えば予め以前紹介したKeTCindyやTikZ用いてPDFを作成して、それをTeX文書等に貼り付けることもあるだろう。さらに、それをホームページに挿入する画像として用いたいだろう。そのためにはSVGに変換をする必要がある。よく、Web上にPDFからSVGに変換をするツールが存在するが、バグが存在する場合がほとんどであるため、あまりおすすめはしない。

 本音としては、MathJaxやKaTeXではxymatrixが用いることができないため、それに応じた図をSVGで欲しくなっただけである。

本題

 まずは、TeX文書のテンプレートを示す。

\documentclass[dvipdfmx]{standalone}
\usepackage[all]{xy}
\begin{document}

$$
\xymatrix{
A \ar@(u,l)[]_{{\rm id}_{A}=f^{-1}\circ f} \ar[rr]^{h} \ar[rd]_{f} & & C \\
& B \ar[ru]_{g} &
}
$$

\end{document}

 ポイントとしては\documentclass[dvipdfmx]{standalone}の指定である。ドライバにdvipdfmxを指定することにより、正しく斜め線などを描画することができる。ない場合はジャギーのようなものが見えることになるだろう。クラスにstandaloneを指定することにより、TeXにより描画される最小の領域で出力される。

 まずは、PDFを出力する。

pdflatex picture.tex

 PDFを目的となる画像フォーマットであるSVGに変換することとなるが、以下のホームページで解説されているpdftocairoを用いると非常に便利である。

Poppler:pdftocairo の使い方 | PDF

 私はこれをはじめて知ったとき感動さえ覚えたため、これを知る切欠となった上記サイトの管理人には敬意を示したい。

 さて、今回はSVGで出力するため、以下のコマンドで出力できる。

pdftocairo -svg picture.pdf

 これにより生成された図が以下である。

SVG画像

 今回はこれで以上である。

おわりに

 そもそもMathJaxやKaTeXでKeTCindyやxymatrix等が利用できればいいというのも1つの考えではあるが、DOMサイズが非常に大きくなるため、できることならばあまり使いたくはない。XyJaxを用いればxymatrixを利用することができるようであるが、それをするくらいならばSVG画像を自前で用意して張り付けたほうがいいだろう。


前の記事
【数学PDF】ベルヌーイ数
次の記事
FFTの基礎

コメント欄(詳細な記述方法についてはこちら)

まだコメントの投稿はありません