fc2ブログ

天地有情

[LaTeX] svg --- LaTeX文書にSVG画像を含める方法

§1 はじめに

svg は "Scalable Vector Graphics" (ベクトル画像)の略称です.
LaTeX標準の \includegraphics では取り込むことができません.

svgパッケージには,svgとsvg-extractの2つのパッケージがバンドルされており,
このうち,svgパッケージは,SVG画像をLaTeX文書に自動統合するためのパッケージです.
自動統合には,Inkscape のインストールが必要です.このため,
インストールパスをオペレーティングシステムに知らせなければなりません.

Inkscape は, https://inkscape.org/en/release/0.91/platforms/ からダウンロードできます.
必ず,PATH を追加設定してください.さらに,コマンドラインで inkscape -V とし,バージョン
を確認してください.こちらでは,Inkscape 0.92.1 r15371 と表示されました.
(Inkscape --help でコマンドオプションが表示されます)

Inkscapeは,グラフィカルユーザーインターフェイスを使用して,SVG画像内のテキストを
別のファイルにエクスポートし,LaTeXによってレンダリングされます.

この目的のために,\includesvgと\includeinkscapeという2つのコマンドが提供されています.
これはgraphicxパッケージの\includegraphicsコマンドに類似しています.

svg-extractパッケージは,これらのグラフィックスを異なるグラフィックフォーマットの
独立したファイルに抽出することを可能にします.


1.1 インストール

必要に応じて,CTAN( https://ctan.org/pkg/svg )から
ダウンロードしてください.

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc svg を実行するか,
上記に同梱の svg.pdf をお読み下さい.

また,詳細については,CTAN( http://www.ctan.org/pkg/svg-inkscape )のsvg-inkscapeのドキュメントも
参照してください.(これには古い情報が含まれており,Enhance されたものが svg.sty です)

§2 使い方

2.1プリアンブルに
  \usepackage {svg}
  を記述します.

2.2 コマンド

主なコマンドは,次の2つです.
● \includesvg [<parameters>] {<svg filename>}
● \includeinkscape [<parameters>] {<graphic filename>}
   {<graphic filename>} 有効なファイル拡張子は(.pdf / .eps / .ps / .png)

(注)オプションやパラメータが多数あります.マニュアルで確認してください.


§3 サンプル

留意事項:
● コンパイルは pdflatex で行い,\includesvg を使った場合には --shell-escape を付けてください.
● クラスファイルは欧文クラスを利用します.日本語には対応していません.
● Inkscape への PATH を追加してください.




3.1 \includesvg コマンドを使う

(1)Inkscape で SVG画像を作成する.

   ユーザ側で作成しますが,ここでは texmf-dist/doc/latex/svg/examples/
   にある以下のような svg-example.svg を利用します.

svg-exmple01.png



Inkscapeを使うと,LaTeXがテキストをタイプセットするドキュメントにSVGを含めることができ,
● 画像内のテキストを含む文書全体にわたって均一なテキストスタイルが得らる.
● 画像のテキストにLaTeXコマンドを使用して,数式や参照などを埋め込むことができる.
などが提供されます

(2)ソースファイル(svg01.tex)の作成

■■■■■■■■■■■■■■■■■■■■■■■■■
\documentclass{article} %欧文クラスに限る
\usepackage{svg}
%
\begin{document}
\begin{figure}[!h]
\centering
\includesvg{svg-example.svg}
\caption{svg image}\label{fig:example-tex}
\end{figure}
\end{document}
■■■■■■■■■■■■■■■■■■■■■■■■■

(3)コンパイル実行

   pdflatex --shell-escape svg01.tex

(4)結果表示

svg-exmple02.png





3.2 \includeinkscape コマンドを使う

(1)Inkscape で SVG画像を作成する.
   
   3.1(1)と同様に svg-example.svg を利用します.

(2)Inkscape を起動する

   inkscape -D -z --file = svg-example.svg --export-pdf = svg-example.pdf --export-latex
   
   svg-example.svg をカレントディレクトリに置き,この操作で
   svg-example.pdf および svg-example.pdf_tex が生成されます.


(3)ソースファイル(svg02.tex)の作成

■■■■■■■■■■■■■■■■■■■■■■■■■
\documentclass{article} %欧文クラスに限る
\usepackage{svg}
%
\begin{document}
\begin{figure}[!h]
\centering
\includeinkscape{svg-example.pdf} %画像拡張子は .pdf
\caption{svg image}\label{fig:example-tex}
\end{figure}
\end{document}
■■■■■■■■■■■■■■■■■■■■■■■■■

(4)コンパイル実行

   pdflatex svg02.tex (--shell-escapeは不要)

(5)結果表示

   3.1(4)と同様です.




3.3 svg-example_tex ファイルを使う

(1)3.2 (2)Inkscape を操作して得られる svg-example.pdf_tex を使うこともできます.
   \includeinkscapeの代わりに \input{svg-example.pdf_tex}ととするだけです.

(2)ソースファイル(svg03.tex)の作成

■■■■■■■■■■■■■■■■■■■■■■■■■
\documentclass{article} %欧文クラスに限る
\usepackage{svg}
%
\begin{document}
\begin{figure}[!h]
\centering
\input{svg-example.pdf_tex}
\caption{svg image}\label{fig:example-tex}
\end{figure}
\end{document}
■■■■■■■■■■■■■■■■■■■■■■■■■

(3)コンパイル実行

   pdflatex svg03.tex (--shell-escapeは不要)
   
(5)結果表示
   
   3.1(4)と同様です.

(EOF)
スポンサーサイト



  1. 2017/09/09(土) 10:05:53|
  2. LaTeX Tools