USB メモリ活用講座
【W32TeX ポータブル化】

< 最終更新日: 2023-12-07 >

はじめに

Windows 10 でインストール作業を行なうには,管理者 (Administrator) 権限を持つユーザで作業を行うとよいでしょう.

ここでは USB メモリを PC に挿入したときに,認識されるドライブレターが (U:) であるものとし,このドライブのことを USB ドライブと呼びます.

W32TeX (x86) は,40 以上ものアーカイブファイルから構成されており,必要な機能だけを選択してインストールすることができます. どのようなアーカイブファイルがあるかなどについて,最初に角藤先生のサイト (http://w32tex.org/index-ja.html) の情報を確認することを強く推奨します.

アーカイブファイルは,次のサイトからダウンロードできます. かなりの容量のファイルをダウンロードすることになりますので,ネットワーク的に近いところを利用するのがマナーです. 長岡高専の学内 LAN からは,一番下の長岡高専学内 FTP サーバを利用しましょう.

W32TeX をフルインストールしようとすると,40 以上のアーカイブファイルをダウンロードしなければならず,USB に必要なアキ容量もかなり大きくなってしまいます. そこで LaTeX2e (pLaTeX2e),XeLaTeX,LuaLaTeX を利用して,日本語を含む PDF ファイルを出力できる程度を目安に独断でダウンロードするファイルを選定しました※1. さらに,ファイルを個別にダウンロードする手間を省くため,順次ファイルをダウンロードする WSH (Windows Scripting Host) の VB スクリプトを作ってみました (WSH について興味がある方は,こちら をご覧ください).

まずは,テキストエディタを起動して,次のような VB スクリプトを入力しましょう. 先頭がアポストロフィ (') の行はコメント (注釈) となりますので,飛ばしてもかまいません. 正確にタイプする自信がない方は,ブラウザからエディタへコピー&ペーストすればよいでしょう.

' WSH で W32TeX の主要ファイルをダウンロード
Option Explicit
Dim objHTTP,objStream,objWshShell
Dim strURL,strSrc,strDst
Dim aryFile,i
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
strURL = InputBox( _
  "W32TeXのファイル配布URLを指定してください.", "URL指定" , _
  "http://ftp.jaist.ac.jp/pub/CTAN/systems/win32/w32tex/")
If strURL="" Then WScript.Quit
aryFile = Array( _
  "unzip.exe", _
  "texinstwin.zip", _
  "latex.tar.xz", _
  "mftools.tar.xz", _
  "pdftex-w32.tar.xz", _
  "platex.tar.xz", _
  "ptex-w32.tar.xz", _
  "web2c-lib.tar.xz", _
  "web2c-w32.tar.xz", _
  "dvipdfm-w32.tar.xz", _
  "dvipsk-w32.tar.xz", _
  "ltxpkgs.tar.xz", _
  "luatexja.tar.xz", _
  "luatex-w32.tar.xz", _
  "makeindex-w32.tar.xz", _
  "manual.tar.xz", _
  "newtxpx-boondoxfonts.tar.xz", _
  "t1fonts.tar.xz", _
  "tex-gyre.tar.xz", _
  "txpx-pazofonts.tar.xz", _
  "sam2p-w32.tar.xz", _
  "uptex-w32.tar.xz", _
  "xetex-w32.tar.xz")
Set objWshShell = WScript.CreateObject("WScript.Shell")
i = objWshShell.Popup("ダウンロードを開始します", 0, "ダウンロード開始", 1)
If i = 2 Then WScript.Quit
Set objHTTP = WScript.CreateObject("Msxml2.XMLHTTP")
Set objStream = WScript.CreateObject("Adodb.Stream")
objStream.Type = adTypeBinary
For i = 0 to uBound(aryFile)
  strSrc = strURL & aryFile(i)
  objHTTP.Open "GET", strSrc, False
  objHTTP.Send
  objStream.Open
  objStream.Write objHTTP.responseBody
  objStream.Savetofile aryFile(i), adSaveCreateOverWrite
  objStream.Close
Next
WScript.Echo "ダウンロード完了"

入力し終えたら getW32TeX.vbs と名前をつけて,ローカルハードディスクの適当なフォルダ (C:\temp など) に保存しましょう. なお,保存するときには文字コード (エンコード) をシフト JIS (Shift_JIS) にする必要があるようです. 「メモ帳」でこのスクリプトを作成する方は,保存時の文字コードを ANSI に指定するとともに,ファイル名が getW32TeX.vbs.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが). なお,このスクリプトを置いたフォルダに指定したファイルが順次ダウンロードされますので,空き容量が十分なフォルダに保存してください. 空き容量の目安は 550MB 程度です (ltxpkgdocs.tar.xz を加える場合は約 950MB※1).

ここで,10 行目の URL 指定部分 (http://ftp.jaist.ac.jp/pub/CTAN/systems/win32/w32tex/) には,前述の配布サイトリストなどを参考にして,HTTP プロトコルで接続可能な,ネットワーク的に近い TeX 配布サイトの URL を指定しましょう (実行時に指定することも可能にしてあります). また,13~35 行目は,実際にダウンロードするファイルを指定する部分です. 他の配布ファイルも加えたいときは,この部分に追加すればよいでしょう. それぞれの配布ファイルの詳細については,角藤先生の 1 次配布サイト にある解説や,アーカイブファイルの配布サーバにあるテキストファイル 00FILES.sjis などで説明されています.

注意: W32TeX はほぼ毎日のように更新されており,配布ファイル名やファイル構成が事前予告なしに変更されることがあります. ダウンロードスクリプトを実行する前にダウンロードするファイル名が変更になっていないかを確認してください (W32TeX のアップデート も参考にしてください).

図1・WSHのエラーメッセージ
図1・WSH のエラーメッセージ

それでは,スクリプト getW32TeX.vbs を起動しましょう. もし図 1 のようなエラーメッセージが表示された場合には,getW32TeX.vbs が UTF-8 など,WSH が対応していない文字コードで保存している可能性があります. エディタで getW32TeX.vbs を開き,シフト JIS (Shift_JIS) コードで保存しなおしてください.

正常に起動できた場合には配布サイトの URL を確認するダイアログボックスが表示されます. そのままでよければ OK を,別のサイトからダウンロードしたければ,その URL を正しくタイプ入力してから OK をクリックします.

次にダウンロードを開始してよいか確認のダイアログボックスが表示されますので,OK をクリックします. 何かの事情で中止したければ キャンセル をクリックします. OK をクリックしたら指定ファイルが全てダウンロードされ,完了が通知されるまでしばらく待っていてください (ダウンロードの中断/再開機能や,ダウンロード中のエラー処理も実装すべきだと思いますが,手を抜いてしまっています. また,ファイルは順次ダウンロードするので,同時にたくさんのコネクションを張るようなダウンローダに比べて遅いかもしれませんが,その分配布サイトには迷惑をかけない仕様にしたつもりです).

完了が通知されたら,スクリプトが置いてあるフォルダに配布ファイルがそろっているかを確認してください. ダウンロードするファイルの指定を変更していないのであれば,23 個のファイルをダウンロードしているはずです (ltxpkgdocs.tar.xz を加えた方は 24 個※1).

W32TeX (x86) のインストール

ダウンロードが済んでしまえば,インストールは比較的に簡単です. 次の手順に従って作業しましょう.

  1. USB ドライブ (ドライブレターを U: とします) に W32TeX をインストールするためのフォルダを作成します. 以下では usr\w32tex フォルダをインストール先として説明します.
  2. texinstwin.zipU:\usr\w32tex フォルダに展開 (解凍) します. Windows PC で展開 (解凍) を行うには,zip ファイルを右クリックして表示されるメニューから「すべて展開」を選び,「圧縮フォルダの展開」ウィザードに従ってもよいでしょう. ダウンロードしたファイルが保存されているフォルダにある unzip.exe を使って展開 (解凍) することもできますし,基礎編のファイル圧縮・展開 (解凍) ツールで紹介した 7-Zip Portable や PeaZip Portable でも展開 (解凍) 可能です.
  3. コマンドプロンプトを開き,USB ドライブの usr\w32tex をカレントディレクトリにします:
    U: Enter
    cd \usr\w32tex Enter
  4. 簡易インストーラ texinstwin.exe を起動して,インストールを行ないます (ダウンロードしたファイルが C:\temp にある場合の例です. ドライブレター C:temp の間の区切り文字は \ ではなくて / を使って指定します).
    texinstwin C:/temp Enter
    ファイルが展開されていく様子が表示されていきますので,PC に余計な負荷をかけないようにしてしばらく待ちましょう. PC と USB メモリ間の転送速度などによりますが,展開終了まで長時間かかるかもしれません (書き込みが遅い USB フラッシュメモリの場合は数十分~1 時間くらいを見込んでください).
  5. プロンプトが返ってきたら展開終了ですので,コマンドプロンプトを閉じます.
    exit Enter

ローカルハードディスク (C: など) のようにドライブレターが固定されたフォルダに W32TeX をインストールするのであれば,この後は,環境変数 PATHusr\w32tex\bin を追加登録するだけでインストール完了となります. しかし,USB ドライブのように,割り当てられるドライブレターが挿入時に動的に決まる場合には,ちょっとした仕掛けが必要となります. それについては,次のポータブル化の設定で紹介します.

ダウンロードしたファイルの保存先にある unzip.exe や,U:\usr\w32tex にある texinstwin.exe を除いた実行ファイル (bzip2.exebzip2recover.exegzip.exelzip.exelzma.exetar.exexz.exe) は,様々な圧縮ファイルを取り扱うのに役立ちます. これらはパスの通ったディレクトリ (U:\usr\w32tex\bin) などにコピー/移動しておくことを推奨します.

ポータブル化の設定

W32TeX で組版を行うには,USB ドライブの usr\w32tex\bin にパスを通す (環境変数 PATH に登録する) 必要があります. USB ドライブに割り当てられるドライブレターは,固定ではなく USB メモリを挿入するときに決定されますので,そのドライブレターを自動的に検出して環境変数 PATH に登録するような仕掛けをします. これも VB スクリプトで実現してみましょう (バッチファイルによる 別解 もあります. WSH について興味がある方は,こちら をご覧ください).

テキストエディタを起動して,次のような VB スクリプトを入力しましょう. 先頭がアポストロフィ (') の行はコメント (注釈) となりますので,飛ばしてもかまいません. 正確にタイプする自信がない方は,ブラウザからエディタへコピー&ペーストすればよいでしょう.

' TeX ポータブル環境設定
Option Explicit
Dim objWshShell,objFS,objEnv
Dim strDrv,strTeXPath
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
' カレントドライブを取得
strDrv = objFS.GetDriveName(WScript.ScriptFullName)
' usr\w32tex フォルダが存在するかをチェック
strTeXPath = strDrv & "\usr\w32tex"
If objFS.FolderExists(strTeXPath)=0 Then
    WScript.Echo strTeXPath & "が見つかりませんので終了します"
    WScript.Quit 0
End If
' 環境変数 PATH の先頭に usr\w32tex\bin を追加
Set objEnv = objWshShell.Environment("Process")
objEnv.Item("PATH") = strTeXPath & "\bin;" & objEnv.Item("PATH")
' コマンドプロンプトウィンドウを開く
objWshShell.Run "%COMSPEC%"

入力し終えたら texenv.vbs と名前をつけて,USB ドライブ上の適当なフォルダ (U:\bin など) に保存しましょう. なお,保存するときには文字コード (エンコード) をシフト JIS (Shift_JIS) にする必要があるようです. 「メモ帳」でこのスクリプトを作成する方は,保存時の文字コードを ANSI に指定するとともに,ファイル名が texenv.vbs.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが).

図2・エラーメッセージ
図2・エラーメッセージ

それでは動作確認を行いましょう. エクスプローラなどで USB ドライブの中身を表示し,フォルダ bin の中にある texenv.vbs を起動します. そのとき「コマンドプロンプト」が開かれたら,第 1 段階は成功です. もし図 1 のようなエラーメッセージが表示された場合には,texenv.vbs が UTF-8 など,WSH が対応していない文字コードで保存している可能性があります. エディタで texenv.vbs を開き,シフト JIS (Shift_JIS) コードで保存しなおしてください. 右の図 2 のようなエラーメッセージが出力された場合には,その USB ドライブの usr\w32tex にキチンと W32TeX をインストールしてあるか,確認してください.

次に,そのコマンドプロンプトから pLaTeX2e が起動できるかを試します (help の前の - は 2 つあることに注意してください):

platex --help Enter

platex の起動オプションが英文で表示されれば第 2 段階は成功です. 「'platex' は内部コマンドまたは外部コマンド (中略) として認識されていません」といった類のメッセージが表示されるようでしたら,W32TeX のインストール先が usr\w32tex で間違いがないか,VB スクリプト texenv.vbs にタイプミスがないかなどを確認してください.

最後に DVI ファイルを PDF ファイルに変換する dvipdfmx が起動できるかを試します (help の前の - は 2 つあることに注意してください).

dvipdfmx --help Enter

dvipdfmx の起動オプションが英文で表示されれば第 3 段階も成功です. うまくいかなかったら,タイプミスがないかなどを確認してください.

ここまでがうまくいったら,W32TeX のインストールは完了です. pLaTeX2e で記述したソースファイル source.tex を組版して PDF ファイルにするためには,次のようにすればよいでしょう (1 行目の platex による組版は,Warning が出なくなるまで必要に応じて繰り返します).

platex source Enter
dvipdfmx source Enter

動作が確認できたらランチャtexenv.vbs を登録するとよいでしょう.

ポータブル化の設定 (別解)

BCC ポータブル化の応用設定 (別解) で紹介した Command Prompt Portable のバッチファイルを再度編集し,PATHusr\w32tex\bin を加えるのも一案です (具体的なバッチファイルはここでは示しません).

また,BCC 開発環境に含まれる grepmake などのユーティリティは,使い方をマスターすれば TeX の組版でも大変役に立ちます. たとえば,TeX ソースファイルを保存するフォルダ内に,テキストエディタで次のような makefile (又は makefile.mak) を作成しておきます.

# TeX 組版用 makefile
.tex.dvi:
    platex $&.tex

.dvi.pdf:
    dvipdfmx $&.dvi

そして,TeX ソースファイル test1.tex をコンパイルして,DVI ファイルを作成し,それを PDF ファイルに変換するには,次のようにコマンド入力します:

make test1.dvi Enter
make test1.pdf Enter

自分でも色々と試してみてください.

ls-R データベースによる組版処理の高速化

注意: この項で紹介する作業は,必須ではありません. 説明を最後までよく読んで,ls-R データベースによる高速化の恩恵にあずかりたいと思った場合にだけ実施してください.

TeX の組版処理では,TeX がインストールされたフォルダ以下の膨大なサブフォルダ/ファイル群の中から必要なクラスファイルやスタイルファイル等を探し出して読み込むという処理が行われています. このファイル探索は Kpathsea library という機構によって実現されているのですが,目的のファイルを見つけ出すには,相応のディスクアクセスが必要となり,組版の処理速度を低下させる一因となります. フォルダ/ファイルの配置を,あらかじめデータベース化しておくことで,組版処理の高速化が可能です.

データベースを作成する前に,まずは pLaTeX 文書で利用されるクラスファイルやスタイルファイルがどこに格納されているか,Kpathsea で探す方法を紹介しておきます. たとえば,jarticle.cls を探すには,W32TeX に関する設定済みのコマンドプロンプトで,次のように kpsewhich コマンドを起動します.

kpsewhich jarticle.cls Enter

jsarticle.cls が見つかれば,そのパスが次のように表示されます (U: は実際に USB メモリに割り当てられたドライブレターに置き換わります):

U:/usr/w32tex/share/texmf-dist/tex/platex/base/jarticle.cls

指定したファイルが見つからない場合は,何のメッセージも表示されません. 表示されるパスの区切りには / が使われていますが,Windows システムで実際のパスを指定するには \ に置き換える必要があります※2

前置きがやや長くなりましたが,ls-R データベースを作成するには,mktexlsr コマンドを起動するだけです※3

mktexlsr Enter

このコマンドにより,U:\usr\w32tex\share\texmf-distU:\usr\w32tex\share\texmf-localU:\usr\w32tex\share\texmf-projectU:\usr\w32tex\share\texmf-contextU:\usr\w32tex\share\texmf-fonts フォルダに ls-R データベースが作成されます※3. あとは,今まで通り組版処理を行うだけです. お使いの USB ドライブの性能にもよりますが,データベース無しの頃にくらべて,処理速度が速くなったと実感できれば大成功です.

注意: ls-R データベースと,実際のフォルダ構成との間に不整合が生ずると,組版処理が正常に行われなくなることがあります. W32TeX をアップデートしたり,配布ファイルを追加したり,自分でパッケージやフォントを加えたりした場合には,適宜 mktexlsr を起動して ls-R データベースを更新しなければなりません. このような保守作業が面倒 (忘れそう) だとか,トラブルの要因が増えるのは極力避けたいと思う方は,データベースを使わないという選択もアリだと考えます.

ls-R データベースの利用をやめたくなった時には,deltexlsr コマンドを起動します.

W32TeX のアップデート

注意: 2017 年 6 月以降の W32TeX では,graphicx パッケージの仕様変更に伴うフォルダ構造の変更で,画像の読み込みに不具合が発生する可能性があるようです. このため,以前にインストールした W32TeX から,最新の環境にアップデートしようと考えている方は,新規にインストールし直す方がよいでしょう (graphicx パッケージ仕様変更について を参照).

W32TeX は予告なしでフォルダ構成が変更になる場合があります. たとえば,以前 (TeX Live 2012 の頃) は share フォルダに texmf として展開されていたサブフォルダが,TeX Live 2013 以降では texmf-dist という名前に変わりました. 2015 年 6 月 12 日以降では,share/texmf-projectsshare/texmf-project に変更されました (最後の s がなくなりました). おそらく同じころに share/texmf-contextshare/texmf-fonts が加えられました. このため,以前にインストールした W32TeX から,最新の環境にアップデートしようと考えている方は,新規にインストールし直す方が安心かもしれません.

W32TeX は一般的な Windows アプリケーションに比べてインストールの手間がかかります. また,ほぼ毎日のように配布ファイルのどれかが更新されているため,最新の状態を保つのにはそれなりの労力が必要です. 突然コマンド名が変更になる場合もあり,更新したとたんに以前と同じ組版処理ではエラーが発生することになる可能性もあります. こういった理由から一度インストールしてしまうと,不具合がなければそのまま使い続けるユーザが多いかもしれません. ここでは,アップデートしたい場合の手順や注意点を簡単に紹介します (古い日付の情報も含まれますが参考として残しておきます).

  1. どのような更新が行われたかは,http://w32tex.org/ChangeLog というテキストファイル (英文) で確認することができます※4. たとえば,2011 年 9 月 27 日の更新履歴は次のようになっており,(01),(02) の通し番号が付いた 2 つのファイルが更新されたことが示されており,それぞれのファイルについてどのような更新が行われたかの説明も付いています. ちなみに,ChangeLog は日付順に整理されており,古い日付の更新内容ほどファイルの後の方に書かれています.
    [2011/09/27]
    (01) ltxpkgs.tar.xz
         update many packages.
    (02) jtex-w32.tar.xz
         change the JTeX banner.
    
  2. 自分がインストールした配布ファイルのうち,インストールした日付以降に更新が行われたものをすべてローカルハードディスクの適当なフォルダ (C:\temp など) にダウンロードします. getW32TeX.vbs を利用するのであれば,13~31 行目のファイルリストで,更新されていないファイルの行頭にアポストロフィ (') を付けてコメントアウトし,上書き保存してから実行すればよいでしょう (ダウンロードの必要が無いファイルをコメントアウトすることに注意してください). インストールした日付を忘れてしまった場合は,U:\usr\w32tex フォルダの作成日時などを確認すればよいでしょう. また,今後アップデートした日付を確認しやすいように,ChangeLog を TeX をインストールしたフォルダ (U:\usr\w32tex) あたりに保存しておくとよいかもしれません. 更新作業中にディスクの空き領域がなくなると,TeX が正常に動作しなくなる可能性があるので,容量の小さい USB メモリを使っている方は注意して下さい. ファイルサイズや必要なディスクサイズの変化は ChangeLog では明示されていないために確実な根拠があるわけではありませんが,150~200MB 以上の空き容量がなければ,更新は見合わせた方がよいかもしれません.
  3. 更新内容によっては,アップデート前にファイルやフォルダを削除しなければならないことがあるので,ChangeLog を一通り確認します. たとえば,2011 年 9 月 23 日の更新履歴は次のようになっており,ltxpkgs.tar.xz をインストール (更新) する前に 3 つのフォルダ (doc/latex/beamersource/latex/beamertex/latex/beamer) を削除するよう指示されています. これらの 3 つのフォルダは U:\usr\w32tex\share\texmf-dist 以下にあるはずですので,指示に従って削除します.
    [2011/09/23]
    (01) ltxpkgs.tar.xz
         update beamer.  don't forget to remove the following 3 directories
         before the installation of ltxpkgs.tar.xz:
           doc/latex/beamer,
           source/latex/beamer,
           tex/latex/beamer.
    (02) context.tar.xz
         curl.exe: use nasm in OpenSSL.
    
    同様に 2016 年 7 月 4 日の変更履歴は次のようになっており,latex.tar.xz をインストールする前にいくつかのフォルダを削除するよう指示されています.
    [2016/07/04]
    (01) dvipdfm-w32.tar.xz
         Remove texmf-dist/tex/latex/dvipdfmx-def, and
         texmf-dist/doc/latex/dvipdfmx-def.
    (02) latex.tar.xz
         Remove texmf-dist/tex/latex/dviout-def, and texmf-dist/tex/latex/dvipdfm-def.
         Update several graphics drivers *.def.
         It is important to remove the following directories
         texmf-dist/tex/latex/dviout-def
         texmf-dist/tex/latex/dvipdfm-def
         texmf-dist/tex/latex/dvipdfmx-def
         texmf-dist/tex/latex/dvisvgm-def
         texmf-dist/tex/latex/pdftex-def
         texmf-dist/tex/lualatex/luatex-def
         texmf-dist/tex/xelatex/xetex-def
         texmf-dist/doc/latex/dvipdfmx-def
         texmf-dist/doc/latex/dvisvgm-def
         texmf-dist/doc/latex/pdftex-def
         texmf-dist/doc/lualatex/luatex-def
         texmf-dist/doc/xelatex/xetex-def
         before the installation.
    
  4. U:\usr\w32tex 以下で,自分で手を加えたファイルがあるときは必要に応じてバックアップをとります※5
  5. texinstwin.zip も更新されている場合は,W32TeX (x86) のインストールの手順 1~4 と同じ操作を行います※6texinstwin.zip が更新されていなければ,W32TeX(x86) のインストールの手順 2~4 と同じ操作を行います※6
  6. ls-R データベース を利用している場合は,mktexlsr でデータベースを更新します (必要がない場合もありますが,毎回更新する方が安心・確実です).

このほかにも,デフォルトで読み込む設定ファイルが変更される場合があります. たとえば,2016 年 3 月 12 日の dvipdfmx-w32.tar.xz について,次のように記述されています.

[2016/03/12]
(02) dvipdfm-w32.tar.xz
     Change dvipdfmx.cfg to use kanjix.map instead of cid-x.map.

これは,dvipdfmx コマンドがデフォルトで読み込むフォントマップファイルが cid-x.map から kanjix.map に変更されたことを意味します. 従って,これ以前に cid-x.map に独自の設定を書いていた場合には,その設定を kanjix.map の方に書き写すか,改めて cid-x.map を読み込む設定に戻すかをしなければなりません (TeXworks と upLaTeX > dvipdfmx に関する補足 も参考にしてください).

2016 年 11 月 30 日の ChengeLog では,TeX Wiki > 外部コマンドの実行 > 2016/11/30 までのセキュリティ上の問題についてで紹介されている不具合に関する修正作業が行われたことが確認できます.

[2016/11/30]
(05) web2c-w32.tar.xz
     Update texmf.cnf: remove mpost, pmpost, and upmpost
     from shell_escape_commands.

2017 年 8 月 27 日の ChangeLog では,アーカイブファイル vf-a2bk.tar.xz のファイルが ptex-w32.tar.xz に移動されたことが書かれています (しばらく見逃していて getW32TeX.vbs から vf-a2bk.tar.xz を削除するのが遅れました).

[2017/08/27]
(01) platex.tar.xz
     Update platex (pLaTeX2e <2017/07/29>+1).
(02) ptex-ng-w32.tar.xz
     Update format files.
(03) ptex-w32.tar.xz
     Update ptex-base, and ptex-fonts. Move files in vf-a2bk.tar.xz
     to ptex-w32.tar.xz and remove vf-a2bk.tar.xz.

2019 年 4 月 29 日の ChangeLog では,TeXworks のタイプセットで利用されていたバッチファイル pdfplatex.bat などが削除され,代わりに ptex2pdf が利用されることになったことが書かれています. ptex2pdf コマンドは,プログラミング言語 Lua の実行環境 (インタープリタ) を必要とするため,getW32TeX.vbsluatex-w32.tar.xz を加えることにしました.

[2019/04/29]
(06) ptex-w32.tar.xz
     Remove pdfptex.bat, and pdfplatex.bat, which were wrong.
     We use ptex2pdf in TeXworks, instead of the above batch files.

ちなみに,luatex-w32.tar.xz の無い環境で ptex2pdftexdoc を起動すると,次のようなエラーメッセージが出て,利用できないことがわかります.

Script interpreter is not found in PATH.

2019 年 11 月 3 日の ChangeLog では ltxpkgs.tar.xz について,if ではじまる 6 つのスタイルファイルの配置が変更されたことが書かれています. 重複するファイルがないかを kpsewhich コマンドで調べて texmf-dist/tex/generic/iftex 以外のフォルダにあれば削除する必要があるそうです.

[2019/11/03]
(01) ltxpkgdocs.tar.xz
(02) ltxpkgs.tar.xz
     Update changes, cnltx, iftex, l3build, l3kernel, knowledge,
     modiagram, oberdiek, poemscol, preview, and subfiles.
     Many if* packages are now installed in
     $TEXMFDIST/tex/generic/iftex.
     If the following 6 commands find files in other directories,
     then plese delete found files.
     kpsewhich --all ifetex.sty
     kpsewhich --all ifluatex.sty
     kpsewhich --all ifpdf.sty
     kpsewhich --all iftex.sty
     kpsewhich --all ifvtex.sty
     kpsewhich --all ifxetex.sty

2019 年 11 月 13 日の ChangeLog では txpx-pazofonts.tar.xztxfontsb フォントが加わったことが書かれています. 詳しくは TX Fonts (txfontsb) / PX Fonts パッケージをご覧ください.

[2019/11/13]
(08) txpx-pazofonts.tar.xz
     Add txfontsb fonts.

2020 年 4 月 19 日の ChangeLog では dvipdfmx がデフォルトで埋め込み処理を行う和文フォントが,従来の IPAex フォントから原ノ味フォント (HaranoAji) フォントに変わったことが書かれています. 原ノ味フォントフォントは Adobe が SIL Open Font License (OFL) のもとで提供する「源ノ明朝 (Source Han Serif)」および「源ノゴシック (Source Han Sans)」をベースに作成され配布されているオープンソースフォントです. 詳しくは TeX Wiki>原ノ味フォント をご覧ください. 原ノ味フォントそのものは luatexja.tar.xz に含まれます.

[2020/04/19]
(01) dvipdfm-w32.tar.xz
     Update kanjix.map (Use HaranoAji fonts by default).

【参考】pLaTeX2e 新ドキュメントクラスについて

pLaTeX2e 新ドキュメントクラス (jsclass) は,奥村先生 が「LaTeX2e 美文書作成入門」の執筆用に作成されたドキュメントクラスです. 現在は,日本語 TeX 開発コミュニティに引き継がれてメンテナンスされているそうです.

標準的な pLaTeX2e で使用するクラス (jarticlejbook など) では「ちょっと」のように拗音と促音が続くような文字を組版したとき「ょ」と「っ」の間が詰まりすぎる感じになります (厳密には,jarticle などで用いている和文のフォントメトリックファイル min10.tfmgoth10.tfm などの問題ですが). jsclass では,JIS 規格に即したフォントメトリック (jis.tfmjisg.tfm など) を標準で使用するので,この問題は生じません. 他にも figuretable などのフロート環境がページ内に配置される個数や大きさの制約が緩和されているなど,いろいろと調整が施されているので,ぜひ使ってみてください.

jsclass に含まれる jsarticle.cls を用いて組版を行なうには,次のようにドキュメントクラスに指定します※7

\documentclass[dvipdfmx]{jsarticle}

W32TeX の配布ファイルでは,Unicode で pTeX を組版するための uptex-w32.tar.xzjsclass が含まれています. getW32TeX.vbs のダウンロードリストを変更していなければ,インストール作業は不要です. もし uptex-w32.tar.xz をリストから外してしまった方は,以下に従ってインストールしましょう.

注意: ダウンロード用のスクリプトに uptex-w32.tar.xz が含まれていた場合は,これ以降の作業は不要です.

  1. CTAN の pLaTeX2e 新ドキュメントクラス から,最新の jsclasses.tds.zip を,ローカルハードディスクの適切なフォルダ (C:\temp など) にダウンロードします. Download the contents of this package in one zip archive と書かれたリンクからダウンロードできる jsclasses.zip もありますが,TDS archive の方を推奨します.
  2. jsclasses.tds.zip を USB ドライブの usr\w32tex\share\texmf-local フォルダ以下に展開 (解凍) します※8. すると,つぎのフォルダに必要なファイルが配置されます.
    • doc\platex\jsclasses : ドキュメント類 (PDFなど)
    • source\platex\jsclasses : ソースファイル
    • tex\platex\jsclasses : クラスファイルとスタイルファイル