天地有情

GnuWin32 を使う雑記録

Windows で GNU Tools GnuWin32 を使う雑記録

Windows で GNU Tools を使いたいときがあります.
代表的なものとして Cygwin を用いる方法があります.

GNU 系のプログラムが全部入れられ、UNIXライクなプログラムの大半がビルド出来ます.
すべてのプログラムが cygwin1.dll にリンクしており,専用のシェルから使います.

インストールが面倒で重すぎる感じがします.もう少し軽いのが欲しいと思う人も多いでしょう.

そこで, GnuWin32 を紹介します.特徴は次のようです.

(1)Win32 ネイティブアプリケーションでビルドされている.
(2)GNU Tools のみがインストールされて,パスを通せばコマンドプロンプト(cmd.exe) で使える.

■ どのようなコマンド群が用意されているか.

UNIX Command Line Utilities ported to Windows GnuWin32 Packages で調べることができます.
以下のウェブサイトにアクセスしてみてください.

http://www.innovate-consult.com/content/unix-command-line-utilities-ported-windows-gnuwin32-packages

■ GnuWin32 のダウンロード

Automated gnuwin32 download tool Download Automated gnuwin32 download tool software for free
以下のウェブサイトにアクセスし「Download」をクリックし,ダウンロードします.

http://sourceforge.net/projects/getgnuwin32/


■ パスの設定

後はお決まりのパスの設定を行えば終了です.

■ その他のお手当て

Windowsのコマンドプロンプトが不便だから Bash を使いたい場合には,
gnuwin32でWindows用にコンパイルされたbashを使います.

wget でファイルをゲットし, unzip で展開します.

wget http://www.steve.org.uk/Software/bash/bash-203.zip
unzip bash-203.zip

C:\>unzip bash-203.zip
Archive: bash-203.zip
creating: bash-2.03/
inflating: bash-2.03/.bashrc
inflating: bash-2.03/bash.dll
inflating: bash-2.03/bash.exe
inflating: bash-2.03/chmod.exe
inflating: bash-2.03/cp.exe
inflating: bash-2.03/less.exe
inflating: bash-2.03/lesskey.exe
inflating: bash-2.03/ls.exe
inflating: bash-2.03/mv.exe
inflating: bash-2.03/README.txt
inflating: bash-2.03/rm.exe

解凍されたファイル群をgnuwin32に上書きコピーしてもよいでしょう.

GnuWin32 自体の ls.exe は日本語が化けます.
そこで,bash.zip で得られた ls.exe をgnuwin32にコピーすると文字化けを回避できます.


■ Windows PowerShell とは

最近の Windows には PowerShell という強力なシェルが標準搭載されています.
エイリアス機能を使えば DOS コマンド名や UNIX コマンド名がそのまま使えます.

Windowsのコマンドプロンプト(cmd.exe)は UNIX系OS の環境に比べると貧弱なものです.
特に,バッチコマンドはスクリプトと呼ぶには原始的すぎて,複雑なプログラムを記述できません.
こうした問題に対応したのが PowerShell です.

PowerShellは,高機能なコマンドライン操作体系と本格的なプログラミングに耐えられる言語体系を両立し,
コマンドライン操作とスクリプトに対して同じ環境を提供します.
なお,従来のコマンドプロンプト(cmd.exe)とは全く互換性がありません.

多くのシェルがそうであるように,PowerShellは次の2つの機能を提供します.


・ 対話式シェルによるオペレーション
・ シェルスクリプトの実行(スクリプト言語)

PowerShell を使いこなせば GnuWin32 の導入は不要になるかもしれません.
詳しくは稿を改めて書く予定です.今回は単なる紹介のみに留めます.

スポンサーサイト
  1. 2013/05/30(木) 09:56:54|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] 画像変換ツール sam2p 覚え書き

sam2p (ビットマップ → PDF/EPS/PS)に変換するコマンド・ライン・ユーティリティです.
W32TeX, TeX Live にも収録されています.

■ EXAMPLES

画像ファイルを .eps に変える使い方.

sam2p infile.gif outfile.eps

出力フォーマットは,ファイル拡張子から推測されます.
出力フォーマットも,オプションとして,または出力ファイルへの接頭辞として指定されることができます.

たとえば、次の命令は、PostScript レベル3 を生じます.

sam2p infile.gif psl3:outfile.ps

sam2p -ps:3 infile.gif outfile.ps

sam2pはそれ自身の(zipとlzw)圧縮フィルタをPostScriptファイルに含むことができます.
そして,通常より良い圧縮が PostScript レベル1で支えられるのを許します.

sam2p -1 -c:zip infile.gif outfile.ps

sam2p -1 -c:lzw infile.gif outfile.ps

■ OPTIONS
-1, -ps:1, psl1:
produce Postscript Level 1

-1c, -ps:1c, pslc:
produce Postscript Level 1 with the CMYK and ‘colorimage’ exten‐
sion

-2, -ps:2, psl2:
produce Postscript Level 2 (default for postscript)

-3, -ps:3, psl3:
produce Postscript Level 3

-pdf:b0, pdfb1.0:
produce PDF version 1.0 (BI inline image)

-pdf:b2, pdfb1.2:
produce PDF version 1.2 (BI inline image) (default for PDF)

-pdf:0, pdf1.0:
produce PDF version 1.0 (XObject image)

-pdf:2, pdf1.2:
produce PDF version 1.2 (XObject image)

-e:0, -e:none
don’t scale

-e, -e:1, -e:scale
scale image to fit page

-e:rot, -e:rotate
scale and rotate image to fit page (default if output filename
has .ps extension)

-m:dimen
set all page margins to dimen
dimen can have one of the following units (as in TeX): bp, in,
pt, pc, dd, cc, sp, cm, mm

-m:spec:dimen
set spec margin(s) to dimen (spec can be l, r, t, b, v (top and
bottom), h (left and right))

-m:dpi:res
set output EPS or PDF to resolution res dpi

-c:none, -c:lzw, -c:zip, -c:rle, -c:fax, -c:dct, -c:jpeg
select compression type (support depends on output format)

-j:quiet
print only error and fatal error messages, suppress warnings,
notices etc. Must be put at the beginning of the command line
to suppress initial banners, too.

-- If not the last argument: treat all further arguments as files
(required if a filename contains a colon or starts with a minus)
If the last argument: use input filename as ouput filename (i.e.
overwrite input file).


■ 入出力フォーマット

Input formats:
PNM, PBM, PGM, PPM, XPM, GIF, LBM, TGA, PCX,
JPEG (requires djpeg from package libjpeg-progs),
TIFF (requires tifftopnm from package netpbm),
PNG (requires pngtopnm from package netpbm),
PS, EPS, PDF (require ghostscript)

Output formats:
XWD, BMP, PNG, TIFF6, JPEG, PNM, GIF89a, XPM, PS (levels 1,2,3),
EPS (levels 2,3), PDF (1.0 and 1.2)

若干のフォーマットのために、sam2pは透明度をサポートします。





  1. 2013/05/18(土) 09:44:25|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0

[LaTeX] latexmk と ptex2pdf

§1 はじめに

更新版: 2017/05/06 (部分修正)

最近は (p)LaTeX をタイプセットした結果を DVIファイルでなく,PDFファイルとするのが風潮です.
そのPDFファイルを生成するツールとして latexmk と ptex2pdf があります.
以下はこれらのツールの使い方について
説明を試みる次第です.対象マシンは Windows です.

§2 latexmk の使い方など

■ インストールについて
W32TeX では w32tex/bin に latexmk.exe が用意されています.
単独で導入する場合は http://www.ctan.org/pkg/latexmk/ から DownLoad し,
上記ディレクトリに配置すればよいでしょう.

■ 導入手順
(1) Active Perl を導入(必須)

(2) SmatraPDF を導入します.オプション導入ですが便利です.
※Windows用に最適.synctexに対応しています.
 表示されたPDFをダブルクリックすればエディタが起動し,該当のソースファイル
 が表示されます.SmatraPDF にはエディタ登録機能があります.
 
※Adobe Reader でも可です.ただし,synctexに未対応となります.

(3) ホームディレクトリを確認
※確認方法:コマンドラインにて echo %USERPROFILE% とすればよいでしょう.
※このホームディレクトリに後述のファイル(.latexmkrc)を格納します.

(4) .latexmkrc ファイルの作成
※一応,標準的なもので,私自身が利用しています.
-----------------------------------------
$latex = 'platex -guess-input-enc -src-specials -interaction=nonstopmode -synctex=1';
$latex_silent = 'platex -interaction=batchmode';
$dvips = 'dvips';
$bibtex = 'pbibtex';
$makeindex = 'mendex -r -c -s jind.ist';
$dvi_previewer = 'start dviout'; # -pv option
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_previewer = '"C:\Program Files\SumatraPDF\SumatraPDF.exe" %O %S';
$pdf_mode = 3;
$pdf_update_method = 0;
-----------------------------------------

※(注意)
上記は TeXソースファイル の文字コードが Shift JIS の場合であり,
UTF-8の場合には,コマンド名やオプションが変わります.上記を参考に修正すればよいでしょう.

■ コンパイル操作

latexmk のオプションはコマンドラインから
latexmk -help
と打ち込めばよい.

● よく使われるコマンドオプション
(1) latexmk -pv foo[.tex]    PDFを表示

(2) latexmk -pv -ps foo[.tex]  PDFを表示 および PSファイル生成

オプション説明:
-ps generate postscript
-pv preview document
-v display program version
-help


§3 ptex2pdf の使い方など

■ インストールについて
W32TeX では w32tex/bin に ptex2pdf.exe が用意されています.

■ コンパイル操作

ptex2pdf のオプションはコマンドラインから
ptex2pdf -h
と打ち込めばよい.

オプション説明:
-e: eptex
-u: uptex, uplatex
-l: platex, uplatex
-s: pdfを作成しない
-i: dviを消さない
-ot : 他のtex options
-od : 他のdvipdfmx options
-h: help
-v: version

● よく使われるコマンドオプション
(1) ptex2pdf -l foo[.tex]   platex用

(2) ptex2pdf -l -u foo[.tex] uplatex用

(3) ptex2pdf -e foo[.tex]   plain TeX用

(4) ptex2pdf -l -od "-f kozuka.map" foo[.tex] --- font mapを指定
※ cmd.exeの場合にはダブルクオート,
powershellの場合にはダブルクオート,シングルクオートどちらでも可.


■ TeXworks への登録

ptex2pdf を TeXworks に登録する方法を以下のアドレスで紹介します.

http://www.preining.info/blog/software-projects/ptex2pdf/
  1. 2013/05/05(日) 16:23:55|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0