【動画作りました。】Windows 10にインストールしたInkscapeで描いた図の中にLaTeXの数式を直接挿入する。

By | 2017年10月22日 , Last update: 2020年7月31日

はじめに

以前の記事で、tex2imgを使ってLaTeXの数式をSVG形式のファイルに変換する方法について紹介しました。

前の記事を書いたときにはInkscapeは単にSVGファイルが作成されていることの確認のためにのみ使用しましたが、本記事では、Inkscapeで図を描いた場合にその図の中に直接LaTeXの数式を読み込ませるために必要なエクステンション(以下、このエクステンションのことを「LaTeXエクステンション」と書きます。)の設定について説明していきます。

スポンサーリンク

LaTeXの数式を読み込ませるための手順

Inkscapeの図にLaTeXの数式を読み込ませるためにはGhostscript及びpstoeditをインストールする必要があります。

Ghostscriptのインストール

TeXのパッケージの種類によってはGhostscriptがインストールされている場合がありますので、インストールされているGhostscriptがないかどうか確認し、インストールされていない場合はインストールが必要です。

Ghostscriptはここからダウンロードしてインストールします。

pstoeditのインストール及び設定

pstoeditはpstoeditのサイトからダウンロードします。実行形式のインストーラがダウンロードができたら、インストールをします。

インストールが終わったら、Windows 10のデスクトップの左下隅のアイコンをクリック後、表示されるメニューの左下にある歯車アイコンをクリックすると「設定」ウィンドウが表示されるので、検索窓(下図の赤矢印)に「環境変数」と入力してEnterキーを押します。

すると、環境変数のウィンドウが現れるので、Pathの末尾に以下のパスを追加します。

c:\Program Files\pstoedit

 
パスの追加に成功したかどうかは、以下の手順で確認できます。

  1. コマンドプロンプトを起動します。
  2. pstoeditコマンドを実行し、以下のような出力が得られれば、パスの追加までは成功しています。

Inkscape側の設定と動作確認

設定の確認

pstoeditコマンドへのパスが設定できていることを確認したら、Inkscapeを起動します。メニューバーの「エクステンション」→「レンダリング」と選択していき、表示されたメニューに”LaTeX”が含まれていれば(下図の赤矢印)、Inkscape側の準備は完了です。

[2020/07/30補足] Inkscape 1.0における”LaTeX”の選択方法についてはこの記事をご参照ください。

SVGファイルの作成例

LaTeXエクステンションを使って作成したSVGファイルを以下に示します。

この記事で使っています。

tex2imgを使った場合との比較


スポンサーリンク

前の記事でも紹介しましたが、tex2imgは(スタイルファイルはプリセットされているものを使用するかどうかを選択できますが、)原則としてLaTeXの文書ファイルの全体を記述してからコンパイルを行い、その結果をSVGフォーマットのファイルに変換するのに対して、上記のLaTeXエクステンションは数式の部分だけを入力すればSVGフォーマットのデータに変換して取り込むことができます。

数式を作成するにあたっては例えば以下のような数式の書き方による使い分けを行うことが考えられます。

  • 特殊なスタイルファイルなどを読み込む必要がある場合… tex2imgを使用する。
  • 前項以外の場合で図で使うためだけに数式を使う場合や、とにかく手っ取り早く数式を書きたい場合… LaTeXエクステンションを使用する。

まとめ

本記事では、Inkscapeで図を描いた場合にその図の中に直接LaTeXの数式を読み込ませるために必要な設定について説明しました。Inkscapeに直接LaTeXの数式を読み込ませる機能はVersion 0.48あたりから追加になったもののようですが、設定の方法や、メニューにおける表示がInkscapeのバージョンにより若干異なるようですので、常に最新の情報を確認しながら設定作業を行った方がよいでしょう。

数式を含んだ図をInkscapeで書くことができると、記事の見栄えも良くなりますし、ブログの記事をちょっとだけ格調高く見せることができます。

本記事の初回のアップロード時には間に合いませんでしたが、入力例の動画を作りました。17分あるので、眠くならないようにBGMを入れてあります。(`・ω・´)

この記事は以上です。