//*[[Microsoft Windows:http://www.windows.com/]] での TeX の利用 [#headline]
*[[Microsoft Windows:https://www.windows.com/]] での TeX の利用 [#headline]

//Windows に TeX をインストールして使えるようになるまでの大まかな流れとしては,[[TeX 入手法>TeX入手法]]で簡単に述べたとおり
//
//+TeX の処理系(“TeX ディストリビューション”)のインストールと設定
//+統合環境またはエディタ,PDF ビューアなどの周辺ツールのインストールと設定
//
//が必要です.

----
#contents
----

*TeX ディストリビューション [#distribution]
*インストール[#install]
[[TeX Live/Windows - TeX Wiki>TeX Live/Windows]]を参考にしてTeX Liveをインストールしてください.

TeX 及び関連ソフトウェアをまとめたものを TeX ディストリビューションといいます.
Windows 上で日本語が利用可能な TeX ディストリビューションは次の二つのどちらかでしょう.

-TeX Live: Windows だけでなく様々な OS で使えるディスビューションです.CTAN にある膨大なパッケージが含まれています.インストールはこちら:[[TeX Live/Windows - TeX Wiki>TeX Live/Windows]]
-W32TeX: 角藤さんにより配布されている TeX ディストリビューションです.頻繁に更新がされています.インストールはこちら:[[W32TeX - TeX Wiki>W32TeX]]

どちらを選んでも大差はありません((パッケージがより多く含まれているのは TeX Live です(約3,000)が,実際に一人のユーザが常用するパッケージはそんなに多くありません.W32TeX は通常の用途で必要なパッケージは網羅しているので,フルインストールした場合は W32TeX のほうが容量を節約できるでしょう.ただし,TeX Live もフルインストールせずに最小限のインストールで済ませれば,それほど容量を必要としません.)).
Web 上の情報は TeX Live の方が多いです.
日本語の古い情報は W32TeX の方が多いかもしれません(TeX Live に日本語用 TeX が取り込まれたのが 2010 年からのためです).


*TeX を使い始める前に:拡張子の表示 [#extension]

// 拡張子表示は書いておいた方がよいかも?
// // というわけなので,表に出すことにします.

TeX を使い始める前に(あるいはインストールする前に),拡張子や隠しファイル,隠しフォルダを表示するように変更しておくと便利かもしれません.
拡張子の表示は,LaTeX 処理の周辺での思いがけない勘違いを予防することに役立ちますし,そのほかにも .jpg や .png といった画像ファイルの違いを普段から意識する助けにもなります.
詳細は[[拡張子の表示(基礎知識)>Microsoft Windows/基礎知識#extension]]を参照してください.

*TeX を使い始める前に:環境変数 Path の確認 [#o4ae5c5c]

TeX を使うには環境変数 Path の設定が必要です.

環境変数 Path は以下のように確認できます.
>
スタート > 設定 >  設定の検索から「環境変数」を入力して検索 > 環境変数を編集
スタート > 設定 >  「設定の検索」と書かれた入力欄に「環境変数」と入力して検索 > 「環境変数を編集」を選択
<
//-Windows PowerShell の場合
//
// $Env:Path
//
//あるいは
//
// echo %Env:Path
//
//-コマンド プロンプトの場合
//
// path
//
//あるいは
//
// echo %PATH%

システム環境変数 Path に以下のパスが含まれているか,いま一度確認してください.
// これらが %PATH% にないことにより,
// ptex2pdf.lua が動かない(実際には os.execute())など致命的自体に陥る.
>
%SystemRoot%\system32&br;
%SystemRoot%&br;
<
なお,%SystemRoot%(環境変数 SystemRoot)は,通常 C:\WINDOWS です.

*TeX のインストールが成功したかどうかテストする [#test]

インストールされたかのチェックを兼ねて,基本的な使い方を試してみましょう.

LaTeX ソース編集には統合環境やテキストエディタが必要です.
すでにお気に入りのエディタがある場合は,LaTeX 用のマクロがあるか探してみるとよいでしょう.
特にこだわりのない方は,TeX Live や W32TeX とともにインストールされる [[TeXworks]] がお勧めです.
//(長らく推奨されていた [[WinShell]] よりお勧めです.WinShell に関しては[[古い情報]]もご覧ください.)
特にこだわりのない方は,TeX Live とともにインストールされる [[TeXworks]] がお勧めです.
そのほかのエディタなどについては,この後の[[統合環境やエディタのインストール>Microsoft Windows#editor]]でも紹介しています.

以下では,TeXworks をもちいてみます.
TeXworks は

- TeX Live をインストールした場合はスタートメニューの「TeX Live 2017」→「TeXworks editor」から
- W32TeX を TeX インストーラ 3 でインストールした場合はデスクトップのアイコンから
- W32TeX を簡易インストーラをもちいて(または自分で展開して)インストールした場合は,コマンドラインから 「texworks」で

スタートメニューの「TeX Live 2024」→「TeXworks editor」から
起動することができます.

次の四行を入力してみます.

 \documentclass{article}
 \begin{document}
 Hello World!
 \end{document}

メニューから「ファイル」→「保存」と選び,適当な場所に保存します.(ツールバーの「保存」ボタンを押すか Ctrl + S を押しても保存されます.)名前は半角英数からなるものならば何でもよいです.拡張子は.texとしてください.
保存後,左上の緑の三角の入ったボタンを押してみてください.「Hello World!」と表示されれば成功です.

日本語も試してみましょう.今度は次のようにします.

 \documentclass{jsarticle}
 \documentclass{jlreq}
 \begin{document}
 こんにちは,\LaTeX
 \end{document}

同様にしてみて「こんにちは,LaTeX」と表示されれば成功です.(LaTeX は大文字 A が上がり,大文字 E が下がった「本来の方法」で表示されているはずです.)
以上で LaTeX のインストールは終了です.
また,TeXworks による編集も行えるようになりました.
後は [[LaTeX入門]] などを参照しつつ文書の作成を行ってみてください.


** エラー時 [#error]

エラーが起こったからといって,「インストールに失敗した!」と判断するのは早すぎます.打ち込んだものにミスがあるかもしれません.

***「プログラム"***"が見付かりません」というエラー [#error01]

残念ながらインストールに失敗しているでしょう.もう一度インストールを試してみてください.または,インストール後手動で設定した場合は,その際にミスをしているかもしれません.もう一度確認をしてみてください.

***LaTeX のエラー [#error02]

コンパイルでエラーが発生すると,TeXworks 下段の「ログの表示」にエラーに関する情報が表示されます.たとえば

 \ddocumentclass{jsarticle}
 \ddocumentclass{jlreq}

としてしまうと(dが一つ多い)次のように表示されます.

 ! Undefined control sequence.
 l.1 \ddocumentclass
                    {jsarticle}
                    {jlreq}

「x」または「e」を入力することで,ファイルの編集に戻ることができます.このようにエラーのある箇所が表示されるので,そこを中心に確認してみてください.エラー内容に関しては[[LaTeX のエラーメッセージ]]も参考にしてください.


*統合環境やエディタのインストール [#editor]

LaTeX での文書作成を支援するための統合環境・エディタが各種開発されています.上記 TeXworks もそのような統合環境の一つです.
これらは,LaTeX のソース中に書かれた特別な命令を色付けしてくれたり,LaTeX によるタイプセットをボタンやショートカットキー一つで実行してくれたりと,便利なものです.
初心者の方はまずは LaTeX 用の統合環境を使用して LaTeX に慣れるのが良いでしょう.

エディタ・マクロ・プラグインの種類によって得手不得手があったり不具合が発生したりする場合があります.
問題が発生した場合は別のエディタを使用してください.
人によってエディタの好みは様々なので自分にあったエディタを見つけてください.
TeXworks がよいならばそれでもよいですし,下記のを色々と試してみるのも楽しいかもしれません.

このほかにも

-[[TeX Wiki 内の「TeX 用エディタ」紹介ページ>TeX用エディタ]]
-[[Wikipedia:Comparison_of_TeX_editors]]
-[[LaTeX Editors/IDEs:http://tex.stackexchange.com/questions/339/latex-editors-ides]]

には,Microsoft Windows で使用可能な LaTeX 用の統合環境・エディタが紹介されています.

**フリーソフトウェア(オープンソースソフトウェア) [#editor-free]

// Windows でエディタを選びたいときに,別に
// 「Windows, macOS, Linux で動くか,Windows でしか動かないか」
// なんて不要だと思うので,統合環境か汎用エディタかで分類しなおします.

// ここに並べる統合環境は
// 1. TeX ディストリビューションにバンドルされているもの (TeXworks)
// 2. そうではないが,広く使われていて TeX Wiki にも情報が充実しているもの
// の順のつもり.従来の「アルファベット順」は無意味なので変更.

-統合環境(TeX, LaTeX に特化した機能を備えています)
--''[[TeXworks]]'' ← TeX Live (win32) に標準で含まれています.
--''[[TeXworks]]'' ← TeX Live (windows) に標準で含まれています.
--''[[TeXstudio]]''
--''[[LyX]]''
--[[Texmaker]]
--[[TeXnicCenter]]

-汎用エディタ(TeX, LaTeX 用のパッケージが用意されているものがあります)
--[[Visual Studio Code]]
---[[LaTeX>Visual Studio Code/LaTeX]]
--[[Emacs]]
---[[Org mode>Emacs/Org mode]]
---[[TeX mode>Emacs/TeX mode]]
---[[AUCTeX]]
---[[YaTeX]](野鳥)
---[[AUCTeX]]
---[[Org mode>Emacs/Org mode]] + [[YASnippet]]
---[[TeX mode>Emacs/TeX mode]] + [[YASnippet]]
--[[Vim]]
---[[Vim-LaTeX]]
---[[tex.vim>Vim/tex.vim]] + ([[vimtex]] or [[LaTeX Box]]) + [[quickrun]] + [[neocomplete &amp; neosnippet>neocomplete]]
---[[ATP]]
--[[Visual Studio Code]]
--[[Atom]]
---[[VimTeX]]
--[[Eclipse]]
---[[TeXlipse]]
--[[gedit]]
--[[Geany]]
--[[Notepad++]]
---[[NppExec]]
---[[jN]]
--[[サクラエディタ]]
---[[Happy]]


*PDF ファイルビューア [#pdfviewer]

長らく LaTeX ファイルの編集は,dvi によるプレビューがもちいられてきました.
ただ,最近は様々な理由から PDF によるプレビューが推奨されています([[古い情報]]も参考に).
TeXworks, TeXstudio などの統合環境には PDF 用のビューアが組み込まれています.
単独の LaTeX 用 PDF プレビューアとしては

-''[[SumatraPDF]]'':軽量な LaTeX 用の PDF ビューアとして最適で,特にお勧めします.
-[[MuPDF]]:軽量な PDF/XPS ビューア.SumatraPDF などで使われています.
-[[Poppler]]:PDF のレンダリングライブラリ.TeXworks, TeXstudio, Texmaker, TexitEasy などで使われています.
-[[Poppler]]:PDF のレンダリングライブラリ.TeXworks, TeXstudio などで使われています.

などがあります.


*周辺ツールの利用 [#tools]

**文献管理ツール [#bibtex]

オープンソースの文献管理ツールとして,以下を挙げておきます。

-[[Zotero:https://www.zotero.org/]]
-[[JabRef:http://www.jabref.org/]]

このほかにも

-[[TeX Wiki 内の「BibTeX 関連ツール」紹介ページ>BibTeX関連ツール]]

には,Microsoft Windows で使用可能な文献管理ツールが紹介されています。


*その他の選択肢 [#others]

TeX Live, W32TeX 以外にも Windows で利用可能な TeX ディストリビューションが存在します.
TeX Live 以外にも Windows で利用可能な TeX ディストリビューションが存在します.
-Cygwin での利用:Windows 上に UNIX のような環境を提供する Cygwin 用にも TeX Live が提供されています.[[Cygwin]] をご覧ください.
-[[MiKTeX]]:主に国外で使われている(と思う)TeX ディストリビューションです.日本語 pTeX が入っていません.[[MiKTeX]] をご覧ください.
-[[MiKTeX]]:主に国外で使われている(と思う)TeX ディストリビューションです.[[MiKTeX]] をご覧ください.


*入出力関連の機能 [#t84cfc3e]

**漢字入出力対応状況 [#effb8e13]

コンソールやファイル名等での漢字(日本語)の入出力の対応状況をまとめました(2023/7/16 現在).
Windowsではコンソールやファイル名でのワイド文字・Unicodeの扱いがLinux系と異なるので,それに対応するため「command_line_encoding」という kpathsearch の変数が導入されました.当初W32TeX上のupTeX系のみでしたが,現在はWindows版TeX Live上でXeTeX系, pdfTeX系にも導入されています.

| コマンド | command_line_encoding | コマンドライン&br;入力 |>| コンソール入力 |>| コンソール出力 | 入出力&br;ファイル名 | special &br;ファイル名 |h
|~|~|~| キーボード   | パイプ    | スクリーン  | パイプ      |~|~|h
| p(la)tex.exe -kanji=sjis | (無視される)      | CP932          | CP932  | Shift_JIS |CP932 | Shift_JIS | CP932 | Shift_JIS |
| p(la)tex.exe&br;p(la)tex.exe -kanji=utf8 | (無視される)  | CP932          | CP932  | UTF-8 | CP932(UTF-8) | UTF-8 | CP932 | Shift_JIS |
| up(la)tex.exe | utf-8            | Unicode         | Unicode | UTF-8 | Unicode | UTF-8 | Unicode | UTF-8 |
| xe(la)tex.exe | utf-8            | Unicode         | Unicode | UTF-8 | Unicode | UTF-8 | Unicode | UTF-8 |
| dvipdfmx.exe&br;pdf(la)tex.exe  | none          | CP932          | --- | --- | CP932 | Shift_JIS | CP932 | Shift_JIS |
|~| utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | UTF-8 |
| xdvipdfmx.exe | utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | UTF-8 |
| xbb.exe&br;extractbb.exe | utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | --- |
| dvips.exe  | none          | CP932          | --- | --- | CP932 | Shift_JIS | CP932 | Shift_JIS |
|~| utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | UTF-8 |
| dvi2tty.exe  | none          | CP932          | --- | --- | CP932 | Shift_JIS | CP932 | --- |
| dvi2tty.exe -Eu | utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | --- |
| upmendex.exe | (無視される)        | Unicode         | Unicode | UTF-8 | Unicode | UTF-8 | Unicode | --- |
| dvibook.exe&br;dviconcat.exe&br;dviselect.exe&br;dvitodvi.exe&br;dvidvi.exe | utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | --- |
| bibtex8.exe&br;bibtexu.exe  | none          | CP932          | --- | --- | CP932 | Shift_JIS | CP932 | --- |
|~| utf-8         | Unicode        | --- | --- | Unicode | UTF-8 | Unicode | --- |
| kpsewhich.exe  | (-progname= &br;指定先に依存する) | CP932          | CP932 | Shift_JIS | CP932 | Shift_JIS | CP932 | Shift_JIS |
|~|~| Unicode        | Unicode | UTF-8 | Unicode | UTF-8 | Unicode | UTF-8 |
| gswin32c.exe&br;gswin64c.exe  | ---        | Unicode        | --- | --- | ??? | ??? | Unicode | --- |
| GSview  | ---        | ???        | --- | --- | ??? | ??? | CP932 | --- |

この表は,日本語版 Windows におけるものです。

「command_line_encoding」とは,texmf.cnf のオプション設定です.
「コンソール入力」は標準入力 (STDIN) からの入力を指し,「コンソール出力」は標準出力 (STDOUT) や標準エラー出力 (STDERR) への出力を指します.
「special ファイル名」とは,挿入する画像のファイル名など,special 命令によって dvi ファイルに書き込まれるファイル名の文字コードを指します.

「CP932」「Unicode」は文字集合の意味で,「Shift_JIS」「UTF-8」は文字エンコーディングの意味で用いています.
スクリーンが「Unicode」「CP932(UTF-8)」のものは,そのままでも文字化けせずに表示させることができます.
以下はその例です.

 C:\work>platex -kanji=utf8 sourcename.tex

 C:\work>uplatex sourcename.tex

dvi2tty の場合,コードページを UTF-8 に設定することで,文字化けせずに表示させることができます.
以下はその例です.

 C:\work>chcp 65001
 C:\work>dvi2tty -Eu sourcename.dvi

あるいは、ページャーを使用しない場合はそのまま,文字化けせずに表示させることができます.
以下はその例です.

 C:\work>dvi2tty -Eu -q sourcename.dvi

最新の Windows版 TeX Live の場合は,texmf.cnf に
 command_line_encoding = utf-8

と設定するとよいでしょう.

現在の TeX Live における
デフォルトは
 command_line_encoding = utf-8
となっています。

最新の TeX Live では dvipdfmx, dvips は command_line_encoding の値によらず,
OS のデフォルト code page (日本語 Windows の場合 CP932) で DVI に名前が書かれて
いるファイルを見つけることができます。

なお,マクロ,パッケージやフォントなどのファイル名は ASCII の範囲にとどめ,漢字(日本語)や他言語の Unicode 文字を使用しないことをお勧めします.
文字エンコーディングの齟齬により,ソフトウェアによっては kpathsea 経由で探し出すことに失敗するケースがあるためです.
また,p(la)tex において special の種類によっては 0x5c を含むファイル名の場合,失敗することがあります.
この場合も ASCII の範囲で使用してください.( → [[KANJI file name in special in dvi (uptex):https://okumuralab.org/tex/mod/forum/discuss.php?d=1210]])