はじめに
Windows 7/8.1/10 でインストール作業を行なうには,管理者 (Administrator) 権限を持つユーザで作業を行うとよいでしょう.
ここでは USB メモリを PC に挿入したときに,認識されるドライブレターが U:
であるものとし,このドライブのことを USB ドライブと呼びます.
まだ W32TeX や dviout for Windows をポータブル化していない方は,先にその作業を行なってください. また,WinShell については,TeXWiki の WinShell で詳しい説明がされていますので,そちらを先に一読することを推奨します.
WinShell は WinShell のサイトからダウンロードできます. Ring サーバの CTAN ミラー でも配布されていますが,2016 年 8 月現在では最新バージョンは置かれていないようです.
WinShell のサイトから,拡張子が zip の最新のファイル WinShell332Portable.zip
を,ローカルハードディスクの適切なフォルダ (C:\temp
など) にダウンロードしましょう.
WinShell の展開 (解凍) と設定
WinShell を USB ドライブの usr\WinShellPortable
フォルダにインストールすることにします.
別のフォルダにインストールしたい人は,適宜読み替えながら作業を進めてください.
WinShell332Portable.zip
を USBドライブのusr
フォルダに展開 (解凍) します (zip ファイルを展開するとWinShellPortable
というサブフォルダが作成されます). Windows エクスプローラから展開を行うには,zip ファイルを右クリックして表示されるメニューから「すべて展開」を選び,「圧縮フォルダの展開」を利用すればよいでしょう.unzip.exe
コマンドでも展開可能ですし,基礎編のファイル圧縮・展開 (解凍) ツールで紹介した 7-Zip Portable や PeaZip Portable でも展開可能です.- USB ドライブの
WinShellPortable
フォルダの下にSettings
というサブフォルダがあることを確認します (以前のバージョンでは自分で作成する必要がありました). このSettings
サブフォルダが事前に存在すれば,WinShell の設定は全てSettings
サブフォルダ以下に保存されます. - 警告:
この設定は,くれぐれも自己責任でお願いします.
USB ドライブに少しでも多くのアキを作りたい方は,
usr\WinShellPortable\Translations
フォルダのtranslations.txt
を参考にして,使用しないつもりの言語ファイルを削除します.en_US.txt
(英語),ja_JP.txt
(日本語),translations.txt
だけを残すようにすると約 700KB アキが増えます. WinShellPortable
フォルダの中のWinShell.exe
を起動します. 初めて起動するときは,図1 のような言語選択のダイアログボックスが表示されますので,Japanese を選んで OK をクリックします.図1・WinShell の言語選択 - WinShell が起動されたら,バージョン情報のダイアログボックスが表示されますので,OK をクリックします (このダイアログボックスは ヘルプ-WinShellについて から開かれるものと同じです).
- 続いて図2 のようなアップデートの確認のダイアログボックスが表示されるかもしれません.
Local version が現在のバージョン,Release version が最新バージョンを表していますので,確認したら Update をクリックすると自動アップデートが行われます.
アップデートが完了したら再起動を促すダイアログボックスが表示されますので OK をクリックし,WinShell をいったん終了させて,起動しなおします.
図2・WinShellのアップデート - Windows 8 以降の OS では図3 のような Windows SmartScreen による警告が表示されるかもしれません.
これは WinShell の実行ファイルに発行元のデジタル署名が付いていないためです.
「PC に問題が起こる可能性」がとにかく心配であれば 実行しない をクリックして,WinShell を使うことをあきらめましょう
(
WinShellPortable
フォルダを削除すればアンインストール完了です). このまま WinShell を使ってみようという場合は,「詳細情報」をクリックして表示される 実行 ボタンをクリックします. さらに「不明な発行元からのアプリが PC に変更を加えることを許可しますか」といった警告のダイアログボックスが表示されたら,はい をクリックします.図3・Windows SmartScreen による警告 - WinShell が起動されたら,オプション-フォント を選択します.
図4のようなダイアログボックスが表示されますので,「文書」のフォントを確認します.
「フォント」が「MS ゴシック」などの和文フォントで,「スクリプト」が「日本語」,「エンコーディング」が「ShiftJIS」になっているか確認し,違っていたら適宜変更します.
終わったら OK をクリックします.
注意: WinShell ではエンコーディングとして「UTF-8」も選択できるのですが,現在の Ver.3.3 系では問題があるようです. さらに詳しい情報はTeXWiki の WinShell から「不具合」の項を確認してください.
図4・WinShell のフォント選択 - 次に,オプション-主な TeX プログラムの設定 を選択します.
図5のようなダイアログボックスが表示されますので,次のように変更 (確認) して OK をクリックします (自分が利用する予定のない機能の設定は省いても大丈夫です).
- プログラム「LaTeX」:exe ファイル名を「
platex.exe
」に変更します. - プログラム「BibTeX」:exe ファイル名を「
pbibtex.exe
」に変更します. - プログラム「DVIView」:exe ファイル名を「
dviout.exe
」に変更します (dviout.exe
の前にパス名が付いていたら削除してください). dviout を多重 TEXMF ツリーに対応させて利用する場合は,dviout の呼び出し (多重 TEXMF ツリー対応) に従ってください. - プログラム「DVI → PS」:exe ファイル名を「
dvips.exe
」に変更します - プログラム「GSView」:GSview の呼び出し に従ってください.
- プログラム「PDFLaTeX」および「PDFView」:SumatraPDF との連携 (SyncTeX 機能を使う) に従ってください.
図5・WinShellのTeXプログラム設定 - プログラム「LaTeX」:exe ファイル名を「
- ここでいったん WinShell を終了します.
USB ドライブの
WinShell\Settings
フォルダにWinShell.ini
,WinShell.macros
,WinShellMacros.bmp
,WinShellTools.bmp
などのファイルができていれば,ポータブル化は成功しています. - dviout for Windows のポータブル化のための設定で編集した
texenv.vbs
を編集してPATH
の設定にusr\WinShellPortable
を加えます (該当部分だけを示します):
' 環境変数PATHの設定(17~23行目を以下のように修正)
Set objEnv = objWshShell.Environment("Process")
objEnv.Item("PATH") = strTeXPath & "\bin;" _
& strDrv & "\usr\dviout;" _
& strDrv & "\usr\WinShellPortable;" _
& strGSPath & ";" _
& strGSPath & "\gs9.19\bin;" _
& strGSPath & "\gs9.19\lib;" _
& objEnv.Item("PATH")
WinShell の使い方
USB メモリの bin フォルダに保存した texenv.vbs
を起動して開かれるコマンドプロンプトから WinShell とタイプして Enter キーを入力すれば WinShell が開かれます※1.
WinShell フォルダの WinShell.exe
を直接起動してしまうと,コンパイルやプレビューが期待通りに動作しません.
WinShell が起動されたら,ファイル-新規-TeX 文書 を選ぶと「TeX 文書 1」というペインが表示されますので,そこに TeX ソースを入力します. 入力し終えたら ファイル-保存 を選んで,適切なフォルダに適切な名前を付けて保存します (1 バイト文字の空白が入らないフォルダ名・ファイル名にしましょう). コンパイルやプレビューは,ツールバー (図6) の TeX (LaTeX) ボタンを利用すれば呼び出せます.

WinShell には,矢印,二項演算子,アクセント,関係子,ギリシア文字などの TeX キーワード入力を支援する機能があります. ツールバー (図6) で該当するボタンをクリックしていくと,入力支援ツールバーが表示されます. 全ての入力支援を ON にすると 図7のような画面になります. TeX ソースに入力したい記号や文字に該当するボタンを押せば,それに対応する TeX キーワードがソース入力ペインに入力されます. ただし,数式モードの ON/OFF などは自分でしっかり管理しましょう.

WinShell には LaTeX2e に関するドキュメントも付属しています. 英文ですが読めるようになると,とても便利だと思います. その他,WinShell の機能や,より進んだ使い方については,WinShell の英文ヘルプファイル (ヘルプ-ヘルプトピック) や,TeXWiki の WinShell で詳しく解説されていますので,参考にして自分で調べていってください.
WinShell のアップデート
インターネット接続された PC からであれば,WinShell は簡単に最新版にアップデートできます. WinShell の起動画面 (図7) から ヘルプ-Check for Updates とたどると,図2のようなダイアログボックスが表示されます. 最新版が存在するときには,Release version にその番号が表示され,Update ボタンが有効になります. Update ボタンをクリックすると,自動的にアップデートが実行されます.
注意: アップデートを行うには WinShell を「管理者として実行」する必要があるかもしれません.
ダウンロードされたファイルは,WinShellPortable\Download
に保存されています.
アップデートが完了したら,ここに保存されているファイルは削除しても問題ないようです.
dviout の呼び出し (多重 TEXMF ツリー対応)
dviout を多重 TEXMF ツリーに対応させて利用したい場合は,コマンドラインで TEXROOT
を指定する必要があります.
しかし,図5 で「DVIView」の exe ファイル名に wakedvi.vbs
を指定しても,うまく dviout を起動することができません.
そこで,次のような設定を行いましょう.
- 次のようなバッチファイル
wakedviout.bat
を作成し,パスの通った (U:\bin
など) フォルダに保存します.@echo off setlocal set PATH=%~d0\usr\dviout;%PATH% start dviout.exe -TEXROOT=%~d0\usr\w32tex\share\texmf-dist\fonts;%~d0\usr\w32tex\share\texmf-local\fonts %* endlocal
- 図5 で「DVIView」の exe ファイル名に
wakedviout.bat
を指定します.
この設定を行うと,WinShell で DVI 閲覧 ボタンをクリックするたびに新たに別の dviout が多重起動されてしまいます. dviout の多重起動を避けるには,次のどちらかの手段があります:
- 最初に dviout が起動されたとき (だけ),dviout のメニューバーから Option-No more dviout を選び,表示されるダイアログボックスで「No more dviout at 1」を選択して OK をクリックする.
- WinShell の操作で,dviout が起動されていないとき (だけ),DVI 閲覧 ボタンから dviout を起動する. dviout が起動済みの場合は LaTeX ボタンをクリックし,dviout をアクティブにする.
文章で書くと後者の方が面倒な印象になりますが,キーボード操作では F5,Alt+Tab だけで簡単です.
GSview の呼び出し
図5 で「GSView」の exe ファイル名に wakegsv.vbs
を指定しても,うまく GSview を起動することはできません.
そこで,次のような設定を行いましょう.
- 次のようなバッチファイル
wakegsview.bat
を作成し,パスの通った (U:\bin
など) フォルダに保存します.@echo off setlocal set PATH=%~d0\usr\gsview\gs9.19\bin;%~d0\usr\gsview\gs9.19\lib;%PATH% set GS_LIB=%~d0\usr\gsview\gs9.19\Resource\Init;%~d0\usr\gsview\gs9.19\Resource;%~d0\usr\gsview\gs9.19\lib;%~d0\usr\gsview\gs9.19\kanji set GS_FONTPATH=~d0\Resource\fonts start %~d0\usr\gsview\gsview\gsview32.exe -a %* endlocal
- 図5 で「GSView」の exe ファイル名に
wakegsview.bat
を指定します.
この設定を行うと,WinShell で GSView ボタンをクリックするたびに新たに別の GSview が多重起動されてしまいます. GSview の多重起動を避けるには,WinShell の操作で,GSview が起動されていないとき (だけ),GSView ボタンから GSview を起動します. GSview が起動済みの場合は DVIPS ボタンをクリックし,GSview をアクティブにすればよいでしょう. 文章で書くと面倒な印象になりますが,キーボード操作では F8,Alt+Tab だけで簡単です.
SumatraPDF との連携 (SyncTeX 機能を使う)
基礎編・PDF ビューアのポータブル化で紹介した SumatraPDF を TeX のプレビューアとして使用するための設定法を紹介します. WinShell の ヘルプ-ヘルプトピック から Menus→Execute→PDFView→Sumatra PDF とたどると,参考になる説明が書いてあります (英文ですが).
以下では,TeX ソースのエンコードを Shift_JIS にしていて,pLaTeX で組版を行いたい場合の設定法を説明します.
- W32TeX をインストールしたフォルダ (
U:\usr\w32tex
) の下にある,bin
にあるpdfplatex.bat
をpdfplatexsj.bat
という名前でコピーします. コマンドプロンプトから作業するのであればU:\usr\w32tex\bin
をカレントディレクトリにしてから,次のようにタイプします.copy pdfplatex.bat pdfplatexsj.bat Enter
- テキストエディタで
pdfplatexsj.bat
を開き,次のような内容に書き換えて上書き保存します (SumatraPDF では和文フォントを埋め込む必要はないため,マップファイルとしてnoembed.map
を指定しています).@echo off platex -synctex=1 -jobname="%~n1" -kanji=sjis -guess-input-enc "%1" && dvipdfmx -f noembed.map "%~n1"
- WinShell を起動し,オプション-主な TeX プログラムの設定 を選択します.
図5のダイアログボックスが表示されるので,表1のように変更して OK をクリックします.
表1・TeX プログラムの設定 プログラム exe ファイル名 コマンドライン 備考 PDFLaTeX pdfplatexsj.bat
"%s.tex"
「DOS」にチェック PDFView SumatraPDF.exe
-reuse-instance -inverse-search "\"WinShell.exe\" -c %f -l %l" "%s.pdf"
「PDFLaTeX を先に実行」にチェック
以上で設定は終了です.
図6のツールバーの PDFLaTeX ボタンを押せば pdfplatexsj.bat
が呼び出され,編集中の TeX ソースファイルが platex
によってコンパイルされます.
そして,エラーがなく無事に dvi ファイルが生成されれば,dvipdfm
によって PDF ファイルへの変換が行われます.
また,図6のツールバーの PDFView ボタンを押せば,必要に応じて PDF ファイルへの変換が行われた後,SumatraPDF が起動されて PDF ファイルが表示されます.
SyncTeX 機能により,ソースファイルを編集する WinShell と,PDF ファイルを出力する SumatraPDF の間で同期処理が行われますので,次のようなことが可能になっているはずです:
- WinShell 側で TeX ソースファイルのカーソル位置を変えて,PDFView ボタンを押すと SumatraPDF 側でそれに対応する行がハイライト表示されます (ソース→表示への同期).
- SumatraPDF 側で表示領域をダブルクリックすると,WinShell 側でそれに近い場所へカーソルが移動されます (表示→ソースへの同期).