*[[Inkscape:http://inkscape.org/]] [#ycda5b1e]

#ref(http://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Inkscape_logo_2.svg/120px-Inkscape_logo_2.svg.png,right,around,nolink,Inkscape)

&color(White,#5F2F2F){  ''◆目次◆''  };&br;

#contents

#img(,clear)

*Inkscape とは [#v6fd1815]

Inkscape は,オープンソースのベクターグラフィックエディタ (SVG エディタ) です.

Windows, Linux, Mac OS X, Unix で動作します.

|COLOR(#FFF):BGCOLOR(#7C0):''入力''|COLOR(#FFF):BGCOLOR(#7C0):''出力''|
|SVG, PDF|SVG, PDF, EPS, PS, ODG|

外部プログラムとして

-Windows なら [[pstoedit:http://pstoedit.sourceforge.net/]]
-UNIX なら [[pstoedit:http://pstoedit.sourceforge.net/]] と ([[Skencil>WikiPedia.ja:Skencil]] に含まれている) skconvert.py

を使用することで EPS, PS の入力も可能です.

-[[Inkscape 公式サイト:http://inkscape.org/]]
-[[Inkscape 開発サイト:https://launchpad.net/~inkscape.dev]]
--[[コミットログ:http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/changes]]
-[[Inkscape Wiki:http://wiki.inkscape.org]]
--[[FAQ (Japanese) - Inkscape Wiki:http://wiki.inkscape.org/wiki/index.php/FAQ_(Japanese)]]
---[[数学記号や特殊記号を入力するには?:http://wiki.inkscape.org/wiki/index.php/FAQ_(Japanese)#.E6.95.B0.E5.AD.A6.E8.A8.98.E5.8F.B7.E3.82.84.E7.89.B9.E6.AE.8A.E8.A8.98.E5.8F.B7.E3.82.92.E5.85.A5.E5.8A.9B.E3.81.99.E3.82.8B.E3.81.AB.E3.81.AF.3F]]
--[[Tools:http://wiki.inkscape.org/wiki/index.php/Tools]]
-[[WikiPedia.ja:Inkscape]]
-[[Wikibooks.ja:Inkscape:http://ja.wikibooks.org/wiki/Inkscape]]
-[[MacWiki:Inkscape]]
-[[窓の杜 - Inkscape:http://www.forest.impress.co.jp/lib/pic/piccam/paint/inkscape.html]]

*PDF+LaTeX/EPS+LaTeX/PS+LaTeX [#d6b72996]

-[[LaTeX - Inkscape Wiki:http://wiki.inkscape.org/wiki/index.php/LaTeX]]
-[[Release notes/0.48#New LaTeX export for PDF/EPS/PS - Inkscape Wiki:http://wiki.inkscape.org/wiki/index.php/Release_notes/0.48#New_LaTeX_export_for_PDF.2FEPS.2FPS]]
-[[CTAN:help/Catalogue/entries/svg-inkscape.html]], http://az.ctan.org/pkg/svg-inkscape
-http://sites.google.com/site/richardhenwood/inkscapelatexextension

Inkscape 0.48 から PDF, EPS, PS ファイルで保存する場合に PDF+LaTeX, EPS+LaTeX, PS+LaTeX を指定することが可能になりました.

----
&color(Black,#72C304){%%%   &color(White){''Portable Document Format''};                 &color(Black,#CC3333){%%%[  ''&color(White){✕};''  ]%%%}; %%%};&br;
 Restrict to PDF version: %%% PDF 1.5                 [ ▼ ]%%%&br;
  ☐ テキストをパスに変換&br;
  ☑ PDF+LaTeX: PDF のテキストを除外して LaTeX ファイルを生成&br;
  ☑ フィルタエフェクトをラスタライズ&br;
 Resolutiion for rasterization (dpi):              90&br;
  ☑ エクスポート領域は描画全体&br;
  ☐ エクスポート領域はページ&br;
 Limit export to the object with ID: %%%                    %%%&br;
----
&color(Black,#72C304){%%%   &color(White){''Encapsulated PostScript''};                   &color(Black,#CC3333){%%%[  ''&color(White){✕};''  ]%%%}; %%%};&br;
 Restrict to PS level: %%% PostScript level 3              [ ▼ ]%%%&br;
  ☐ テキストをパスに変換&br;
  ☑ EPS+LaTeX: EPS のテキストを除外して LaTeX ファイルを生成&br;
  ☑ フィルタエフェクトをラスタライズ&br;
 Resolutiion for rasterization (dpi):              90&br;
  ☑ エクスポート領域は描画全体&br;
  ☐ エクスポート領域はページ&br;
 Limit export to the object with ID: %%%                    %%%&br;
----
&color(Black,#72C304){%%%   &color(White){''PostScript''};                            &color(Black,#CC3333){%%%[  ''&color(White){✕};''  ]%%%}; %%%};&br;
 Restrict to PS level: %%% PostScript level 3              [ ▼ ]%%%&br;
  ☐ テキストをパスに変換&br;
  ☑ PS+LaTeX: PS のテキストを除外して LaTeX ファイルを生成&br;
  ☑ フィルタエフェクトをラスタライズ&br;
 Resolutiion for rasterization (dpi):              90&br;
  ☑ エクスポート領域は描画全体&br;
  ☐ エクスポート領域はページ&br;
 Limit export to the object with ID: %%%                    %%%&br;
----

コマンドラインから PDF+LaTeX, EPS+LaTeX, PS+LaTeX で出力することも可能です.

-http://inkscape.modevia.com/inkscape-man.html
 inkscape -D -z --file=image.svg --export-pdf=image.pdf --export-latex
 inkscape -D -z --file=image.svg --export-eps=image.eps --export-latex
 inkscape -D -z --file=image.svg --export-ps=image.ps --export-latex

*Inkscape で TeX 数式 [#f9da7d32]

-[[InkscapeでTeX数式:http://hooktail.org/computer/index.php?Inkscape%A4%C7TeX%BF%F4%BC%B0]]
-[[Inkscapeでtex数式を使う(数式はアウトラインに):http://www.my-chicken-heart.com/2007/09/inkscapetex.html]]

*エクステンション [#s696e33c]

-&color(Red){''エクステンションを修正する場合の注意点''};
--&color(Red){''Python はインデントに意味を持つので修正する場合はインデントに注意して修正してください.''};
--&color(Red){''タブではなくスペースでインデントすることをおすすめします.''};
--&color(Red){''コメントアウトは # (シャープ) を使用します.''};
--&color(Red){''Python で Windows の PATH を文字列で表す場合は raw 文字列 (r'...') を使用すると便利です.''};

**[[Latex 数式 (eqtexsvg.py):http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/share/extensions/eqtexsvg.py]] [#w6edd3aa]

Inkscape にデフォルトで含まれている LaTeX と連携するためのエクステンション.
-環境変数 PATH に latex, dvips, pstoedit が存在するディレクトリが含まれていれば [エクステンション(N)] → [レンダリング] → [Latex 数式...] から使用可能.
--pstoedit に PATH が通っていればコマンドプロンプトから
 C:\>pstoedit
 pstoedit: version 3.50 / DLL interface 108 (build Aug 10 2009 - release build -
 MS VC++ 1300) : Copyright (C) 1993 - 2009 Wolfgang Glunz
 No output format specified (-f option) and format could not be deduced from suff
 ix of output file since no output file name was given
 Usage: "pstoedit -f format inputfile outputfile" or run "pstoedit -help" to get
 a complete list available options.
として表示されます.~
PATH を通しているのに Latex 数式が表示されない場合は,まずコマンドプロンプトから
 C:\>echo %PATH%
として PATH を確認します.~
latex, dvips, pstoedit が格納されているディレクトリが PATH に登録されていればコマンドプロンプトから
 C:\inkscape>inkscape
として Inkscape を起動してみてください.
-InkscapeをLaTeXと一緒に使う
--http://sora-blue.net/~shogo82148/memo/soft/inkscape/with-LaTeX.html
--http://sora-blue.net/~shogo82148/i/memo/soft/inkscape/with-LaTeX.html
-[[Inkscape で LaTeX の数式を入力する:http://www.empitsu.com/wp/?p=24]]
-[[Inkscape で LaTeX の数式を入力する(続編):http://www.empitsu.com/wp/?p=85]]
-[[Windows版の Inkscape で LaTeX の数式を入力する:http://d.hatena.ne.jp/hiroki777/20080221]]

----
&color(Black,#72C304){%%%   &color(White){''Latex 数式''};                        &color(Black,#CC3333){%%%[  ''&color(White){✕};''  ]%%%}; %%%};&br;
 Latex 数式: %%%\[\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\]%%%&br;
 追加パッケージ(カンマで区切る):&br;
&br;
 ☐ ライブプレビュー&br;
----

***インストール [#v77ed75c]
----
-http://www.pstoedit.net/

から pstoedit をダウンロード,インストールして pstoedit.exe のフォルダに PATH を通します.
----
-http://inkscape.modevia.com/win32/?M=D

から Inkscape のナイトリービルド版をダウンロードして展開します.

ここでは inkscape_r10146-201104082205.7z をダウンロードして展開しました.

展開したフォルダを C:\inkscape と仮定します.別のフォルダに展開した場合は読み替えてください.
----
デフォルトの状態の dvips のオプションでは数式がうまく表示されないので C:\inkscape\share\extensions\eqtexsvg.py の dvips コマンドのオプションを修正します.
         #os.system('dvips -q -f -E -D 600 -y 5000 -o "%s" "%s"' % (ps_file, dvi_file))
         os.system('dvips -q -f -E -Ppdf -o "%s" "%s"' % (ps_file, dvi_file))
----
Latex 数式は tempdir に inkscape-?????? フォルダを作成しますが作成される inkscape-?????? フォルダの親ディレクトリは
 C:\inkscape>.\python\python.exe
 Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
 win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tempfile
 >>> tempfile.gettempdir()
とすることで確認できます.

もし,tempfile.gettempdir() がスペースの含まれたディレクトリであれば
     def effect(self):
 
         #base_dir = tempfile.mkdtemp("", "inkscape-");
         base_dir = tempfile.mkdtemp('', 'inkscape-', r'C:\inkscape\tmp')
などとしてスペースの含まないディレクトリ (C:\inkscape\tmp) を作成して base_dir を修正してください.~
この場合は,C:\inkscape\tmp\inkscape-?????? に一時ファイルを作成します.~
処理がうまくいけば,一時ファイルと C:\inkscape\tmp\inkscape-?????? が削除されます.
----
デフォルトでは Latex 数式は \( ~ \) となっているようです.
 \(\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\)
以下の数式モードが使用可能です.

-インライン数式モード
--\( ~ \)
 \(\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\)
--$ ~ $
 $\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}$
--\begin{math} ~ \end{math}
 \begin{math}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{math}
-ディスプレイ数式モード (番号を付けない場合)
--\[ ~ \]
 \[\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\]
--$$ ~ $$
 $$\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}$$
--\begin{displaymath} ~ \end{displaymath}
 \begin{displaymath}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{displaymath}
--\begin{equation*} ~ \end{equation*}
 \begin{equation*}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{equation*}
--\begin{eqnarray*} ~ \end{eqnarray*}
 \begin{eqnarray*}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{eqnarray*}
--\begin{align*} ~ \end{align*}
 \begin{align*}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{align*}
--\begin{gather*} ~ \end{gather*}
 \begin{gather*}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{gather*}
-ディスプレイ数式モード (番号を付ける場合)
--\begin{equation} ~ \end{equation}
 \begin{equation}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{equation}
--\begin{eqnarray} ~ \end{eqnarray}
 \begin{eqnarray}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{eqnarray}
--\begin{align} ~ \end{align}
 \begin{align}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{align}
--\begin{gather} ~ \end{gather}
 \begin{gather}\frac{\pi^2}{6}=\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}\end{gather}
----

**[[textext:http://pav.iki.fi/software/textext/]] [#b9881c0b]

LaTeX 形式の数式を Inkscape に含めることが可能なエクステンション.再編集も可能.

-[[textext 公式サイト:http://pav.iki.fi/software/textext/]]
-[[textext 開発サイト:https://bitbucket.org/pv/textext/]]
--[[コミットログ:https://bitbucket.org/pv/textext/changesets]]
--https://bitbucket.org/pv/textext/issue/55/textext-using-inkscape048
-[[textext, pdf2svg on Windows:http://hil.t.u-tokyo.ac.jp/~t-nakano/textext_pdf2svg.html]]
-[[ぼやっきんぐ   » Inkscape:http://www.empitsu.com/wp/?cat=8]]
-[[OZのXX使い: textextの検索結果:http://kozimathewizard.blogspot.com/search?q=textext]]
-[[いわにぃのブログ : textext を含む記事:http://blog.livedoor.jp/ti5942/search?q=textext]]
-[[仮想化された日々:textext を含む記事:http://blog.livedoor.jp/les_paul_sp/search?q=textext]]
-[[textext を含む記事:たなぴのブログ:http://blog.livedoor.jp/tanapy/search?q=textext]]
-[[うぶつん ~退化する脳みそのための備忘録~: inkscape:http://ubutun.blogspot.com/search/label/inkscape]]
-[[inkscapeで数式:http://ac206223.ppp.asahi-net.or.jp/adiary/memo/adiary.cgi/hirosugu/inkscape%a4%c7%bf%f4%bc%b0]]
-[[Inkscape に textextを導入:http://d.hatena.ne.jp/m_katsurai/20100908/1283915982]]
-[[Fixing textext on Inkscape 0.48:http://laconsigna.wordpress.com/2010/11/13/fixing-textext-on-inkscape-0-48/]]
-[[XeLaTex:http://d.hatena.ne.jp/yambi/20110405/1302005022]]
-[[InkscapeでLatex数式:http://d.hatena.ne.jp/HRM-7/20100710/1278752062]]
-[[Mac/OS X/X11 - PukiWiki#アプリケーション#Inkscape#textext>http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?Mac%2FOS%20X%2FX11#b8b7d5d3]]
-[[MacのInkscapeでTeXを使う:http://d.hatena.ne.jp/colourful/20081219/p1]]
-[[QA: 電子回路図の挿入>http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=582&parent=3140&mode=3]]

***インストール [#y0f25738]
----
-http://www.pstoedit.net/

から pstoedit をダウンロード,インストールして pstoedit.exe のフォルダに PATH を通します.
----
-http://inkscape.modevia.com/win32/?M=D

から Inkscape のナイトリービルド版をダウンロードして展開します.

ここでは inkscape_r10146-201104082205.7z をダウンロードして展開しました.

展開したフォルダを C:\inkscape と仮定します.別のフォルダに展開した場合は読み替えてください.
----
-https://bitbucket.org/pv/textext/src

の get source >> から最新版の textext のファイル (zip, gz, bz2 のうちから好きなものを選択)

-https://bitbucket.org/pv/textext/get/tip.zip
-https://bitbucket.org/pv/textext/get/tip.tar.gz
-https://bitbucket.org/pv/textext/get/tip.tar.bz2

をダウンロード,展開して

-textext.py
-textext.inx

を C:\inkscape\share\extensions にコピーします.
----
Inkscape を起動して [エクステンション(N)]-[Tex Text] を実行しようとすると RuntimeError の例外が発生します.
----
         Inkscapeは、実行したスクリプトから追加データを受け取りまし&br;
         た。スクリプトはエラーを返しませんでしたが、実行結果が意図し&br;
         ないものになっていることを示唆している可能性があります。&br;
&br;
 Traceback (most recent call last):
   File "textext.py", line 403, in <module>
     raise RuntimeError("Neither pygtk nor Tkinter is available!")
 RuntimeError: Neither pygtk nor Tkinter is available!
----

-http://dgleich.wordpress.com/2010/10/26/fixing-textext-on-inkscape-for-windows/

から site-packages.zip をダウンロードして
C:\inkscape\python\Lib\site-packages に

-cairo\
-gtk-2.0\
-pycairo-1.8.10-py2.6.egg-info
-pygtk.pth
-pygtk.py
-pygtk.pyc
-pygtk.pyo

を展開します.

//-http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/
//-http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/
//-http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.28/

----
Inkscape を起動して [エクステンション(N)]-[Tex Text] を実行しようとすると AttributeError の例外が発生します.
----
         Inkscapeは、実行したスクリプトから追加データを受け取りまし&br;
         た。スクリプトはエラーを返しませんでしたが、実行結果が意図し&br;
         ないものになっていることを示唆している可能性があります。&br;
&br;
 Traceback (most recent call last):
   File "textext.py", line 741, in <module>
     paths += [os.path.join(os.abspath(os.dirname(sys.argv[0])), '..', '..')]
 AttributeError: 'module' object has no attribute 'abspath'
----
C:\inkscape\share\extensions\textext.py の 741 行目あたりの os.abspath, os.dirname を os.path.abspath, os.path.dirname に修正します.
----
     # The path where Inkscape is likely to be
     #paths += [os.path.join(os.abspath(os.dirname(sys.argv[0])), '..', '..')]
     paths += [os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '..', '..')]
----
Inkscape を起動して [エクステンション(N)]-[Tex Text] を実行します.~
Text に \begin{document} ~ \end{document} に入れる文章を入力します.~
ここでは Scale factor を 100 にして Text に Inkscape と入力しました.~

&color(Black,#72C304){%%%  &color(White){''TeX Text''};                                     &color(Black,#62B304){%%%[ &color(White){''◛''}; ]%%%};&color(Black,#62B304){%%%[ &color(White){''▭''}; ]%%%};&color(Black,#CC3333){%%%[  &color(White){''✕''};  ]%%%}; %%%};&br;
 Preamble file:   (なし)&br;
  Scale factor:  100.00&br;
LaTeX page width: 10cm&br;
   Converter:   Pstoedit&br;
            Inkscape&br;
&br;
&br;
&br;
&br;
   Text:&br;
&br;
&br;
&br;
&br;
&br;
----
実行すると RuntimeError の例外が発生します.

&color(Black,#72C304){%%%  &color(White){''Textext Error''};                                     &color(Black,#CC3333){%%%[  &color(White){''✕''};  ]%%%}; %%%};&br;
        ''Error occurred while converting text from Latex to SVG:''&br;
 Traceback (most recent call last):
   File "textext.py", line 246, in cb_ok
     self.callback()
   File "textext.py", line 456, in <lambda>
     asker.ask(lambda: self.do_convert(info, old_node))
   File "textext.py", line 470, in do_convert
     new_node = converter.convert(info)
   File "textext.py", line 1043, in convert
     self.tex_to_pdf(info)
   File "textext.py", line 1014, in tex_to_pdf
     out = exec_command(['pdflatex', self.tmp('tex')] + latex_opts)
   File "textext.py", line 698, in exec_command
     % (' '.join(cmd), p.returncode, out + err))
 RuntimeError: Command pdflatex ...
 ...
----
C:\inkscape\share\extensions\textext.py の 1014 行目あたりを修正します.
----
         # Exec pdflatex: tex -> pdf
         #out = exec_command(['pdflatex', self.tmp('tex')] + latex_opts)
         out = exec_command(['pdflatex', latex_opts, self.tmp('tex')])
----
textext は tempdir に tmp?????? フォルダを作成しますが作成される tmp?????? フォルダの親ディレクトリは
 C:\inkscape>.\python\python.exe
 Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
 win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tempfile
 >>> tempfile.gettempdir()
とすることで確認できます.

もし,tempfile.gettempdir() がスペースの含まれたディレクトリであれば
 class LatexConverterBase
     def __init__(self, document):
         #self.tmp_path = tempfile.mkdtemp()
         self.tmp_path = tempfile.mkdtemp('', tempfile.gettempprefix(), r'C:\inkscape\tmp')
などとしてスペースの含まないディレクトリ (C:\inkscape\tmp) を作成して self.tmp_path を修正してください.~
tempfile.gettempprefix() は
 C:\inkscape>.\python\python.exe
 Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
 win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tempfile
 >>> tempfile.gettempprefix()
 'tmp'
とすることで確認できます.~
この場合は,C:\inkscape\tmp\tmp?????? に一時ファイルを作成します.~
処理がうまくいけば,一時ファイルが削除されます.~
C:\inkscape\tmp\tmp?????? は OSError の例外が発生し,
 [Error 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。: 'C:\inkscape\tmp\tmp??????'
となり削除できません.~
プログラム上では pass してこのエラーを無視しているので,この例外のエラーメッセージは表示されません.~
気になる場合はプログラムを修正するか手動でディレクトリを削除するかしてください.
----

***textext で日本語を使う [#q35ff2bf]

pdflatex では,日本語を使えないので日本語を使える Tex Text Japanese を作成します.

----
C:\inkscape\share\extensions\textext.py をコピー,貼り付けして C:\inkscape\share\extensions\textext_ja.py にリネームします.~
C:\inkscape\share\extensions\textext.inx をコピー,貼り付けして C:\inkscape\share\extensions\textext_ja.inx にリネームします.~
----
C:\inkscape\share\extensions\textext_ja.inx を編集します.
----
-<_name>Tex Text Japanese</_name>
-<id>org.ekips.filter.textext_ja</id>
-<dependency type="executable" location="extensions">textext_ja.py</dependency>
-<command reldir="extensions" interpreter="python">textext_ja.py</command>

に変更します.
----
 <inkscape-extension>
   <_name>Tex Text Japanese</_name>
   <id>org.ekips.filter.textext_ja</id>
   <dependency type="executable" location="extensions">textext_ja.py</dependency>
   <dependency type="executable" location="extensions">inkex.py</dependency>
   <effect>
     <object-type>all</object-type>
   </effect>
   <script>
     <command reldir="extensions" interpreter="python">textext_ja.py</command>
   </script>
 </inkscape-extension>
----
C:\inkscape\share\extensions\textext_ja.py の 109 行目あたりの windows.set_title を "TeX Text Japanese" に変更します.
----
             window.set_title("TeX Text Japanese")
----
textext の Text に入力された日本語は UTF-8 で保存されます.

最新版の W32TeX はデフォルトでは [[ptexenc:http://tutimura.ath.cx/ptexlive/?ptexenc%2F%CA%B8%BB%FA%A5%B3%A1%BC%A5%C9%C8%BD%C4%EA]] を用いて自動判別するので文字コードを指定したり変換したりする必要はありません.

ただし,日本語① などの文字列 (このばあいは eplatex ではなく euplatex で処理しないと ① が表示されません) の場合は UTF-8 と判別できないようなので -no-guess-input-enc で自動判別をしないようにして -kanji=utf8 を追加します.

C:\inkscape\share\extensions\textext_ja.py の 1014 行目あたりの # Exec pdflatex: tex -> pdf を

-# Exec pdfeplatex: tex -> dvi -> pdf
-# Exec pdfeuplatex: tex -> dvi -> pdf
-# Exec pdfeplatex2: tex -> dvi -> eps -> pdf
-# Exec pdfeuplatex2: tex -> dvi -> eps -> pdf

のどれかに修正します.
----
        # Exec pdfeplatex: tex -> dvi -> pdf
        out = exec_command(['eplatex', '-no-guess-input-enc', '-kanji=utf8', latex_opts, self.tmp('tex')])
        out = exec_command(['dvipdfmx', self.tmp('dvi')])
----
または
----
        # Exec pdfeuplatex: tex -> dvi -> pdf
        out = exec_command(['euplatex', '-no-guess-input-enc', '-kanji=utf8', latex_opts, self.tmp('tex')])
        out = exec_command(['updvipdfmx', self.tmp('dvi')])
----
または
----
        # Exec pdfeplatex2: tex -> dvi -> eps -> pdf
        out = exec_command(['eplatex', '-no-guess-input-enc', '-kanji=utf8', latex_opts, self.tmp('tex')])
        out = exec_command(['dvips', '-Ppdf', '-E', '-o', self.tmp('eps'), self.tmp('dvi')])
        out = exec_command(['epstopdf', self.tmp('eps')])
----
または
----
        # Exec pdfeuplatex2: tex -> dvi -> eps -> pdf
        out = exec_command(['euplatex', '-no-guess-input-enc', '-kanji=utf8', latex_opts, self.tmp('tex')])
        out = exec_command(['dvips', '-Ppdf', '-E', '-o', self.tmp('eps'), self.tmp('dvi')])
        out = exec_command(['epstopdf', self.tmp('eps')])
----

C:\inkscape\share\extensions\textext_ja.py の 1153 行目あたりの # Exec pstoedit: pdf -> svg の項目を # Exec Ghostscript (epswrite) and pstoedit: pdf -> eps -> svg に修正します.
----
         # Exec Ghostscript (epswrite) and pstoedit: pdf -> eps -> svg
         exec_command(['gswin32c', '-dSAFER', '-q', '-dBATCH', '-dNOPAUSE',
                       '-sDEVICE=epswrite', '-dEPSCrop', '-r9600',
                       '-sOutputFile='+self.tmp('eps'), self.tmp('pdf')])
         exec_command(['pstoedit', '-ndt', '-f', 'plot-svg',
                       self.tmp('eps'), self.tmp('svg')]
                      + pstoeditOpts)
----
入力する文字列によっては (例えば abc) 実行すると XMLSyntaxError の例外が発生します.~
入力する文字列によっては (例えば 日本語) 実行しても XMLSyntaxError の例外は発生しません.~
Ghostscript (epswrite) and pstoedit で pdf -> eps -> svg 変換して処理しようとすると発生するようです.~
pstoedit で pdf -> svg 変換して処理すれば発生しませんでした.(ただし,日本語は表示されません)~

&color(Black,#72C304){%%%  &color(White){''Textext Error''};                                     &color(Black,#CC3333){%%%[  &color(White){''✕''};  ]%%%}; %%%};&br;
        ''Error occurred while converting text from Latex to SVG:''&br;
 Traceback (most recent call last):
   File "textext_ja.py", line 246, in cb_ok
     self.callback()
   File "textext_ja.py", line 456, in <lambda>
     asker.ask(lambda: self.do_convert(info, old_node))
   File "textext_ja.py", line 470, in do_convert
     new_node = converter.convert(info)
   File "textext_ja.py", line 1050, in convert
     new_node = self.svg_to_group()
   File "textext_ja.py", line 1072, in svg_to_group
     tree = etree.parse(self.tmp('svg'))
   File "lxml.etree.pyx", line 2692, in lxml.etree.parse (src/lxml/lxml.etree.c:49594)
   File "parser.pxi", line 1500, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:71364)
   File "parser.pxi", line 1529, in lxml.etree._parseDocumentFromURL (src/lxml/lxml.etree.c:71647)
   File "parser.pxi", line 1429, in lxml.etree._parseDocFromFile (src/lxml/lxml.etree.c:70742)
   File "parser.pxi", line 975, in lxml.etree._BaseParser._parseDocFromFile (src/lxml/lxml.etree.c:67740)
   File "parser.pxi", line 539, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:63824)
   File "parser.pxi", line 625, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:64745)
   File "parser.pxi", line 565, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:64088)
 XMLSyntaxError: Document is empty, line 1, column 1
----

***[[pdf2svg:http://www.cityinthesky.co.uk/opensource/pdf2svg]] [#yec57718]

Converter には pstoedit の他に [[pdf2svg:http://www.cityinthesky.co.uk/opensource/pdf2svg]] もあります.

pdf2svg の Windows バイナリが [[textext, pdf2svg on Windows:http://hil.t.u-tokyo.ac.jp/~t-nakano/textext_pdf2svg.html]] からダウンロードできます.

pdf2svg は日本語の PDF も SVG に変換可能ですが poppler-data の配置場所と fontconfig の FONTCONFIG_PATH が正しく設定されていることが必要です.

poppler-data を正しい位置に配置していない場合 Fontconfig error が発生します.

 >pdf2svg tmp.pdf tmp.svg
 Fontconfig error: Cannot load default config file
 Error: Couldn't open 'nameToUnicode' file 'C:\target\share\poppler\nameToUnicode
 \%'
 Error: Missing language pack for 'Adobe-Japan1' mapping
 Error: Unknown font tag 'F1'
 Error (176): No font in show/space

のエラーが表示される場合は W32TeX の C:\w32tex\share\texworks\poppler-data をコピーして C:\target\share にペーストして poppler にリネームしてください.~
これで poppler-data が正しい位置に配置されます.

----
 C:.
 ├─w32tex
 │  └─share
 │      └─texworks
 │          └─poppler-data
 └─target
     └─share
         └─poppler
----

poppler-data を正しい位置に配置しても FONTCONFIG_PATH が正しく設定されていなければ Fontconfig error が発生します.

 >pdf2svg tmp.pdf tmp.svg
 Fontconfig error: Cannot load default config file
 Error: Couldn't find a font for 'Ryumin Light Identity H'
 some font thing failed

[[Texmaker のかな漢字変換をする際に,文字と背景が黒く表示され,判読不能になる不具合の修正方法>Texmaker#e1ab5b1e]] を参考に fontconfig をインストールして

MinGW Shell (MSYS) の場合は
 $ export FONTCONFIG_PATH=C:/MinGW/etc/fonts
 $ pdf2svg tmp.pdf tmp.svg

コマンドプロンプトの場合は
 >set FONTCONFIG_PATH=C:\MinGW\etc\fonts
 >pdf2svg tmp.pdf tmp.svg

とすることで FONTCONFIG_PATH が正しく設定され,日本語の PDF も SVG に変換可能になります.

ただし,変換できない場合もあります.

 >pdf2svg tmp2.pdf tmp2.svg
 Error: Missing or invalid Encoding entry in Type 0 font
 Error: Unknown font tag 'R10'
 Error (238): No font in show/space

**[[svg2latex:https://gitorious.org/svg2latex/svg2latex]] [#x3c0d408]

svg2latex takes an svg file and produces a file with latex markup and a pdf or eps file which is called in by the latex markup.

-[[svg2latex - Gitorious:https://gitorious.org/svg2latex/svg2latex]]
-[[svg2latex:http://sites.google.com/site/richardhenwood/svg2latex2]]

**[[svg2tex:https://github.com/Oni/svg2tex]] [#wc9b7463]

Svg2tex is a python script that extracts all text from a *.svg file to a LaTeX picture environment. This way the picture's text is processed directly by LaTeX and can be included into the document.

**[[JessyInk:http://code.google.com/p/jessyink/]] [#k0206a78]

-[[JessyInk:http://code.google.com/p/jessyink/]]
-[[Inkscapeでプレゼンテーション:http://d.hatena.ne.jp/yambi/20110405/1301974923]]