はじめに
ゼミ原稿や論文を書くとき、私は Gnuplot で eps
ファイルを作ります。そして作成した eps
を Word や PowerPoint に使うときは、なるべく画質が落ちないように eps
から emf
へと変換させます。今までは Convertio を使って変換していましたが、やや面倒くさいんですよね。もっと素早く変換したいのです。
結論
bat
ファイルを作りました。今まで、png
を eps
に変えたり、eps
を emf
に変えようと Convertio や Inkscape で「名前をつけて保存」をしていましたが、Inkscape のコマンドラインを利用して、より素早く処理できました。実は初めて bat
を書いたので、参考文献には初歩的な文法の解説サイトも参考にさせて頂きました。
バッチファイルはよく分からないけど、拡張子の変換は頻繁にする
という方は是非参考サイトをチェックしてみて下さい。
※ Inkscape のダウンロードが必要です
必要な機能とスクリプト
前述の通り、私はよく eps
を作り、emf
に変換したい人です。また、LaTex に挿入するために eps
に変換したいこともあります。大概はこの2つの変換で事足ります。そこで、eps
は emf
に、それ以外は eps
に変換するバッチファイルを作りました。一気に複数の変更が可能です。やり方は、変えたいファイルをバッチファイルにドラッグ&ドロップするだけ。
eps
は emf
に。その他は eps
に変換できています。
@echo off
rem How to use : このバッチファイルに変換したいファイルを全てドラッグ&ドロップしてください
rem 拡張子の変換 : Eps To Emf / その他 To Eps
set file=%1
if not defined file (
echo please drag and drop file that you want to change extension
goto eof
)
set inkscape1="%ProgramFiles%\Inkscape\bin\inkscape.com"
for %%f in (%*) do (
if "%%~xf"==".eps" (
%inkscape1% --export-filename=%%~nf.emf %%f
) else (
%inkscape1% --export-filename=%%~nf.eps %%f
)
)
スクリプトの if 分岐を変更したり、 出力拡張子を変更することで、任意の拡張子から拡張子へと変更することが可能です。ネストを深くして、ディレクトリごとに出力する拡張子を変更してみたりしてもいいかもしれません。
参考文献
Inkscape のコマンドライン
コメントの書き方
バッチファイルの引数とドラッグ&ドロップ
if文