W32TeX on Windows 8.1

前回(MSYS2+VagrantによるWindowsでのUNIX環境),Windows 8.1 上にて MSYS2 環境を構築しましたので,今回はその上でTeXを動かしたいと思います.

WindowsでTeXといえば,TeX Liveか,TeXインストーラ3ということになるかと思います.

TeXインストーラ3
http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html

一般の人にはこれでいいかと思いますが,MSYS2のminttyとEmacs(YaTeX)の環境で,かつできるだけサイズを小さく環境構築したいので,以下の方法を採りました.忘れそうなので,ほぼ自分のために備忘録しておきます.一般の人には参考にならないかも...

まずは,TeXをインストールするフォルダを作成します.私は「C:¥Applications¥W32TeX」としました.後述する「DVIOUT」のためにも,本当はフォルダの名前の文字数は8文字以内がいいのですが...

またそのフォルダの中に,「temp」フォルダを作成しておきます.

次のサイトより,TeX関係バイナリをダウンロードしておきます.

W32TeX 最新版 TeX (Win32) 関係バイナリ
http://w32tex.org/index-ja.html

  • biblatex-biber.tar.xz
  • dvipdfm-w32.tar.xz
  • dvipsk-w32.tar.xz
  • latex.tar.xz
  • ltxpkgs.tar.xz
  • makeindex-w32.tar.xz
  • manual.tar.xz
  • mftools.tar.xz
  • otfbeta.tar.xz
  • pdftex-w32.tar.xz
  • platex.tar.xz
  • ptex-w32.tar.xz
  • sam2p-w32.tar.xz
  • t1fonts.tar.xz
  • timesnew.tar.xz
  • txpx-pazofonts.tar.xz
  • uptex-w32.tar.xz
  • vf-a2bk.tar.xz
  • web2c-lib.tar.xz
  • web2c-w32.tar.xz

64bit版と32bit版とがありますが,これは32bit版です.64bit版はこれに64bit版のアーカイブも一緒にインストールします.

ここでは,32bit版をインストールしたいと思います.

上記サイトからダウンロードしたファイルを,「temp」フォルダにコピーしておきます.

また,上記サイトより,「texinst2014.zip」をダウンロードし,適当な場所で展開します.
その中のEXEファイルだけ,準備したフォルダ(「C:¥Applications¥W32TeX」)にコピーします.

現在の状況として,次のようにファイルが配置されていると思います.

C:¥Applications¥W32TeX
→ texinst2014.exeやbzip2.exeなど

C:¥Applications¥W32TeX¥temp
→ platex.tar.gzなど必要なアーカイブ

最後に,コマンドプロンプトにて,次のコマンドを実行し,とりあえずインストールは終了です.

> cd \Applications\W32TeX
> texinst2014 c:\Applications\W32TeX\temp

MSYS2シェル環境にて,「.bash_profile」なんかに次のようにPATHの設定を追加します.

export PATH="$PATH:/c/Applications/W32TeX/bin"

TeX文書に,EPSなどの画像ファイルを埋め込むためには,Ghostscriptが必要です.上記W32TeXサイトより,「GPL Ghostscript 9.15バイナリ」の「gs915w32full-gpl.exe(32bit)」をダウンロードします.

TeXが32bit版を入れているので,Ghostscriptも32bit版にします.

通常通りインストールしますが,最後にWindowsの環境変数「PATH」を設定しておきます.これだけはWindowsのPATHに追加しておかないとダメなようです.

[コントロールパネル] > [システムとセキュリティ] > [システム]

  • [システムの詳細設定]の[環境変数…]の「新規」で
  • 変数名:
    • PATH
  • 変数値:
    • C:¥Program Files (x86)¥gs¥gs9.15¥bin;C:¥Program Files (x86)¥gs¥gs9.15¥lib

実際に動作を確認してみます.次のようなTeXファイル(例として「sample.tex」)を作成し,同じディレクトリに「hoge.eps」という名前のEPS形式の画像ファイルが存在するとします.

[sample.tex]

\documentclass{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\begin{document}

Hello \LaTeX !

こんにちは \LaTeX !

\begin{figure}[hb]
\begin{center}
\includegraphics[width=10cm]{hoge.eps}
\caption{hogeのグラフ}
\label{hoge}
\end{center}
\end{figure}

\end{document}

それでは「platex」コマンドにて,TeXファイルをDVIファイルに変換します.

$ platex -kanji=utf8 sample.tex

これで,同じディレクトリに「sample.dvi」ができれば成功です.

次に,「dvipdfmx」コマンドを使って,先ほど生成されたDVIファイルをPDFファイルに変換します.

オプションで,dvipdfmxでフォントマップの指定して実行します.

MS明朝,MSゴシックを埋め込む場合

$ dvipdfmx -f msmingoth.map sample.dvi

埋め込まない場合

$ dvipdfmx -f noembed.map sample.dvi

何も指定しないと ipaex.map が呼ばれるので,フォントファイル「ipaexg.ttf」がないとエラーが出ます.それを回避するために,IPAのサイトから,IPA EXフォントをダウンロードしてインストールしておきます.

ipaexフォントダウンロード
http://ipafont.ipa.go.jp/ipaexfont/download.html

dvipdfmxで,DVIファイルからPDFファイルに変換できるので,これでも十分ですが,Macのプレビューと違って,Acrobat Readerでは,PDFファイルを開いたまま,変換結果を更新して表示することができないので,DVIプレビューアである「DVIOUT」をインストールします.

DVIOUTは,以下のURLよりダウンロードします.

http://www.tex.ac.uk/tex-archive/dviware/dviout/

ここから最新版dvioutをダウンロードし,インストールします.
2014年12月現在の最新版は「dviout3184-inst.zip」です.

単独でdviout.exeを実行して,設定を行います.

設定については奥村先生のページを参考にしました.
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?dviout

[Option] > [Setup Parameters]

  • [Resolution]タブ
    • resolution dpi: 600 dpi
  • [Font]タブ
    • TEXROOT:
      • C:¥APPLIC~1¥W32TeX¥share¥TEXMF-~1¥fonts
        (※「C:¥Applications¥W32TeX¥share¥texmf-dist¥fonts」では,ディレクトリ名文字数制限に引っ掛かりNG)
    • TEXPK:
      • ^r¥tfm¥¥^s^tfm;^r¥pk¥¥^s.^dpk;^r¥vf¥¥^s.vf;^r¥ovf¥¥^s.ovf;^r¥tfm¥¥^s.tfm
    • TEXFONTS:
      • ^r¥tfm¥¥
  • [Font2]タブ
    • gen:
      • `C:¥APPLIC~1¥W32TeX¥bin¥mktexpk.exe –dpi ^d –bdpi ^D –mag ^M ^s
        (※バッククォート「`」必須)
    • TEXSUBF:
      • ^r¥sfd¥¥;^r¥..¥ttf2pk¥¥;^r¥..¥ttf2tfm¥¥
  • [Graphic]タブ
    • gsx:
      • C:¥APPLIC~1¥W32TeX¥bin¥rungs.exe

Emacs上から,platexコマンドを実行したり,DVIOUTを起動してDVIファイルをプレビューさせたり,PDFファイルを生成するなどの一連の流れを実行できるようにするために,YaTeXをセットアップします.

YaTeXの公式サイト
http://www.yatex.org/

[~/.emacs.d/init.el]

:
;; YaTeX
(setq auto-mode-alist
(cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
;; Jlatexコマンド(C-c t j)
(setq tex-command "c:/Applications/W32TeX/bin/platex.exe -kanji=utf8")
;; Dvipdfmxコマンド(C-c t d)
(setq YaTeX-dvipdf-command "c:/Applications/W32TeX/bin/dvipdfmx.exe -f noembed.map")
;; Previewコマンド(C-c t p)
(setq dvi2-command "c:/Applications/dviout/dviout")
;; UTF-8
(setq YaTeX-kanji-code 4)
;; 自動改行を無効
(add-hook 'yatex-mode-hook' (lambda () (setq auto-fill-function nil)))
(put 'upcase-region 'disabled nil)
:

YaTeX経由のdvipdfmxコマンド実行で,EPS画像が表示されない(「rungs」コマンドの実行で失敗する)場合があります.私はこれにはまりました...

解決方法としては,dvipdfmx.cfgを一部修正します.

[dvipdfmx.cfg]

:
D "rungs -q -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile='%o' -c .setpdfwrite -f '%i' -c quit"
:

の「rungs」のところをフルパスで書きます.

「rungs -q …」 → 「c:/Applications/W32TeX/bin/rungs -q …」

参考となったサイト
Emacs + YaTeXのことで困っています。C-c C-t dでTeXコンパイルをしたい… – Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12140051357

とりあえず,これで良いかなー.

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中