お絵描きソフトInkscape(インクスケープ)の使い方を初級レベルから上級レベルまで広く紹介しています。
情報追加のリクエストや分かりにくい点があれば下のCONTACTフォームからどうぞ。

InkscapeでWord文書にSVGの図面を挿入してみた

 このページでは、ワープロソフトで作った文書の中の図面をInkscapeを使って作る手順の例を紹介したいと思います。

  (参考:LaTeXドキュメントに図面を挿入

 (2023.09.20更新)

Inkscapeで文書中の図面を作る

 Inkscapeを使う目的の1つにマニュアルや論文などの文書に挿入する図面を作成するということが当然あると思いますが、具体的にどんな手順になるのか探ってみました。

文書はWordデータで作ってみよう

 そもそもマニュアルや論文などの文書をどんな形式のファイルで作成するのが一般的なのかをササっと調べてみたのですが、作成した文書データを受け取ったほうでも編集したいというニーズがあるらしく、PDFデータで作成するのではなく、Wordデータで作成して渡してほしいというリクエストも普通に存在することがわかりました。

 学会などに提出する論文のデータはてっきりPDFにするのがほとんどと思っていたのですが、受け取った事務局側で体裁を整えるために編集したいという事情もあるようです。

 そこでWordデータで文書を作って、そこに図面を挿入する手順を試してみようと思います。

 といってもそれを試すためだけにMicrosoft Wordを購入するのも負担なので、Wordデータを編集可能な「Apache OpenOffice Writer」という、Inkscapeと同様のオープンソースのソフトをインストールして試すことにしました。

OpenOffice Writerで作成する

 まずWriterで新規ドキュメントを作成して適当に文章を入力します。例えば次のように見出しと本文を適当に入力します。

 これを「名前を付けて保存」メニューからWordデータとして保存します。(ちなみにWriterはデフォルトでは「OpenDocument Text」(拡張子は.odt)という形式のファイルを使います。)

挿入したい図面をInkscapeで作る

 これとは別に、挿入したい図面をInkscapeで作ります。ここでは円と矩形とテキストを含む図を描きました。矩形のほうはストロークにグラデーションを設定してあります。

 そしてこれをSVG形式のファイルに保存(エクスポート)します。

 具体的には次のようにエクスポートダイアログ上で各パラメータを指定してエクスポートボタンを押します。

 ポイントはエクスポートする対象としてドキュメントタブを選ぶことで、キャンバス上に描いた絵図をピッタリ囲うような大きさで保存することです。

 (参考:エクスポート機能(一部分の別ファイルへの保存)

 また、保存先の形式としてSVGを選ぶのですが、Inkscapeでは標準仕様のSVG形式(プルダウンメニューでは「Plain SVG」と表示されます)とInkscape用拡張SVG形式(プルダウンメニューでは「Inkscape SVG」と表示されます)とが選択候補に表示されるので、Inkscapeを使っていない人と共有できるように「Plain SVG」のほうを指定します。

 そしてエクスポートボタンを押して図面をSVG形式として保存します。

文書に挿入する

 Writerの画面に戻って、保存したSVG形式ファイルを指定して文書の中に挿入します。

 そのためにはプルダウンメニューで挿入 > 画像 > ファイルからを操作します。

 そして保存したSVGファイルを挿入するとその内容が画像として挿入されます。

 ちゃんとWord文書中にSVG形式の図面が挿入できています。

 さらにWriterで画像の左右にもテキストを配置するように指定すれば、次のようなレイアウトにすることもできます。

Writer以外でも表示できるか確認

 Wordデータとして保存できているはずですが、念のためオリジナルのWordでも表示できるか試してみました。

 「Word Mobile」というソフトがMicrosoftから提供されていて、これをWordのいわゆるビューワとして利用できます。

 ちゃんとWriter以外でも表示できているようです。

 ただ気になるのはストロークに設定したグラデーションの見た目が、Inkscapeの画面のものとWriterの画面のもので少し違うところです。ひょっとするとSVG形式でのグラデーションの定義にあいまいな部分でもあって、表示の仕方にInkscapeと他のソフトとで差が生まれてしまうのかもしれません。

 可能ならあとで詳しく調べてみたいところです。