diff options
author | Norbert Preining <preining@logic.at> | 2019-08-30 01:25:40 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2019-08-30 01:25:40 +0000 |
commit | c4b24f597d4249f915e6cbd9eb0540df4977b09b (patch) | |
tree | 4b33a0ee3bbc38ff53c3c9e6898b7afd8317686a /Master | |
parent | 1bf794281d79624307dfb15805cae443544d54c8 (diff) |
add texlive-ja guide by Takuto ASAKURA
git-svn-id: svn://tug.org/texlive/trunk@51989 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/img/advanced-macos-ja.png | bin | 0 -> 116452 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/img/basic-macos-ja.png | bin | 0 -> 33667 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/img/stdcoll-ja.png | bin | 0 -> 49206 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/img/tlshell-macos-ja.png | bin | 0 -> 116312 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf | bin | 0 -> 1202724 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty | 289 | ||||
-rw-r--r-- | Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex | 3555 |
7 files changed, 3844 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/img/advanced-macos-ja.png b/Master/texmf-dist/doc/texlive/texlive-ja/img/advanced-macos-ja.png Binary files differnew file mode 100644 index 00000000000..61946752019 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/img/advanced-macos-ja.png diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/img/basic-macos-ja.png b/Master/texmf-dist/doc/texlive/texlive-ja/img/basic-macos-ja.png Binary files differnew file mode 100644 index 00000000000..20a2d63e9ae --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/img/basic-macos-ja.png diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/img/stdcoll-ja.png b/Master/texmf-dist/doc/texlive/texlive-ja/img/stdcoll-ja.png Binary files differnew file mode 100644 index 00000000000..cc2eca4a241 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/img/stdcoll-ja.png diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/img/tlshell-macos-ja.png b/Master/texmf-dist/doc/texlive/texlive-ja/img/tlshell-macos-ja.png Binary files differnew file mode 100644 index 00000000000..02ea18da7cb --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/img/tlshell-macos-ja.png diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf Binary files differnew file mode 100644 index 00000000000..6ac3314129d --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty new file mode 100644 index 00000000000..4e9a474fbbd --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty @@ -0,0 +1,289 @@ +% TeX Live documentation style. Written by many people over many years. +% Edited by Takuto ASAKURA for Japanese version. +% Public domain. +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{texlive-ja}[2019/08/21 Japanese TeX Live Guide style] + +% ------------------------------------------------------------- Packages + +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{textcomp}% including \textbullet +\RequirePackage{fancyvrb} +\RequirePackage{pxrubrica} +\RequirePackage{hyperref} +\RequirePackage{pxjahyper} + +% ------------------------------------------------------------- pxghost +% from pxghost.sty (https://gist.github.com/zr-tex8r/4461060) + +% use an arbitrary font available in T1 encoding +\font\pxqgg@TI=ec-lmr10 at 1.23456pt +\chardef\pxqgg@cwm=23 % compwordmark (in T1) +\xspcode\pxqgg@cwm=3 % allow xkanjiskip around +%%<*> \eghostguarded{<text>} +\newcommand*\eghostguarded{% + \ifmmode \expandafter\@firstofone + \else \expandafter\pxqgg@eghostguarded@a + \fi +} +\def\pxqgg@eghostguarded@a#1{% + {\pxqgg@TI\pxqgg@cwm}% + #1% + {\pxqgg@TI\pxqgg@cwm}% +} + +% shortcut +\def\egg{\eghostguarded{}} + +% ------------------------------------------------------------- LaTeX style + +\pagestyle{headings} + +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} + +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} + +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 + +% ------------------------------------------------------------- Markup commands + +\def\p.{p.\,} +\renewcommand*{\slash}{/\penalty\z@\hskip\z@skip } + +% various sorts of names +\newcommand*{\pkg}[1]{\eghostguarded{\textsf{#1}}} +\newcommand*{\prog}[1]{\eghostguarded{\textsf{#1}}} +\newcommand*{\dir}[1]{\path{#1}}% \eghostguarded is unnecessary for \path +\newcommand*{\file}[1]{\path{#1}} +\newcommand*{\cmd}[1]{\eghostguarded{\texttt{#1}}} +\newcommand*{\code}[1]{\eghostguarded{\texttt{#1}}} +\newcommand*{\sopt}[1]{\code{\hyph#1}} +\newcommand*{\lopt}[1]{\code{\hyph\hyph#1}} +\newcommand*{\var}[1]{{\chardef\_=`\_\code{#1}}} +\newcommand*{\meta}[1]{$\langle$\mbox{}{\normalfont #1}\mbox{}$\rangle$} +\newcommand*{\optional}[1]{\textrm{[\code{#1}]}} +\newcommand*{\samp}[1]{`\texttt{#1}'\@} + +% Windows-specific +\newcommand*{\winenv}[1]{\code{\%#1\%}} +\newcommand*{\winpath}[1]{{\def\\{\char`\\}\code{#1}}} + +% special names +\newcommand*{\dpi}{$\,$dpi} +\newcommand*{\bs}{\char`\\} +\newcommand*{\cs}[1]{\eghostguarded{\texttt{\bs #1}}} +\newcommand*{\Q}[1]{\par\vskip6pt\leftline{#1}\par} +\newcommand*{\hyph}{-} + +% abbreviations +\newcommand*{\KPS}{Kpathsea} +\newcommand*{\PS}{Post\-Script} +\newcommand*{\WEB}{\texttt{WEB}} +\newcommand*{\Webc}{Web2C} + +% ------------------------------------------------------------- TeX logos + +\RequirePackage{bxtexlogo}% use instead of texnames +\bxtexlogoimport{*,HanTheThanh,PiCTeX,LaTeXTeX,% + logoOmega,logoLambda,logoLamed,logoAleph} + +% aliases +\let\MF\METAFONT +\let\MP\METAPOST +\let\AllTeX\LaTeXTeX +\let\Thanh\HanTheThanh +\newcommand{\OMEGA}{\eghostguarded{\logoOmega}} +\newcommand{\LAMBDA}{\eghostguarded{\logoLambda}} +\newcommand{\LAMED}{\eghostguarded{\logoLamed}} +\newcommand{\ALEPH}{\eghostguarded{\logoAleph}} + +% logos not in bxtexlogo +\DeclareRobustCommand{\TL}{\texorpdfstring{\TeX\,\,Live}{TeX Live}} +\DeclareRobustCommand{\TeXXeT}{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} +\DeclareRobustCommand{\MIKTEX}{MiK\kern-.025em \TeX}% per www.miktex.org +\DeclareRobustCommand{\ProTeXt}{pro\TeX t} +\DeclareRobustCommand{\teTeX}{\textrm{te}\TeX} +\DeclareRobustCommand{\MacTeX}{Mac\TeX} + +% ------------------------------------------------------------- Verbatim + +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\footnotesize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +%\MakeShortVerb\| + +% ------------------------------------------------------------- Graphics + +% graphics path +\graphicspath{{texlive-common/}{img/}} + +\def\tlpng#1#2{% + \par + \centerline{\includegraphics[width=#2]{#1.png}}% +} + +% ------------------------------------------------------------- Lists + +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +\newenvironment{ttdescription}{% + \list{label must be supplied}{% + \parindent=0pt + \itemsep=0pt % these lists tend to have short descriptions + \labelwidth=\leftmargin + \labelsep=1zw + \advance\labelwidth by -\labelsep + \let\makelabel=\ttdescriptionlabel}}{\endlist} +\newcommand*\ttdescriptionlabel[1]{% + %\hspace\labelsep + \normalfont\ttfamily #1\hfil} + +% Likewise, for commands using sans serif. +\newenvironment{cmddescription}{% + \list{label must be supplied}{% + \itemsep=0pt + \labelwidth=\leftmargin + \labelsep=1zw + \advance\labelwidth by -\labelsep + \let\makelabel=\cmddescriptionlabel}}{\endlist} +\newcommand*\cmddescriptionlabel[1]{% + %\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize/enumerate. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newenvironment{enumerate*}% + {\begin{enumerate}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{enumerate}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + +% ------------------------------------------------------------- LaTeX hacks + +% Japanese translaion supports only PDF (HTML version is not available) +\typeout{TeX Live documentation in PDF format} + +% title +\def\Title#1{\gdef\@title{{\huge #1}}} +\def\Editor#1{\gdef\@editor{#1}} +\def\JaAuthor#1{\gdef\@translator{#1}} +\def\JaInfo#1{\gdef\@jainfo{#1}} +\def\TLUrl#1{\gdef\@tlurl{\url{#1}}} +\author{% + 原版編集:\@editor \\ + 日本語版:\@translator\thanks{\@jainfo} \\[3mm] + \@tlurl} + +% hyperref settings +\newcommand*{\email}[1]{\href{mailto:#1}{\path{#1}}} % \path comes from url +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +\hypersetup{ + breaklinks, colorlinks, linkcolor=hypercolor, citecolor=hypercolor, + urlcolor=hypercolor, filecolor=hypercolor, bookmarksopen, hyperindex +} + +\AtBeginDocument{% + \hypersetup{ + pdftitle = {\@title}, + pdfauthor = {\@editor,\@translator,ほか}, + } +} + +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} + +% shaded rows (using facilities of colortbl) +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} + +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} + +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX Live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex new file mode 100644 index 00000000000..e42f38f9680 --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex @@ -0,0 +1,3555 @@ +%#!uplatex +% TeX Live documentation (Japanese edition). +% English version is originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Japanese edition is by Takuto ASAKURA. Public domain. +\documentclass[uplatex,dvipdfmx]{jsarticle} + +\usepackage{texlive-ja} + +\Title{\TL ガイド 2019} +\Editor{Karl Berry} +\JaAuthor{朝倉卓人} +\JaInfo{\url{https://github.com/wtsnjp/texlive-ja}} +\TLUrl{https://tug.org/texlive/} + +\date{2019年8月} + +\begin{document} +\maketitle +\thispagestyle{empty} + +\tableofcontents + +\section{イントロダクション}\label{sec:intro} + +\subsection{\TL と\TeX コレクション} + +このドキュメントはGNU/Linuxやその他のUNIXシステム,macOS,Windows向けに +\TeX 関連プログラムを集めたディストリビューション\TL の概要について解説する +ものです. + +この文書の読者は既にインターネット,{\TeX} Users Groupの配布する\TeX +コレクションDVDまたはその他の方法を利用して\TL を入手していることと思います. +\ref{sec:tl-coll-dists}節は\TeX コレクションDVDの収録物について簡単に説明して +います.\TL と\TeX コレクションは{\TeX} Users Group (TUG) の協力によって維持され +ています.このドキュメントは主として\TL それ自体を解説するものです. + +\TL には\TeX, \LaTeXe, \ConTeXt, \MF, \MP, \BibTeX 実行プログラムはもちろん, +\TeX を拡張する多数のマクロパッケージやフォント,そしてそれらの付属ドキュメント +が含まれています.また,世界中で利用されるさまざまな言語における組版もサポート +されています. + +\TL のバージョンごとの主な変更点については,このドキュメントの末尾にある +\ref{sec:history}節 (\p.\pageref{sec:history}) をご覧ください. + +\subsection{サポートOS} +\label{sec:os-support} + +\TL にはGNU/Linux, macOS, Cygwinを含む,多くのUNIXベースプラットフォーム向けの +バイナリが含まれています.同梱されているソースを用いれば,デフォルトではサポート +されていないプラットフォームでコンパイルを行うこともできます. + +Windowsについては,Windows~7以上のバージョンをサポートしています.いまのところ +Windows Vistaでも概ね動作すると思いますが,Windows XPよりも古いものについては +\TL のインストールすら成功しません.Windowsについては64-bit向けに個別の実行 +ファイルを用意していませんが,32-bit実行ファイルは問題なく64-bit環境でも +動作するはずです. + +WindowsおよびmacOSに対する\TL 以外のディストリビューションについては\ref{sec:% +tl-coll-dists}節を参照してください. + +\subsection{\TL のインストール(基本)} +\label{sec:basic} + +\TL はDVDまたはインターネットを利用してインストールすることができます (\url{% +https://tug.org/texlive/acquire.html}).インターネット・インストーラ自体はとても +小さなプログラムで,これを実行すると必要とされるすべてのファイルをインターネット +からダウンロードします. + +DVDインストーラはあなたのローカルディスクに\TL をインストールします. +\TeX コレクションDVD上にある\TL のデータ(またはその\file{.iso}イメージ) +を直接実行することはできませんが,USBディスクなどにポータブルインストールを +行うことも可能です(\ref{sec:portable-tl}節を参照).インストールについては +後ほど詳述しますが (\p.\pageref{sec:install}),ここでは「クイックスタート」 +として簡単に説明します: + +\begin{itemize*} +\item インストールスクリプトの名称は\cmd{install-tl}です.このプログラムに\sopt{% +gui}オプションを与えると「GUIモード」(WindowsとmacOSでデフォルト),\sopt{no-% +gui}を与えると「テキストモード」(その他のプラットフォームでデフォルト)が実行され +ます.UNIXプラットフォームでは,Perl/Tkがインストールされていれば旧来のPerl/Tkと +wizardモードを利用することもできます.Windowsについては\ref{sec:wininst}節も参照 +してください. + +\item \TL をインストールすると「\TL マネージャ」(\cmd{tlmgr}) も利用可能になります. +インストーラと同様,このプログラムにもGUIモードとテキストモードがあります.\TL +マネージャを用いてパッケージのインストールやアンインストール,その他さまざまな設定 +タスクを実行することができます. +\end{itemize*} + +\subsection{セキュリティについて} +\label{sec:security} + +私たちの知る限り,\TeX の主要なプログラムそれ自体はとても堅牢です(今までもずっと +そうでした).しかしながら,\TL に含まれる多数のサードパーティ製プログラムは,多く +の人の尽力があるとはいえ,それでも同じレベルには達していないかもしれません.一般論 +ですが,信頼できない入力についてプログラムを実行する際は十分にお気を付けください. +なるべく安全に実行するためには,新しいサブディレクトリを作って実行したり,\cmd{% +chroot}を利用したりしてください. + +この注意はWindowsについては特に重要です.なぜならWindowsは,検索パスの設定に +関わらず,常にカレントディレクトリにあるプログラムを他の何よりも優先して +実行するからです.この挙動はさまざまな攻撃に悪用される恐れがあります.我々は多くの +セキュリティホールを塞いできましたが,特にサードパーティ製プログラムについては, +間違いなくまだ残っているものが数多くあるでしょう.したがって,カレントディレクトリ +にある疑わしいファイル(特にバイナリとスクリプトファイル)は事前にチェックして +おくことを推奨します.悪意のあるファイルはそもそも存在するべきでありませんが, +単にドキュメントを処理するだけで生成されることなどあってはなりません. + +最後に,\TeX (およびその周辺ツール)はドキュメントの処理中にファイル書き込みを +行うことができますが,その機能もまたさまざまな方法で利用され得ます.再度の注意に +なりますが,ご自身で作成されたわけではないドキュメントは,必ず新しい +サブディレクトリで実行するのが無難です. + +\subsection{サポート情報} +\label{sec:help} + +\TeX コミュニティはアクティブかつ友好的で,ほとんどの真剣な質問には回答を +得ることができます.しかしながら,こうしたサポートは非公式で,ボランティアや +一般の\TeX ユーザ有志によって行われているものですから,質問をする前にドキュメント +や過去のQ\&Aをよく読んで,まずはご自分で解決できるよう最善を尽くしましょう(もし +保証付きの有償サポートをご希望の場合は,\TL の採用は諦めて商用のシステムを +ご利用ください.\url{https://tug.org/interest.html#vendors}には\TeX に関連する +商用サービスを提供する団体の一覧があります). + +以下に\TeX 関連の情報源をリストアップにしておきます.順番は概ねおすすめ順です: +% +\begin{description} +\item[はじめての方へ] +これからはじめて\TeX をお使いになる場合は\url{https://tug.org/begin.html}に +アクセスするとよいでしょう.\TeX システムについて簡潔なイントロダクションを +読むことができます. + +\item[{\TeX} FAQ] +\TeX に関するよくあるFAQを集めた巨大なデータベースです.最も基礎的な質問から +とても難解な質問まで含まれています.\TL では\dir{texmf-dist/doc/generic/FAQ-en/}% +に含まれているほか,インターネット経由でも読むことができます (\url{https://texfaq.% +org/}).\TeX について質問がある場合は,まずここをチェックしてください. + +\item[\TeX カタログ] +特定の\TeX パッケージやフォント,プログラム等を見つけたい場合は\TeX カタログを +探すとよいでしょう.これは\TeX 関連の成果物を集めた巨大なコレクションです. +\url{https://ctan.org/pkg/catalogue/}にアクセスしてみてください. + +\item[ウェブ上の情報源] +ウェブサイト\url{https://tug.org/interest.html}には多数の\TeX 関連リンクが +集められています.特に\TeX システムに関わるさまざまな話題についての多くの書籍, +マニュアル,投稿記事を多数紹介しています. + +\item[サポート・アーカイブ] +\LaTeX コミュニティ\url{https://latex.org/forum/}やQ\&Aサイト\url{https://tex.% +stackexchange.com},Usenetニュースグループ\url{news:comp.text.tex},メーリング +リスト\email{texhax@tug.org}などは\TeX コミュニティの擁する主なサポートフォーラム +です.これらのアーカイブには過去数十年分の質問と回答が蓄積されています.特に後者 +2つのアーカイブは\url{https://groups.google.com/group/comp.text.tex/topics}と +\url{https://tug.org/mail-archives/texhax}にて閲覧できます.また,より一般の +検索エンジン(\url{https://google.com}など)ももちろん有用です. + +\item[質問する] +もし答えの見つからない質問にぶつかったときは,\url{https://latex.org/forum/}や +\url{https://tex.stackexchange.com/},Googleグループ\dir{comp.text.tex}あるいは +メーリングリスト\email{texhax@tug.org}に質問を投稿することもできます.ただし, +どこで質問を投稿するにしても,必ず事前に「質問のしかた」(\url{https://texfaq.org% +/FAQ-askquestion}) を読むようにしましょう.このインストラクションに従うことで, +有効な回答を得られる可能性を飛躍的に高めることができます. + +\item[\TL サポート] +もし\TL ディストリビューションに関してバグ報告や提案,コメントがある場合は +\TL メーリングリスト\email{tex-live@tug.org}にメールを投稿してください.ただし +\TL に含まれる個別のプログラムの使い方についての質問等は,\TL メーリングリスト +ではなく,各プログラムのメンテナや専用のメーリングリストにご連絡ください. +多くの場合,プログラムを\lopt{help}オプション付きで実行するとバグ報告用の +メールアドレスを確認することができます. +\end{description} +% +%% 日本語版追記ここから %% +以上のリストは主に英語での情報提供・コミュニケーションを行う場所ですが,日本語 +でのサポートが必要な場合は,次のようなウェブサイトが利用できます: +% +\begin{description} +\item[{\TeX} Wiki] +\url{https://texwiki.texjp.org/}は日本語で読めるものとしては\TeX 関連情報を集めた +最大の情報源です.現在は日本語\TeX 開発コミュニティ (texjporg) がサーバ管理を +行っていますが,あくまでWikiなので編集は誰でも行うことができ,掲載情報は必ずしも +公式のものではありません. + +\item[{\TeX} Forum] +\url{https://oku.edu.mie-u.ac.jp/tex/}は歴史の長いQ\&Aサイトで,現在も日本語で\TeX +に関連する質問ができる場所としては最もアクティブユーザが多く,熟練の\TeX ユーザが +多数参加しています.上記{\TeX} Wikiに日本語版の「質問のしかた」(\url{https://% +texwiki.texjp.org/?質問のしかた}) ページがありますので,初めて質問を投稿する際は +必ず目を通すようにしましょう. + +\item[スタック・オーバーフロー] +\url{https://ja.stackoverflow.com/}は\TeX に限らずあらゆる技術・プログラミング +関連の質問を投稿することができるQ\&AサイトStack Overflowの日本語版です.最近は +ここの\LaTeX タグ (\url{https://ja.stackoverflow.com/questions/tagged/latex}) +にも少しずつ\TeX/\LaTeX 関連の質問が投稿されるようになってきています. +\end{description} +%% 日本語版追記ここまで %% + +\TeX ユーザは上記のような場所でサポートを受けることができる一方で,あなた自身が +他の質問者の手助けをすることも可能です.いずれのコミュニティも全世界に開かれた +ものですから,ぜひお気軽に参加・購読し,ヘルプが必要なユーザを助けてあげましょう. + +\section{\TL の概要} +\label{sec:overview-tl} + +このセクションでは\TL と\TeX コレクションの収録物について紹介します. + +\subsection{\TeX コレクション: \TL, pro\TeX{}t, \MacTeX} +\label{sec:tl-coll-dists} + +\TeX コレクションDVDには以下のものが含まれています: + +\begin{description} +\item[\TL] +ディスクにインストールするための完全な\TeX システム(ディストリビューション) +です.ウェブサイト:\url{https://tug.org/texlive/} + +\item[\MacTeX] +macOS向けの\TeX ディストリビューションで,専用のインストーラといくつかの +Mac用アプリケーションを\TL に追加しています. +ウェブサイト:\url{https://tug.org/mactex/} + +\item[\ProTeXt] +\MIKTEX ディストリビューションのWindows向け拡張です.\ProTeXt は\MIKTEX に +いくつかのツールを追加しているほかインストール手順を簡略化しています. +これは完全に\TL とは独立で,独自のインストールガイドがあります. +ウェブサイト:\url{https://tug.org/protext/} + +\item[CTAN] +CTANリポジトリ (\url{https://ctan.org/}) のスナップショットです. +\end{description} + +CTANおよび\pkg{protext}は\TL と同じライセンスで配布されているわけでは +ないので,再配布や変更を行う場合は十分にご注意ください. + +\subsection{\TL のトップレベルディレクトリ} +\label{sec:tld} + +ここに\TL ディストリビューションのトップレベル(最上位階層)にあるディレクトリ +の一覧を示し,それぞれについて簡単に説明しておきます. +% +\begin{description} +\item[\dir{bin}] +\TeX 関連プログラムを格納しています.実行バイナリはプラットフォームによって +異なります. + +\item[\dir{readme-*.dir}] +\TL の概要と有用なリンクを集めた多言語のREADMEを含んでいます.HTMLバージョンと +テキストバージョンがあります. + +\item[\dir{source}] +\TL に含まれるすべてのプログラムのソースコードです.\Webc で記述された,\TeX +ディストリビューションのコアプログラムのソースコードも含まれています. + +\item[\dir{texmf-dist}] +最も重要なTEXMFツリーです.詳しくは下にある\dir{TEXMFDIST}の項目を参照して +ください. + +\item[\dir{tlpkg}] +インストールに必要なスクリプトやWindows向けの補助プログラムを含んでいます. +\end{description} +% +%In addition to the directories above, the installation scripts and +%\file{README} files (in various languages) are at the top level of +%the distribution. +% +ドキュメントを探す際には,同じくトップレベルにある\file{doc.html}が役立ちます. +このファイルには\dir{texmf-dist/doc}以下に含まれるほとんどすべてのドキュメント +(パッケージ,フォーマット,フォント,プログラムのマニュアルやmanページなど)が +掲載されています.また\TL に含まれるドキュメントを検索するには\cmd{texdoc}% +コマンドを利用することもできます. + +この\TL ガイド自体は\dir{texmf-dist/doc/texlive}以下にあり,多数の言語に翻訳 +されています: + +\begin{itemize*} +\item チェコ・スロバキア語:\dir{texmf-dist/doc/texlive/texlive-cz} +\item ドイツ語\dir{texmf-dist/doc/texlive/texlive-de} +\item 英語:\dir{texmf-dist/doc/texlive/texlive-en} +\item フランス語:\dir{texmf-dist/doc/texlive/texlive-fr} +\item イタリア語:\dir{texmf-dist/doc/texlive/texlive-it} +\item ポーランド語:\dir{texmf-dist/doc/texlive/texlive-pl} +\item ロシア語:\dir{texmf-dist/doc/texlive/texlive-ru} +\item セルビア語:\dir{texmf-dist/doc/texlive/texlive-sr} +\item 簡体字中国語:\dir{texmf-dist/doc/texlive/texlive-zh-cn} +\end{itemize*} + +\subsection{いろいろなTEXMFツリー(概要)} +\label{sec:texmftrees} + +この節では,システムに利用される種々のTEXMFツリーを指定するために予め定義 +されている変数を一覧にし,それらの所期の目的および\TL でのデフォルト構成を +説明します.コマンド\code{tlmgr~conf}を実行するとこれらの変数の値が表示される +ので,各TEXMFツリーがあなたのコンピュータで実際にどのディレクトリを指し示す +のか容易に確認することができます. + +個人用のものも含め,すべてのTEXMFツリーはその大量のサブディレクトリとともに +\TeX ディレクトリ構成 (TDS, \url{https://tug.org/tds}) にしたがうべきです. +TDSにしたがわない構成の場合,ファイルが見つからない可能性があります.詳細に +ついては\ref{sec:local-personal-macros}節 (\p.\pageref{sec:local-personal-% +macros}) を参照してください.ここで列挙するのはツリーが検索される順序の逆順 +です.つまり,より後に登場するツリーによって,それより前のツリーの内容は上書き +されます. +% +\begin{description} +\item[\var{TEXMFDIST}] +このツリーには\TL ディストリビューション自体に含まれるほとんどのファイル +(設定ファイル,スクリプト,パッケージ,フォント,etc.)が配置されています. +(主な例外はプラットフォーム毎の実行バイナリで,それらはトップレベルの +\dir{bin}ディレクトリに配置されています.) + +\item[\var{TEXMFSYSVAR}] +この(システム用の)ツリーは\cmd{texconfig-sys}, \cmd{updmap-sys}, \cmd{% +fmtutil-sys}, \cmd{tlmgr}などが,フォーマットや生成されたmapファイルなどの +実行時(キャッシュ)データを保存するためのものです. + +\item[\var{TEXMFSYSCONFIG}] +この(システム用の)ツリーは\cmd{texconfig-sys}, \cmd{updmap-sys}, \cmd{% +fmtutil-sys}などが,変更された設定データを保存するために利用するものです. + +\item[\var{TEXMFLOCAL}] +このツリーは,システム管理者が全ユーザに適用するためにマクロやフォントなどを +追加または更新して配置するためのものです. + +\item[\var{TEXMFHOME}] +このツリーは,一般のユーザが独自に追加または更新したいマクロやフォントを +配置するためのものです.この変数の展開結果は,使用するユーザに合わせて動的に +変化します. + +\item[\var{TEXMFVAR}] +この(ユーザ向けの)ツリーは\cmd{texconfig}, \cmd{updmap-user}, \cmd{fmtutil-% +user}などがフォーマットや生成されたmapファイルなどの実行時(キャッシュ)データ +を保存するためのものです. + +\item[\var{TEXMFCONFIG}] +この(ユーザ向けの)ツリーは\cmd{texconfig}, \cmd{updmap-user}, \cmd{fmtutil-% +user}などが変更された設定データを保存するために利用するものです. + +\item[\var{TEXMFCACHE}] +このツリーは\ConTeXt\ MkIVおよび\LuaLaTeX が実行時(キャッシュ)データを保存 +するためのものです.デフォルトでは\var{TEXMFSYSVAR}(またはこれが書き込み +不能な場合は\var{TEXMFVAR})に設定されています. +\end{description} + +\noindent +デフォルトの\TL 構成: +% +\begin{description} +\item[システム用ルート] 複数の\TL を配置できます + (デフォルト値はUNIXでは\dir{/usr/local/texlive}) + \begin{description} + \item[\dir{2018}] 前年のリリース + \item[\dir{2019}] 最新のリリース + \begin{description} + \item[\dir{bin}] ~ + \begin{description} + \item[\dir{i386-linux}] GNU/Linux向けバイナリ (32-bit) + \item[\quad\vdots] + \item[\dir{x86_64-darwin}] macOS向けバイナリ + \item[\dir{x86_64-linux}] GNU/Linux向けバイナリ (64-bit) + \item[\dir{win32}] Windows向けバイナリ + \end{description} + \item[\dir{texmf-dist}] \var{TEXMFDIST}, \var{TEXMFMAIN} + \item[\dir{texmf-var}] \var{TEXMFSYSVAR}, \var{TEXMFCACHE} + \item[\dir{texmf-config}] \var{TEXMFSYSCONFIG} + \end{description} + \item[\dir{texmf-local}] \var{TEXMFLOCAL}(リリースに依存しません) + \end{description} +\item[ユーザのホームディレクトリ] (\dir{$HOME}または\winenv{USERPROFILE}) + \begin{description} + \item[\dir{.texlive2018}] 前年リリースに適用するユーザごとのデータ(設定や生成物) + \item[\dir{.texlive2019}] 最新リリースに適用するユーザごとのデータ(設定や生成物) + \begin{description} + \item[\dir{texmf-var}] \var{TEXMFVAR}, \var{TEXMFCACHE} + \item[\dir{texmf-config}] \var{TEXMFCONFIG} + \end{description} + \item[\dir{texmf}] \var{TEXMFHOME}(ユーザごとのマクロなどを配置) + \end{description} +\end{description} + +\subsection{\TeX の拡張エンジン} +\label{sec:tex-extensions} + +Knuthによるオリジナルの\TeX は既に開発が終了しており,ごく稀にバグ修正が +入る程度です.\TL には現在もこのオリジナル処理系が\cmd{tex}として含まれており, +この状況は当面の間は変わることはないでしょう.一方で,\TL にはいくつかの\TeX を +拡張したエンジン(それらも\TeX 処理系と呼ばれています)も収録されています: +% +\begin{description} +\item[\eTeX]\label{text:etex} +この処理系ではいくつかの追加プリミティブ(主としてマクロ展開,文字列スキャン, +\cs{marks}クラス,デバッグに関わるもの)と双方向組版のための\TeXXeT 拡張が利用可能 +です.デフォルトモードでは,\eTeX はオリジナルの\TeX と完全な互換性があります. +詳細については\file{texmf-dist/doc/etex/base/etex_man.pdf}を参照してください. + +\item[\pdfTeX] +この処理系には,\eTeX の機能に加えてDVI同様にPDFを出力する機能と,その他出力とは +関係のない多数の追加機能が搭載されています.この処理系は,\cmd{etex}, \cmd{latex}, +\cmd{pdflatex}など多くのフォーマット(コマンド)から呼び出されています.pdf\TeX の +ウェブサイトは\url{https://tug.org/applications/pdftex/}です.\TL にはマニュアル +(\file{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}) とpdf\TeX の拡張機能の利用例を +示した文書 (\file{texmf-dist/doc/pdftex/samplepdftex/samplepdf.tex}) も収録されて +います. + +\item[\LuaTeX] +\pdfTeX の後継として開発されているもので(完全ではありませんが)概ね後方互換性が +あります.またAlephの上位互換となることも目標になっていますが,これについても完全な +互換性があるわけではありません.この\TeX エンジンには軽量スクリプト言語Lua (\url{% +https://www.lua.org/}) のインタプリタが組み込まれており,\TeX における厄介な問題に +対処するのにとても役立ちます.\cmd{texlua}として呼び出した場合は独立のLua処理系の +ように振る舞います.そのため\TL に含まれる一部のプログラムもこのLua処理系によって +実行されています.ウェブサイト:\url{https://luatex.org/},マニュアル:\file{% +texmf-dist/doc/luatex/base/luatex.pdf}. + +\item[\XeTeX] +Unicodeによる入力とOpenTypeフォントおよびシステムフォントの利用を,サードパーティ +製のライブラリを利用してサポートする\TeX 処理系です. +ウェブサイト:\url{https://tug.org/xetex}. + +\item[{\OMEGA} (Omega)] +Unicode(16-bit文字)ベースの処理系で,すなわち世界中のほとんどあらゆる言語で +用いられる文字に対応しています.この処理系はいわゆる `Omega Translation +Processes' (OTPs) もサポートしており,任意の入力について複雑な組版処理を施すことも +可能です. + +\item[{\ALEPH} (Aleph)] +Omegaと\eTeX を組み合わせた処理系です.詳細については\dir{texmf-dist/doc/aleph/% +base}を参照してください. +\end{description} +% +%% 日本語版追記ここから %% +上記の\TeX 処理系は主として欧文組版を行うために開発されたもので,そのままでは日本語 +の組版には適しません.幸い\TL には日本語組版を行うために拡張されたエンジンもいくつか +収録されています: +% +\begin{description} +\item[\pTeX] +Knuthによるオリジナルの\TeX 処理系を日本語組版用に拡張したものです.和文フォントを +扱うことができるように拡張されているほか,禁則処理や縦組みにも対応しています.詳細に +ついては\file{texmf-dist/doc/ptex/ptex-manual/ptex-manual.pdf}を参照してください. + +\item[\upTeX] +\pTeX の派生エンジンで,内部コードがUnicodeに変更されています.基本的には\upTeX は +\pTeX の上位互換となっており,UTF-8入力が活用できるのみならず,他にもいくつかの +機能が追加されています. + +\item[\epTeX, \eupTeX] +\pTeX と\upTeX に\eTeX 相当の拡張機能を追加したエンジンです.現在\TL に含まれる +\cmd{platex}, \cmd{uplatex}コマンドではデフォルトでこれらの処理系が呼び出されます. +最近は\pdfTeX 由来の機能も一部利用できます.詳細は\file{texmf-dist/doc/ptex/ptex-% +base/eptexdoc.pdf}をご覧ください. +\end{description} +% +また\LuaTeX-jaというマクロパッケージを用いると\LuaTeX でも日本語組版を実現できます. +詳しくはウェブサイト\url{https://ja.osdn.net/projects/luatex-ja/}またはドキュメント +\file{texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf}を参照してください. +%% 日本語版追記ここまで %% + +\subsection{\TL に含まれるその他の著名なソフトウェア} +% Note: 日本語向けのプログラム(pbibtex, mendex など)は日本語版独自に追記 + +ここに少しですが,\TL に含まれていて,よく利用されるプログラムを列挙しておきます: +% +\begin{cmddescription} +\item[bibtex, biber] +参考文献リストの作成を補助するプログラム. + +\item[pbibtex, upbibtex] +\cmd{bibtex}を日本語用に拡張したもの. + +\item[makeindex, xindy] +索引の作成を補助するプログラム. + +\item[mendex, upmendex] +\cmd{makeindex}を日本語用に拡張したもの. + +\item[dvips] +DVIを\PS に変換するプログラム. + +\item[xdvi] +X Windowsシステム向けのDVIビューア. + +\item[dviconcat, dviselect] +DVIのページを切り貼りするためのプログラム. + +\item[dvipdfmx] +DVIをPDFに変換するプログラム. + +\item[psselect, psnup, \ldots] +\PS ユーティリティ. + +\item[pdfjam, pdfjoin, \ldots] +PDFユーティリティ. + +\item[context, mtxrun] +\ConTeXt とPDFプロセッサ. + +\item[htlatex, \ldots] +\cmd{tex4ht}は\AllTeX をHTMLやXMLに変換するプログラム. +\end{cmddescription} + +\section{\TL のインスール} +\label{sec:install} + +\subsection{インストーラの入手と起動} +\label{sec:inst-start} + +\TL をインストールするためには,まず\TeX コレクションDVDを入手するか\TL の +インターネット・インストーラをダウンロードします.より詳細な情報や\TL を入手 +するその他の方法については\url{https://tug.org/texlive/acquire.html}を参照して +ください. +% +\begin{description} +\item[インターネット・インストーラ(\file{.zip}または\file{.tar.gz})] +CTANの\dir{systems/texlive/tlnet}配下からダウンロードできます.\url{http://% +mirror.ctan.org/systems/texlive/tlnet}にアクセスすると,最寄りの最新ミラーに +リダイレクトされるはずです.\file{install-tl.zip}(UNIXおよびWindows向け), +またはそれよりもかなりファイルサイズの小さい\file{install-unx.tar.gz}(UNIX% +専用)のお好きな方をダウンロードしてください.ダウンロードしたアーカイブを展開 +すると\dir{install-tl}サブディレクトリ以下に\file{install-tl}および\file{% +install-tl-windows.bat}が見つかるはずです. + +\item[インターネット・インストーラ(Windows用\file{.exe})] +上と同様にCTANからダウンロードし,ダブルクリックしてください.すると, +インストーラの最初の画面(図\ref{fig:nsis})が表示されるはずです.この画面では +「インストール」または「展開のみ」のいずれかを選ぶことができます. + +\item[\TeX コレクションDVD] +DVD内の\dir{texlive}サブディレクトリを開いてください.Windowsでは,通常DVD +を挿入するとインストーラが自動的に起動するはずです.{\TeX} Users Group (TUG) の +会員になるか (\url{https://tug.org/usergroups.html}),TUGのオンラインストア +(\url{https://tug.org/store}) で個別に購入するとDVDを手に入れることができます. +また,配布されているISOイメージからご自身でDVDに焼くことも可能です.DVDまたは +ISOから\TL をインストールした後,インターネットを利用して継続的にアップデートを +行いたい場合は\ref{sec:dvd-install-net-updates}節をご覧ください. +\end{description} +% +\begin{figure}[tb] +\tlpng{nsis_installer}{.6\linewidth} +\caption{Windows用インストーラ (\code{.exe}) の初期画面.} +\label{fig:nsis} +\end{figure} + +いずれの手段でインストーラを入手しても,まったく同じプログラムが起動します. +入手方法の違いによって生じる差異のうち,ユーザにとって最も重要なことは, +インターネット・インストーラを利用した場合はすべてのパッケージについて入手可能 +な最新バージョンがインストールされますが,DVDやISOイメージを用いた場合には +年に1度のパブリックリリース時点での最新版がインストールされるということです. + +もしプロキシを利用してダウンロードする必要がある場合は,\file{~/.wgetrc}ファイル +または環境変数を利用してWgetに対して適切なプロキシ設定を行うか (\url{https://% +www.gnu.org/software/wget/manual/html_node/Proxies.html}),もしくはお好みで他の +ダウンロード用ツールをご利用ください.DVDやISOイメージからインストールを行う +場合は,プロキシ設定について気にする必要はありません. + +以降のセクションでは,このインストーラの使い方について詳しく説明します. + +\subsubsection{UNIX} + +以降では\code{>}はシェル・プロンプトを表し,ユーザの入力はタイプライタ体で +\code{command}のように表現することにします.\TL のインストーラ\cmd{install-% +tl}はPerlスクリプトです.UNIX互換なシステムでこのスクリプトを起動する最も簡単 +な方法は以下を実行することです: +% +\begin{alltt} +> perl /path/to/installer/install-tl +\end{alltt} +% +(もちろん,実行権限を与えていれば単に\code{/path/to/installer/install-tl}と +して起動することもできますし,事前に\cmd{cd}で\cmd{install-tl}のある +ディレクトリに移動しても構いません.以降では,そのようなバリエーションについて +逐一言及はしません.) +% +ところで,インストーラのメッセージを見やすく表示するためには,ターミナルの +ウィンドウサイズは十分に大きくしておいてください(図\ref{fig:text-main}). + +インストーラをGUIモードで起動するためには,予めTcl/Tkをインストールしておく +必要があります.その上で,次のようにするとGUIモードで起動できます: +% +\begin{alltt} +> perl install-tl -gui +\end{alltt} + +古い\code{wizard}モードや\code{perltk}/\code{expert}オプションは,現在も使用 +可能です.これらはXFTサポートありでコンパイルされた\code{Perl::Tk}モジュールを +必要とします.この要件は,基本的にはGNU/Linuxでは問題になりませんが,他の +プラットフォームでは問題かもしれません.利用可能なすべてのオプションを確認する +には次を実行してください: +% +\begin{alltt} +> perl install-tl -help +\end{alltt} + +\paragraph{UNIXのパーミッションについて} +\TL インストーラは,実行時の\cmd{umask}設定を反映します.したがって,もし利用 +中のユーザだけでなく他のユーザも利用可能な形で\TL をインストールしたい場合は, +\code{umask 002}など適切なパーミッション設定になっているかよくご確認ください. +\cmd{umask}コマンドの詳細については,システムのマニュアルを参照してください. + +\paragraph{Cygwinへの注意} +他のUNIX互換システムと異なり,Cygwinにはデフォルトでは\TL インストーラの実行に +必要なプログラムの一部が含まれていません.詳細は\ref{sec:cygwin}節を参照して +ください. + +\subsubsection{macOS} +\label{sec:macos} + +\ref{sec:tl-coll-dists}節でも言及したように,macOSには\MacTeX という専用の +ディストリビューションがあります (\url{https://tug.org/mactex}).\MacTeX の +インストーラはmacOS向けにいくつかの最適化をしている(たとえば,いわゆる +「{\TeX}Distデータ構造」を利用して複数のmacOS向け\TeX ディストリビューション +(\MacTeX, Fink, MacPorts, \ldots) を簡単に切り替える機能があります)ので,\TL +インストーラを利用するよりも,\MacTeX を利用したインストールをおすすめします +(訳注:ただし敢えて\TL インストーラを利用することも可能です). + +\MacTeX は完全な\TL ベースのディストリビューションで,主要な\TeX ツリーと +含まれる実行バイナリはまったく同一です.通常の\TL に,macOS専用のドキュメント +とアプリケーションがいくつか追加されています. + +\subsubsection{Windows}\label{sec:wininst} + +もしZIPファイルをご自身でダウンロードして展開した場合やDVDを挿入しても自動的に +インストーラが起動しなかった場合は,\file{install-tl-windows.bat}をダブルクリック +してください. + +もしくは,コマンドプロンプトを利用してインストーラを起動することも可能です.以下 +では\code{>}はプロンプトを表し,ユーザの入力はタイプライタ体で\code{command}の +ように表現することにします.もし,既にインストーラのあるディレクトリにいる場合は +単に +% +\begin{alltt} +> install-tl-windows +\end{alltt} +% +を実行してください.もちろん絶対パスを指定して起動することも可能です.例えば, +\TeX コレクションDVDを利用していて,その光学ドライブが\dir{D:}であれば: +% +\begin{alltt} +> \winpath{D:\\texlive\\install-tl-windows} +\end{alltt} +% +図\ref{fig:installer-basic}はGUIインストーラ(Windowsではデフォルト)の初期画面を +示しています. + +テキストモードでのインストールを行いたい場合は次のようにしてください: +% +\begin{alltt} +> install-tl-windows -no-gui +\end{alltt} + +すべてのオプションを表示するには以下を実行してください: +% +\begin{alltt} +> install-tl-windows -help +\end{alltt} + +\begin{figure}[tb] +\begin{boxedverbatim} +Installing TeX Live 2019 from: ... +Platform: x86_64-linux => 'GNU/Linux on x86_64' +Distribution: inst (compressed) +Directory for temporary files: /tmp +... + Detected platform: GNU/Linux on Intel x86_64 + + <B> binary platforms: 1 out of 16 + + <S> set installation scheme: scheme-full + + <C> customizing installation collections + 40 collections out of 41, disk space required: 5829 MB + + <D> directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2019 + ... + + <O> options: + [ ] use letter size instead of A4 by default + ... + + <V> set up for portable installation + +Actions: + <I> start installation to hard disk + <P> save installation profile to 'texlive.profile' and exit + <H> help + <Q> quit +\end{boxedverbatim} +\vskip-\baselineskip +\caption{\TL インストーラのテキストモードでのメイン画面 (GNU/Linux)} +\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{basic-macos-ja}{.6\linewidth} +\caption{\TL インストーラの基本画面 (macOS).「高度な設定」ボタンを押すと図\ref{% +fig:installer-advanced}のような画面に切り替わります.}\label{fig:installer-basic} +\end{figure} + +\begin{figure}[tb] +\tlpng{advanced-macos-ja}{\linewidth} +\caption{\TL インストーラGUIモードの「高度な設定」画面 (macOS)} +\label{fig:installer-advanced} +\end{figure} + +\subsubsection{Cygwin} +\label{sec:cygwin} + +Cygwinでは,\TL のインストールを始める前に\file{setup.exe}プログラムを用いて +(もし未導入の場合は)\prog{perl}と\prog{wget}をインストールするようにしてくだ +さい.また以下のパッケージも予めインストールしておくことをおすすめします: +% +\begin{itemize*} +\item \prog{fontconfig}(\XeTeX と\LuaTeX のため) +\item \prog{ghostscript}(多くの\TeX エンジンのため) +\item \prog{libXaw7}(\prog{xdvi}のため) +\item \prog{ncurses}(インストーラの\code{clear}コマンドの実行に必要) +\end{itemize*} + +\subsubsection{テキストモード} + +図\ref{fig:text-main}はUNIXにおけるテキストモードのメイン画面を示しています. +テキストモードはUNIXではデフォルトです. + +このモードは,完全にコマンドラインで完結するもので,カーソルによる操作のサポートは +まったくありません.例えば,Tabキーによってチェックボックスや入力フォーム間を移動 +することはできません.インストール操作はすべて,プロンプトに文字をタイプ(大文字と +小文字は区別されます)してEnterキーを押すことによって行います.ターミナルの画面は, +入力にしたがって適切に遷移していきます. + +テキストモードのインターフェースは,最小限のPerlしかない環境を含めなるべく多く +のプラットフォームで動作するようとても原始的に作られています(訳注:GUIモード +は日本語を含む多言語に対応していますが,テキストモードは英語のみです). + +\subsubsection{GUIモード} +\label{sec:graphical-inst} + +GUIモードはデフォルトではわずかなオプションのみを提供するシンプルな画面で +スタートします(図\ref{fig:installer-basic}).GUIモードを起動するには +% +\begin{alltt} +> install-tl -gui +\end{alltt} +% +を実行します.「高度な設定」ボタンを押すとテキストモードとほぼ同程度のオプションを +提供する画面に切り替わります(図\ref{fig:installer-advanced}). + +\subsubsection{その他のレガシーなモード} + +古い\code{perltk}モード,\code{expert}モード,\code{wizard}モードは現在もPerl/Tkが +インストールされていれば利用可能です.これらはそれぞれインストーラに\sopt{gui=% +perltk}や\sopt{gui=wizard}オプションを与えると起動できます. + +\subsection{インストーラの操作方法} +\label{sec:runinstall} + +インストーラは直感的に操作できるように設計されていますが,このセクションでは多様な +オプションやサブメニューについて簡単に説明します. + +\subsubsection{バイナリ選択メニュー(UNIXのみ)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: +=============================================================================== + a [ ] Cygwin on Intel x86 (i386-cygwin) + b [ ] Cygwin on x86_64 (x86_64-cygwin) + c [ ] MacOSX current (10.12-) on x86_64 (x86_64-darwin) + d [ ] MacOSX legacy (10.6-) on x86_64 (x86_64-darwinlegacy) + e [ ] FreeBSD on x86_64 (amd64-freebsd) + f [ ] FreeBSD on Intel x86 (i386-freebsd) + g [ ] GNU/Linux on ARM64 (aarch64-linux) + h [ ] GNU/Linux on ARMhf (armhf-linux) + i [ ] GNU/Linux on Intel x86 (i386-linux) + j [X] GNU/Linux on x86_64 (x86_64-linux) + k [ ] GNU/Linux on x86_64 with musl (x86_64-linuxmusl) + l [ ] NetBSD on x86_64 (amd64-netbsd) + m [ ] NetBSD on Intel x86 (i386-netbsd) + o [ ] Solaris on Intel x86 (i386-solaris) + p [ ] Solaris on x86_64 (x86_64-solaris) + s [ ] Windows (win32) +\end{boxedverbatim} +\vspace{-1zh} +\caption{バイナリ選択メニュー}\label{fig:bin-text} +\end{figure} + +図\ref{fig:bin-text}はテキストモードのバイナリ選択メニューを示しています.デフォルト +ではインストーラ実行時に使用中のプラットフォーム向けのバイナリだけがインストール +されます.このメニューを利用すると,その他のプラットフォーム向けのバイナリも同様に +インストールすることを選択することができます.このメニューは\TeX ツリーをさまざまな +環境に共通のネットワークで共有する場合やデュアルブートシステムでは有用です. + +\subsubsection{スキーム・コレクションの選択} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select scheme: +=============================================================================== + a [X] full scheme (everything) + b [ ] medium scheme (small + more packages and languages) + c [ ] small scheme (basic + xetex, metapost, a few languages) + d [ ] basic scheme (plain and latex) + e [ ] minimal scheme (plain only) + f [ ] ConTeXt scheme + g [ ] GUST TeX Live scheme + h [ ] infrastructure-only scheme (no TeX at all) + i [ ] teTeX scheme (more than medium, but nowhere near full) + j [ ] custom selection of collections +\end{boxedverbatim} +\vspace{-1zh} +\caption{スキーム選択メニュー}\label{fig:scheme-text} +\end{figure} + +図\ref{fig:scheme-text}は\TL のスキーム選択メニューです.これによって,お好きな +スキーム(パッケージコレクションのセット)を選んでインストールを行うことができます. +デフォルトでは\TL で利用可能なすべてのパッケージを含む\pkg{full}スキームが +インストールされます.おすすめはこの\pkg{full}スキームですが,純粋なplain \TeX +と\LaTeX だけを使用するなら\pkg{basic},それに少しプログラムを追加したものである +\pkg{small}(これは\MacTeX におけるBasic\TeX と同等です),単なるテスト目的なら +\pkg{minimal},あるいはそれらの中間にあたるものが欲しければ\pkg{medium}や +\pkg{teTeX}スキームを選択することもできます.その他にも,多数の目的別もしくは +言語別のスキームが用意されています. + +\begin{figure}[tb] +\centering \tlpng{stdcoll-ja}{.7\linewidth} +\caption{コレクション選択メニュー}\label{fig:collections-gui} +\end{figure} + +コレクション選択メニュー(図\ref{fig:collections-gui})を活用すると選択したスキーム +をさらに利用目的に応じて最適化することができます(訳注:\pkg{full}スキーム以外 +のスキームには日本語組版に必要な\pTeX 系エンジンや\LuaTeX-jaなどは含まれていません. +したがって\pkg{full}スキーム以外のスキームを選択した場合,日本語組版を行うため +には原則として日本語コレクション (\pkg{collection-langjapanese}) を追加する必要が +あります). + +コレクションはスキームよりも細かなパッケージのセットです.基本的には,スキームという +のはいくつかのコレクションを集めたもので,コレクションは1つまたは複数のパッケージを +まとめたものです.パッケージは\TL におけるプロダクトの最小単位で,具体的には実際の +\TeX マクロファイルやフォントファイルから成るものです. + +もしコレクション選択メニューが提供するよりもさらに細かくインストールするものを制御 +したい場合は,インストール後に\TL マネージャ (\cmd{tlmgr}) を使用してください. +\TL マネージャを利用すればパッケージ単位でインストールを行うことが可能です. + +\subsubsection{インストール先ディレクトリ} +\label{sec:directories} + +デフォルトの\TL 構成については\ref{sec:texmftrees}節 (\p.\pageref{sec:texmftrees}) +で説明しました.デフォルトのインストール先はUNIXでは\dir{/usr/local/texlive/2019}, +Windowsでは\winpath{\winenv{SystemDrive}\\texlive\\2019}です.この配置は複数の\TL +を同時にインストールすることを可能にします.例えば複数のリリース(典型的には,年度 +ごと)の\TL をインストールしておき,単純に検索パスを変更することによってどの +リリースを使用するか切り替えるようなことができます. + +インストール先のディレクトリはインストーラにおける\code{TEXDIR}を設定することに +よって変更することができます.GUIモードで\code{TEXDIR}やその他のオプションを設定 +するための画面は図\ref{fig:installer-advanced}に示されています.インストール先を +変更する必要があるのは,デフォルトのインストール先にあたるパーティションに十分な +空き容量がない場合(\TL をフルインストールするには数GBの容量が必要となります)や +書き込み権限がない場合です(\TL をインストールするのに管理者 (root) 権限は必要 +ありませんが,インストール先ディレクトリへの書き込み権限は必要です). + +インストール先のディレクトリは,インストーラを実行する前にいくつかの環境変数(よく +用いられるのは\var{TEXLIVE\_INSTALL\_PREFIX}と\var{TEXLIVE\_INSTALL\_TEXDIR})を +設定することによっても変更できます.詳細については\code{install-tl \lopt{help}}に +より表示できるドキュメント (\url{https://tug.org/texlive/doc/install-tl.html}) を +参照してください. + +合理的なインストール場所の変更先は(特にあなたが\TL を利用する単独のユーザである +場合には)ホームディレクトリ以下でしょう.メタ文字\dir{~}(チルダ)を用いるとこれを +簡単に指定することができます(例:\dir{~/texlive/2019}). + +複数の\TL リリースを同時にインストールできるようにするためにも,インストール先の +ディレクトリ名には「年」を含めることをおすすめします(もし\dir{/usr/local/texlive-% +cur}などバージョンに依存しない名前で管理したいとお考えであれば,シンボリックリンク +を利用して新しいリリースをテストしてからそのリンク先を変更するようにするのも良い +でしょう). + +インストーラにおける\code{TEXDIR}を変更すると\code{TEXMFLOCAL}, \code{TEXMFSYSVAR}, +\code{TEXMFSYSCONFIG}にあたるディレクトリも合わせて変更されることになります. + +\code{TEXMFHOME}はユーザごとのマクロファイルやパッケージを配置するのに適した場所で, +デフォルトでは\dir{~/texmf}です(macOSでは\dir{~/Library/texmf}).\code{TEXDIR}% +の場合とは異なり,\TeX を実行しているユーザのホームディレクトリを簡単に参照できる +ように,このデフォルト値では\dir{~}が各々のインストールのために生成された設定 +ファイルに書き込まれています.\dir{~}はUNIXでは\dir{$HOME}に,Windowsでは\winenv{% +USERPROFILE}にそれぞれ展開されます.繰り返しの注意になりますが,\code{TEXMFHOME}% +も他のTEXMFツリーと同様にTDSにしたがった構成になっているべきです(必要のないファイル +やディレクトリは配置されていなくも構いません). + +\code{TEXMFVAR}はほとんどの(ユーザごとの)実行時キャッシュが保存される場所です. +\code{TEXMFCACHE}は\LuaLaTeX と{\ConTeXt} MkIVが使用するための変数で,デフォルト +では\code{TEXMFSYSVAR}または(もし\code{TEXMFSYSVAR}が書き込み可能でない場合は) +\code{TEXMFVAR}に設定されています.詳細は\ref{sec:context-mkiv}節 (\p.\pageref{% +sec:context-mkiv}) を参照してください. + +\subsubsection{オプション} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options customization: +=============================================================================== + <P> use letter size instead of A4 by default: [ ] + <E> execution of restricted list of programs: [X] + <F> create all format files: [X] + <D> install font/macro doc tree: [X] + <S> install font/macro source tree: [X] + <L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + <Y> after install, set CTAN as source for package updates: [X] +\end{boxedverbatim} +\vskip-\baselineskip +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +図\ref{fig:options-text}はテキストモードにおけるオプションメニューです.以下に +各オプションの詳細を列挙します: +% +\begin{description} +\item[use letter size instead of A4 by default% +(A4サイズの代わりにレターサイズをデフォルトで使用)] +デフォルトの用紙サイズを選択します.当然ながら,各ドキュメントのサイズはその都度 +ドキュメントに合わせて指定することもできます. + +\item[execution of restricted list of programs% +(制限リストにあるプログラムの実行を許可)] +\TL{} 2010以降,いくつかの外部プログラムの実行がデフォルトで許可されるようになり +ました.実行が許可されている(数少ない)プログラムのリストは\file{texmf.cnf}に +記載されています.詳細については\TL{} 2010のリリースノート(\ref{sec:2010news}% +節)を参照してください. + +\item[create all format files(すべてのフォーマットファイルを作成)] +必要のないフォーマットの生成(ダンプ)には時間がかかりますし,ディスク容量も使用 +しますが,それでもこのオプションは有効にしておくことを推奨します.このオプションを +無効にした場合,各ユーザがフォーマットを使用したいときにフォーマットが生成され, +\code{TEXMFVAR}ツリーに保存されることになります.その場合,生成されたフォーマット +は,仮にバイナリやハイフンパターンの更新が入ったとしても,自動的にはアップデート +されないため,いつまでも非互換なフォーマットファイルを使用し続けることになる可能性 +があります. + +\item[install font/macro \dots\ tree% +(フォント・マクロの 〜 ツリーをインストール)] +多くのパッケージに付属するソースファイルとドキュメントをダウンロード・インストール +するか否かを選択するオプションです.このオプションを無効化することは非推奨です. + +\item[create symlinks in standard directories% +(標準ディレクトリにシンボリックリンクを作成)] +このオプションはUNIXのみで利用可能で,環境変数の変更を回避する手段です.この +オプションを有効にしない場合,\TL のディレクトリは通常手動で\code{PATH}, \code{% +MANPATH}, \code{INFOPATH}に追加する必要があります.ただし,シンボリックリンクの +作成先ディレクトリについて書き込み権限が必要です.このオプションは一般的に知られた +\dir{/usr/local/bin}などのディレクトリ(ただし\TeX 関連コマンドがまだインストール +されていない場所)に\TeX 関連コマンドを配置するためのものです.シンボリックリンクの +作成先にシステムディレクトリを指定するなどして,元々システムに存在していたファイルを +上書きしてしまわないようにご注意ください.安全のため,このオプションは有効にしない +ことをおすすめします. + +\item[after install, set CTAN as source for package updates% +(CTANをインストール後のパッケージ更新元に設定)] +\TL をDVDからインストールする場合,このオプションはデフォルトで有効です.大抵の +場合,\TL のユーザは年内に行われるパッケージのアップデートを受け取りたいと考える +ためです.このオプションを無効化する場合があるとしたら,例えばDVDからは一部の +インストールのみを行って,後に(別の方法で)補強したいような場合でしょう.いずれに +せよ,インストール時およびインストール後に利用するパッケージリポジトリは,必要に +応じて独立に設定することが可能です.詳細は\ref{sec:location}節と\ref{sec:dvd-install% +-net-updates}節を参照してください. +\end{description} + +Windowsのみで利用可能なオプションも,上級者向けのPerl/Tkインターフェースで利用可能 +です: +% +\begin{description} +\item[adjust PATH setting in registry(レジストリのPATH設定を最適化)] +このオプションによってすべてのプログラムが確実に検索パス中で\TL のバイナリを見つけ +られるようにします. + +\item[add menu shortcuts(メニューにショートカットを追加)] +このオプションが有効の場合,スタートメニューに\TL サブメニューが追加されます.ここ +には`TeX Live menu'と`No shortcuts'の他に`Launcher entry'という第三の選択肢も +あります.このオプションについては\ref{sec:sharedinstall}節で説明します. + +\item[change file associations(拡張子の関連付けを変更)] +このオプションでの選択肢は`Only new'(拡張子の関連付けを行うが,既に存在する関連 +付けの上書きは行わない),`All',`None'の3つです. + +\item[install \TeX works front end(統合開発環境\TeX worksをインストール)] +\end{description} + +すべての設定が済みましたら,テキストモードでは`I'をタイプ,Perl/TkのGUIモードでは +`Install TeX Live'ボタンを押すことによってインストールを実行してください.インストール +が完了したら(他にすることがなければ)\ref{sec:postinstall}節までスキップしてください. + +\subsection{\cmd{install-tl}のコマンドラインオプション} +\label{sec:cmdline} + +次を実行すると,\cmd{install-tl}のコマンドラインオプションの一覧を確認することが +できます: +% +\begin{alltt} +> install-tl -help +\end{alltt} +% +オプション名を指定するには\sopt{}または\lopt{}を利用できます.以下では,一般的な +オプションについてのみ説明します: +% +\begin{description} +\item[\sopt{gui}] +インストーラを(もし利用可能なら)GUIモードで起動します.GUIモードの実行には +バージョン8.5以上のTcl/Tkが必要です.これはmacOSではご自身でインストールしていただく +必要がありますが,Windows用の\TL には同梱されているため特に何もする必要はありません. +古いオプションである\sopt{gui=perltk}と\sopt{gui=wizard}は現在も利用可能です. +これらの実行のためにはXFTサポートが有効なPerl/Tkモジュールが必要です (\url{https://% +tug.org/texlive/distro.html#perltk}).Tcl/TkとPerl/Tkが利用可能でない場合,この +オプションが指定された場合でもインストーラはテキストモードで続行されます. + +\item[\sopt{no-gui}] +インストーラを必ずテキストモードで起動します. + +\item[\sopt{lang \meta{言語コード}}] +指定した\meta{言語コード}(通常2文字)にあたる言語を使用します(訳注:日本語を使用 +したい場合は\sopt{lang ja}とします).インストーラは自動的に最適な言語で起動します +が,もし自動判定に失敗した場合や最適な言語が利用不可能な場合は,英語を使用します. +インストーラで利用可能な言語の一覧は\code{install-tl -help}で確認できます. + +\item[\sopt{portable}] +\TL をUSBメモリなどにポータブルインストールします.ポータブルインストールは, +インストーラの起動後にテキストモードの\code{V}コマンドまたはGUIモードのメニュー +を利用して選択することもできます.詳細は\ref{sec:portable-tl}節を参照してください. + +\item[\sopt{profile \meta{ファイル}}] +インストールプロフィール\meta{ファイル}を読み込み,非対話的にインストールを実行 +します.なおインストーラは常に\file{texlive.profile}を\dir{tlpkg}ディレクトリに +書き込みます.このファイルを利用すると,まったく同じ設定でインストールを(例えば +別のシステムでも)再実行することが可能です.別の活用方法として,ご自身で用意した +カスタムプロフィール(生成された\file{texlive.profile}を改変するのが簡単です)を +使用したり,空のファイルを指定してすべてをデフォルト設定でインストールしたりする +こともできます. + +\item[\sopt{repository \meta{リポジトリ}}] +パッケージリポジトリ(ディレクトリまたはURL)を指定します.下の\ref{sec:location}% +節を参照してください. + +\item[\sopt{in-place}] +(警告:このオプションは何をしようとしているのか完全に承知している場合以外は使用 +しないでください.)すでにrsyncやsvnまたはその他の手段で\TL のコピー(その入手元 +については\url{https://tug.org/texlive/acquire-mirror.html}を参照)が手許にある +場合,このオプションを利用するとそのコピーをそのまま利用し,追加で必要となるものが +ものだけをインストールします.なお\file{tlpkg/texlive.tlpdb}は上書きされるので, +ご自身の責任で保存するようにしてください.また,既にあるパッケージの除去は手動で +行う必要があります.このオプションは起動後にインストーラのインターフェースで有効に +することはできません. +\end{description} + +\subsubsection{\sopt{repository}オプション} +\label{sec:location} + +デフォルトのネットワーク上パッケージリポジトリは\url{http://mirror.ctan.org}に +よって自動的に選択されるCTANミラーです. + +このデフォルトを上書きしたい場合は,使用したいリポジトリを\code{ftp:}, \code{% +http:}, \code{file:/}のいずれかからはじまるURL,または通常のディレクトリパスに +よって指定します(\code{http:}または\code{ftp:}から始まるリポジトリ指定を +行った場合,末尾の`\code{/}'や`\code{/tlpkg}'は無視されます). + +例えばCTANの特定のミラーサーバを\url{http://ctan.example.org/tex-archive/% +systems/texlive/tlnet/}のように指定した場合,実際のホスト名と,そのホストに +おけるCTANのトップレベルパスを\code{ctan.example.org/tex-archive}の代わりに +使用します.CTANミラーの一覧は\url{https://ctan.org/mirrors}で確認できます. + +もし与えられた引数が(パスまたは\code{file:/} URLの形で)ローカルのディレクトリ +を指していた場合,その下にある\dir{archive}サブディレクトリ内の圧縮ファイルが +(仮に展開済みのものがあったとしても)使用されます. + +\subsection{インストール後のアクション} +\label{sec:postinstall} + +場合によっては,インストール後に多少の手順を行う必要があるかもしれません. + +\subsubsection{UNIXにおける環境変数の設定} +\label{sec:env} + +インストール時に標準ディレクトリにシンボリックリンクを作成している(\ref{sec:% +options}節を参照)場合は,環境変数を変更する必要はありません.それ以外の場合, +UNIXシステムではご使用のプラットフォーム向けのバイナリのあるディレクトリを +検索パスに追加する必要があります(Windowsではインストーラが行うので気にする +必要はありません). + +\TL にサポートされている各プラットフォームには\dir{TEXDIR/bin}以下に専用の +サブディレクトリがあります.専用サブディレクトリのリストと,それぞれに対応する +プラットフォームについては図\ref{fig:bin-text}を参照してください. + +さらに,必要であればmanページとinfoマニュアルを含むディレクトリを,それぞれの +検索パスに追加することができます.ただしmanページについては\code{PATH}を設定 +することによって自動的に検索可能になる場合もあります. + +例えば,Intel x86アーキテクチャ上のGNU/Linuxで\prog{bash}などBourneシェルと +互換性のあるシェルを使用していて,なおかつデフォルトのディレクトリ設定の環境の +下では\file{$HOME/.profile}(もしくは\file{.profile}から読み込まれている別の +ファイルでも構いません)に次のような行を追加することで環境変数を設定できます: +% +\begin{sverbatim} +PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} +% +cshやtcshの場合は,編集すべきファイルは典型的には\file{$HOME/.cshrc}で,次の +ような行を追加します: +% +\begin{sverbatim} +setenv PATH /usr/local/texlive/2019/bin/x86_64-linux:$PATH +setenv MANPATH /usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH +\end{sverbatim} +% +もちろん,既にいわゆる「ドットファイル」(各種の設定ファイル)に何かしらの設定 +を記入している場合は,\TL 用のディレクトリは他の設定と競合しないよう適切に +設定されるべきです. + +\subsubsection{環境変数をグローバルに設定する} +\label{sec:envglobal} + +もし前節で説明したような環境変数の変更をシステム全体に適用したい場合や,新しい +ユーザにも適用したい場合は,ご自身の力で設定を行ってください.なぜなら,その +ようなことを実現する方法は,システムによってあまりに異なるからです. + +ここでは2つほど大まかな方針を示しておきます.第一に\file{/etc/manpath.config}% +というファイルの存在を確かめて,もし存在していたら次のような内容を追記します: +% +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2019/bin/x86_64-linux \ + /usr/local/texlive/2019/texmf-dist/doc/man +\end{sverbatim} +% +第二に各種の検索パスや環境変数のデフォルト値を設定するためのファイル\file{% +/etc/environment}の内容を確認することです. + +各UNIX向けのバイナリディレクトリには,\file{man}という名前の\dir{texmf-dist% +/doc/man}を指すシンボリックリンクが作成されています.一部の\prog{man}プログラム +(例えばmacOSの標準\cmd{man}コマンド)は,これを利用して自動的にmanページの +設定を最適化してくれる場合があります. + +\subsubsection{DVDインストール後のインターネットを利用したアップデート} +\label{sec:dvd-install-net-updates} + +\TL をDVDからインストールした後,インターネットを利用してアップデートを行いたい +場合は,以下のコマンドを検索パスの設定の\emph{後}に行ってください: +% +\begin{alltt} +> tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet +\end{alltt} +% +これによって以降\cmd{tlmgr}は最寄りのCTANミラーを利用してアップデートを行う +ようになります.DVDからのインストール時に\ref{sec:options}節で説明したオプション +を介してこの設定をデフォルトにしておくこともできます. + +もしミラーの自動選択では問題がある場合は,\url{https://ctan.org/mirrors}から特定の +CTANミラーを指定することもできます.その際は\dir{tlnet}サブディレクトリまでの +パスを正確に指定するようにしてください. + +\subsubsection{\XeTeX と\LuaTeX のためのシステム設定} +\label{sec:font-conf-sys} + +\XeTeX と\LuaTeX では,\TeX ツリーに存在するものだけでなく,システムにインストール +されているあらゆるフォントを利用することができます.これらのエンジンは互いに関連 +する方法でこれを実現していますが,そのしくみはまったく同じではありません. + +Windowsでは,\TL に含まれているフォントは自動的にフォント名を指定するだけで\XeTeX +から利用できるように設定されます.macOSでは,フォント名による検索を有効にする +ためにはいくつかの手順が必要です(詳細は\MacTeX のウェブサイト\url{https://tug.org/% +mactex}を参照してください).他のUNIXシステムでの設定方法は,以下の通りです. + +この設定を簡単にするために,\pkg{xetex}パッケージのインストール時(最初の\TL +インストール時または追加インストール時)に必要な設定が\file{TEXMFSYSVAR/fonts/% +conf/texlive-fontconfig.conf}に作成されます.\TL フォントをシステム全体で利用できる +ようにするためには,次の手順を実行します(そのために必要な権限は持っているものと +します): +% +\begin{enumerate*} +\item \file{texlive-fontconfig.conf}を\dir{/etc/fonts/conf.d/09-texlive.conf}に + コピーする. +\item \code{fc-cache -fsv}を実行する. +\end{enumerate*} + +\cmd{fc-list}を実行するとシステムにあるフォントの一覧を確認することができます. +また\code{fc-list : family style file spacing}(タイプミスに注意してください) +とすると,もう少し詳細な情報を表示することができます. + +\subsubsection{{\ConTeXt} Mark IV} +\label{sec:context-mkiv} + +「古い」{\ConTeXt} (Mark II)と「新しい」{\ConTeXt} (Mark IV)はいずれも\TL の +インストール後はそのままで動く状態になっているはずで,\cmd{tlmgr}を使用して +アップデートを行っている限りは特に特別な設定を行う必要はありません. + +しかしながら,{\ConTeXt} MkIVは\KPS ライブラリを使用していないので,\cmd{tlmgr}% +を使用せず手動で新しいファイルをインストールした場合にはいくつかの設定を行う +必要があります.そのような手動インストールを行った場合には,MkIVユーザは次を +実行して\ConTeXt のディスクキャッシュデータをクリアする必要があります: +% +\begin{alltt} +> context -generate +\end{alltt} +% +なお,この操作によって生成されるファイルは\code{TEXMFCACHE}(デフォルト値は +\code{TEXMFSYSVAR;TEXMFVAR})以下に保存されます. + +{\ConTeXt} MkIVは\code{TEXMFCACHE}に列挙されているパスを前から確認し,そして +書込み可能な最初の場所にキャッシュを作成します.読み込みの際は,複数の +キャッシュが見つかった場合は(見つかったキャッシュの中で)一番最後のパスに +あるものが優先されます. + +より詳細な情報については\url{https://wiki.contextgarden.net/Running_Mark_IV}% +を参照してください. + +\subsubsection{ローカルおよび個人用のマクロを利用する} +\label{sec:local-personal-macros} + +ローカルおよび個人用のマクロの配置方法については\ref{sec:texmftrees}節でも簡単に +言及しましたが,\code{TEXMFLOCAL}(デフォルトでは\dir{/usr/local/texlive/texmf-% +local}または\winpath{\winenv{SystemDrive}\\texlive\\texmf-local})はシステム全体 +に適用したいローカルなフォントやマクロを,\code{TEXMFHOME}(デフォルトでは\dir{% +$HOME/texmf}または\winpath{\winenv{USERPROFILE}\\texmf})はユーザごとの個人用 +フォントやマクロを配置するためのものです.これらのディレクトリは毎年のリリース +とは切り離して管理されることが意図されており,そこに含まれているファイルは自動的 +に各\TL リリースから検索できるようになっています.したがって,\code{TEXMFLOCAL}% +の値をメインの\TL ツリーとあまりかけ離れた位置に変更することは避けるべきです. +さもないと将来のリリースの際に手動で変更を行う必要が発生する可能性があります. + +いずれのツリーについても,それぞれのファイルはTDSに基づいたサブディレクトリに +配置されているべきです(\url{https://tug.org/tds}や\file{texmf-dist/web2c/texmf.% +cnf}を参照してください).例えば\LaTeX のクラスファイルやパッケージは\dir{% +TEXMFLOCAL/tex/latex}や\dir{TEXMFHOME/tex/latex},あるいはそれより下の階層に配置 +されているべきです. + +\dir{TEXMFLOCAL}については最新の状況を反映したファイル名データベースがないと, +その中にあるファイルが見つけられません.データベースは\cmd{mktexlsr}コマンドを +実行するか,GUI版\TL マネージャで`Reinit file database'ボタンを押すことによって +更新することができます. + +デフォルトでは,これまで見てきたように各TEXMFツリーを表す変数は1つのディレクトリ +を指すように定義されています.しかし,これは絶対そうでなければならないわけでは +ありません.例えば,もし複数のバージョンの大きなパッケージを簡単に切り替える必要 +があるような場合は,複数のツリーを用意した上で\code{TEXMFHOME}をブレースで囲わ +れたカンマ区切りのディレクトリ名リストに設定するとよいでしょう: +% +\begin{verbatim} + TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir} +\end{verbatim} +% +ブレース展開については\ref{sec:brace-expansion}節により詳しい解説があります. + +\subsubsection{サードパーティフォントを利用する} + +これは残念ながら泥沼への入り口です.\TeX インストールの深淵に飛び込みたい場合を +除いては,すべての\TeX 処理系でサードパーティフォントを利用できるようにすること +は諦めた方が無難です.\TL には数多くのフォントが含まれているので,それらの中に +適当なものがないか探してみてください(既に適するものがないとわかっている場合は +仕方ありませんが). + +ただし\XeTeX または\LuaTeX (\ref{sec:tex-extensions}節)であれば\TeX のために +特別な設定を行わなくてもOSにインストールされたあらゆるフォントを利用することが +できます. + +もしどうしてもサードパーティフォントを一般の\TeX 処理系で利用できるように設定を +行う必要がある場合は,\url{https://tug.org/fonts/fontinstall.html}にその方法に +ついて(可能な範囲での)解説がありますので,参考にしてください. + +\subsection{インストールした\TL をテストする} +\label{sec:test-install} + +\TL をインストールした後,美しい文書やフォントの作成を始めるために\TL が正常に +動作するかテストしたいと思うのが普通でしょう. + +おそらく,多くの人がまず最初に動作確認したいのはファイル編集を行うフロントエンド +でしょう.\TL はWidows(のみ)では{\TeX}works (\url{https://tug.org/texworks}) を, +\MacTeX は{\TeX}Shop (\url{https://pages.uoregon.edu/koch/texshop}) をインストール +します.他のUNIXシステムではどのエディタを利用するかはユーザが決めてください. +エディタの選択肢はとてもたくさんあり,その一部は次のセクションでリストアップされて +います.また\url{https://tug.org/interest.html#editors}も参考になるかと思います. +基本的にはどんなテキストエディタでも使用できます.\TeX のための特別な機能は, +なくてならないものではありません. + +残りのセクションでは,新しい\TL が正常に動作するか確認する基本的な手順を解説します. +なお,ここではUNIXコマンドを使用した方法を紹介します.macOSやWindowsのユーザは, +GUIを利用してテストをしたいと考えるかもしれませんが,根本的な部分は変わりません. + +\begin{enumerate} +\item まずはじめに,\cmd{tex}プログラムが実行可能であることを確認しましょう: +% +\begin{alltt} +> tex -version +TeX 3.14159265 (TeX Live ...) +Copyright ... D.E. Knuth. +... +\end{alltt} +% +もしこれを実行したとき,正しいバージョン情報・コピーライト情報の代わりに`command +not found'エラーが出たり,古いバージョン情報が表示される場合は,正しい\dir{bin}% +ディレクトリが\code{PATH}に追加されていない可能性が高いです.そのような場合は\p.% +\pageref{sec:env}にある環境変数設定の情報を確認してください. + +\item 基本的な\LaTeX ファイルを処理してみましょう: +% +\begin{alltt} +> latex sample2e.tex +This is pdfTeX 3.14... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +% +\file{sample2e.tex}やその他のファイルが見つからないというエラーが出る場合は, +古い環境変数の設定や設定ファイルの影響を受けてしまっている可能性が高いです. +まずは\TeX 関係の環境変数をすべてクリアすることをおすすめします.(より詳細に +分析したい場合は,\TeX 自身に何を検索し,何を見つけたのか報告させるのが良い +でしょう.詳細は\ref{sec:debugging}節を参照してください.) + +\item 次に処理結果をプレビューしてみましょう: +% +\begin{alltt} +> xdvi sample2e.dvi # Unix +> dviout sample2e.dvi # Windows +\end{alltt} +% +すると,新しいウィンドウがポップして\LaTeX の基礎について説明した素敵な文書が +表示されるはずです(ところで,もし\TeX を使うのが初めてでしたら,その内容も +一読の価値があります).なお\cmd{xdvi}コマンドを利用するにはXウィンドウシステム +が正しく動作している必要があります.正常に動作していない場合や,環境変数\code{% +DISPLAY}の設定がまずい場合は\samp{Can't open display}エラーが発生します. + +\item 続いて\PS ファイルを作成してみましょう: +% +\begin{alltt} +> dvips sample2e.dvi -o sample2e.ps +\end{alltt} + +\item 今度はDVIファイルの代わりにPDFファイルを作成します.今回は\file{.tex}% +ファイルから直接PDFを生成してみます: +% +\begin{alltt} +> pdflatex sample2e.tex +\end{alltt} + +\item 生成したPDFもプレビューしてみましょう: +% +\begin{alltt} +> gv sample2e.pdf +\end{alltt} +% +または +% +\begin{alltt} +> xpdf sample2e.pdf +\end{alltt} +% +\cmd{gv}も\cmd{xpdf}も\TL には含まれていないので,ご自身でインストールする必要 +があります.詳細はそれぞれ\url{https://www.gnu.org/software/gv}と\url{https://% +www.xpdfreader.com/}を参照してください.PDFビューアは他にもたくさんあります. +例えばWindowsではSumatra PDF (\url{https://www.sumatrapdfreader.org/free-pdf-% +reader.html}) をおすすめします. + +\item \file{sample2e.tex}以外でテストのために利用できる標準的なファイルを以下に +示しておきます: +% +\begin{description} +\item [\file{small2e.tex}] +\file{sample2e.tex}よりもシンプルな文書です.なにか問題が発生したときに,より +入力サイズの小さいものとして利用できます. + +\item [\file{testpage.tex}] +プリンタにオフセットがあるかどうかを確認するための文書です. + +\item [\file{nfssfont.tex}] +フォントテーブルを出力・テストするためのものです. + +\item [\file{testfont.tex}] +plain \TeX を用いて,同じくフォントテーブルを出力するものです. + +\item [\file{story.tex}] +最も標準的な (plain) \TeX のテスト用ファイルです.\code{tex story.tex}を実行 +後,\code{*}プロンプトに\samp{\cs{bye}}を入力する必要があります. +\end{description} + +\item \pkg{xetex}パッケージをインストールしている場合には,\XeTeX がシステム +フォントを正常に利用できるかどうかテストすることができます: +% +\begin{alltt} +> xetex opentype-info.tex +This is XeTeX, Version 3.14\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +% +もし``Invalid fontname `Latin Modern Roman/ICU'\dots''というエラーメッセージ +が表示された場合は,\TL に含まれるフォントを見つけられるように設定を行う必要 +があります.\ref{sec:font-conf-sys}節を参照してください. +\end{enumerate} + +\subsection{その他のダウンロード可能なソフトウェア} + +\TeX 初心者や\LaTeX 文書を実際に作成するにあたってヘルプが必要な方は,ぜひ +\url{https://tug.org/begin.html}にアクセスしてみてください.いくつかの初心者 +向けの情報を掲載しています. + +ここではインストールの検討に値する各種ツールへのリンクを列挙しておきます: +% +\begin{description} +\item[Ghostscript] \url{https://ghostscript.com/} +\item[Perl] \url{https://www.perl.org/}% + (追加パッケージはCPAN (\url{https://www.cpan.org/}) から入手可) +\item[ImageMagick] \url{https://imagemagick.org/}(画像の加工や変換) +\item[NetPBM] \url{http://netpbm.sourceforge.net/}(こちらも画像用ツール) +\item[\TeX 向きのエディタ] テキストエディタの選択肢はかなり多岐にわたり,その + 選択は完全に各自の好みによります.ここでは主なものをアルファベット順に紹介 + しておきます(一部はWindows専用です). + \begin{itemize*} + \item \prog{GNU Emacs}: \url{https://www.gnu.org/software/emacs/emacs.html}% + (Windowsでも利用可) + \item \prog{Emacs Auc\TeX}: \url{https://www.gnu.org/software/auctex}% + (Windows版はCTANから入手可) + \item \prog{SciTE}: \url{https://www.scintilla.org/SciTE.html} + \item \prog{Texmaker}: \url{https://www.xm1math.net/texmaker} + \item \prog{\TeX studio}: \url{https://texstudio.org/}% + (\prog{Texmaker}のフォークプロジェクト) + \item \prog{\TeX nicCenter}: \url{http://www.texniccenter.org}% + (pro\TeX{}tでは標準添付) + \item \prog{\TeX works}: \url{https://tug.org/texworks}% + (Windows版\TL では標準添付) + \item \prog{Vim}: \url{https://www.vim.org} + \item \prog{WinEdt}: \url{https://tug.org/winedt}, \url{http://www.winedt.com}% + (シェアウェア) + \item \prog{WinShell}: \url{https://www.winshell.de} + \end{itemize*} +\end{description} + +\section{特殊なインストール} + +ここまでは基本的なインストール手順について説明してきました.このセクションでは, +いくつかの特殊なインストールについて解説します. + +\subsection{共有インストール} +\label{sec:sharedinstall} + +\TL はネットワーク上の複数のシステムで共有できるように設計されています.標準の +ディレクトリ構成では,いかなるパスもハードコードされていません.\TL に含まれる +プログラムは必要なファイルを相対パスによって探索します.このことは,\TL の根幹に +あたる設定ファイル\file{$TEXMFDIST/web2c/texmf.cnf}を見ればわかります.そこには +% +\begin{sverbatim} +TEXMFROOT = $SELFAUTOPARENT +... +TEXMFDIST = $TEXMFROOT/texmf-dist +... +TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local +\end{sverbatim} +% +のような記述が並んでいるはずです.この仕組みのおかげで,各プラットフォーム向け +の実行ファイルを,それぞれの検索パスに追加するだけで\TL が機能するように設定 +できます. + +同様に,一度ローカルに\TL をインストールし,そのすべての階層をネットワーク上の +場所に移動することも可能です. + +Windows向けには,\TL は\cmd{tlaunch}というランチャーを含んでいます.そのメイン +画面のメニューには種々の\TeX 関連プログラムおよびドキュメントについてアクション +を起こすためのボタンがあります.この画面は\code{ini}ファイルによってカスタマイズ +することも可能です.初回起動時には,それらのボタンは通常のWindows向けポスト +インストールを実行(すなわち検索パスと拡張子の関連付けを更新)しますが,この操作 +は現在ログイン中のユーザにしか適用されません.したがって,ローカルネットワークに +アクセスできる各システムで\TL を利用できるようにするためには,\cmd{tlaunch}に +メニューショートカットを追加するだけで事足ります.詳細については\cmd{tlaunch}の +マニュアルを参照してください(\code{texdoc tlaunch}を実行するか\url{https://% +ctan.org/pkg/tlaunch}にアクセスすると閲覧できます). + +\subsection{ポータブル (USB) インストール} +\label{sec:portable-tl} + +\TL インストーラに\sopt{portable}オプションを与えると(テキストモードで\code{V}% +コマンドを実行したりGUIモードで同等のオプションを利用した場合も同様です)\TL +は完全に自己完備のインストールを標準的なルート以下に作成します.これはシステムの +いかなる環境にも依存しません.このような構成の\TL はUSBメモリに直接インストール +したり,後からUSBにコピーしたりすることができます. + +ポータブルインストールされた\TeX を実行するには,通常通り実行ファイルのある適切な +ディレクトリを(端末セッションの間)検索パスに追加する必要があります. + +Windowsでは,ポータブルインストールのルートにある\cmd{tl-tray-menu}をダブルクリック +することによって一時的な`tray menu'が作成され,これを用いていくつかの一般的なタスク +を実行することができます: +% +\medskip +\tlpng{tray-menu}{4cm} +\smallskip +% +この画面で`More\ldots'を押すと,このメニューのカスタマイズ方法についての説明が表示 +されます. + +\section{\prog{tlmgr}: \TL マネージャ} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlshell-macos-ja}{\linewidth} +\caption{\prog{tlshell} GUIのアクションメニュー (macOS)} +\label{fig:tlshell} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlcockpit-packages}{.8\linewidth} +\caption{\prog{tlmgr}の新しい{GUI} (\prog{tlcockpit})} +\label{fig:tlcockpit} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr}のレガシーGUIモード.`Load'後のメインウィンドウ} +\label{fig:tlmgr-gui} +\end{figure} + +\TL にはインストール後の\TL 管理のために\prog{tlmgr}というプログラムが同梱されて +います.その主な機能は: +% +\begin{itemize*} +\item 個別パッケージのインストール,アップデート,バックアップ,アンインストール + (依存関係管理も可) +\item パッケージの検索と詳細の表示 +\item プラットフォームの表示,追加,削除 +\item インストールオプションの変更(デフォルトの用紙サイズやソースの場所) +\end{itemize*} + +\prog{texconfig}の機能はすべて\prog{tlmgr}にも備わっています.\TL チームは\prog{% +texconfig}の操作に慣れている方々のために依然としてその配布およびメンテナンスを継続 +していますが,\prog{tlmgr}を使用することをおすすめします. + +\subsection{\prog{tlmgr}のGUI} + +\TL には\prog{tlmgr}のGUIが複数含まれています.\prog{tlshell}(図\ref{fig:% +tlshell})はTcl/Tkを利用したGUIでWindowsとmacOSで利用可能です.\prog{% +tlcockpit}はバージョン8以降のJavaとJavaFXで動作するGUIです.これらはいずれも独立 +したパッケージです. + +\prog{tlmgr}それ自体にもGUIモードが存在します(図\ref{fig:tlmgr-gui}): +% +\begin{alltt} +> tlmgr -gui +\end{alltt} +% +このGUI拡張の実行にはPerl/Tkが必要です.現在はWindows向けの\TL にはPerl/Tk% +モジュールは同梱されていないので注意してください. + +\subsection{コマンド使用例} + +最初のインストールののち,\TL を最新の状態にアップデートするには: +% +\begin{alltt} +> tlmgr update -all +\end{alltt} +% +もし実際のアップデートを実行する前に何が起きるかを確認したい場合は: +% +\begin{alltt} +> tlmgr update -all -dry-run +\end{alltt} +% +または(出力メッセージを減らすなら) +% +\begin{alltt} +> tlmgr update -list +\end{alltt} + +もう少し複雑な例として,\XeTeX 用のコレクションをローカルディレクトリから追加 +する方法を示します: +% +\begin{alltt} +> tlmgr -repository /local/mirror/tlnet install collection-xetex +\end{alltt} +% +これを実行すると,次のような出力が表示されます(一部省略しています): +% +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2019/texmf-dist/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2019/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +上の出力からわかるように,\prog{tlmgr}は依存パッケージもインストールし,ファイル名 +データベースの更新やフォーマットの(再)生成など必要なインストール後処理も自動的に +実行しています.ここでは\XeTeX 用の新しいフォーマットが生成されています. + +パッケージ(またはコレクション,スキーム)の詳細を確認するには次のようにします: +% +\begin{alltt} +> tlmgr show collection-latexextra +\end{alltt} +% +これにより以下のような出力が得られるはずです: +% +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A very large collection of add-on packages for LaTeX. +installed: Yes +revision: 46963 +sizes: 657941k +\end{fverbatim} +% +最後に,最も大事なことですが,フルドキュメントを確認するには\url{https://tug.org/% +texlive/tlmgr.html}にアクセスするか,以下を実行してください: +% +\begin{alltt} +> tlmgr -help +\end{alltt} + +\section{Windows向けの情報} +\label{sec:windows} + +\subsection{Windows専用の機能} +\label{sec:winfeatures} + +Windowsでは\TL はいくつか追加の処理を行います: +% +\begin{description} +\item[メニューとショートカット] +スタートメニューに`\TL'サブメニューを追加します.このサブメニューから\prog{tlmgr}, +\prog{texdoctk}や\PS ビューア (\prog{psv}) などのGUIプログラムを起動したり, +いくつかのドキュメントにアクセスしたりすることができます. + +\item[拡張子の関連付け] +設定が有効になっている場合,\prog{\TeX works}, \prog{Dviout}, \prog{PS\_View}などを +それぞれが扱う拡張子に関連付けます.また関連するファイルを右クリックして「プログラム +から開く」を選択した場合に\TL のプログラムが候補に上がるようになります. + +\item[ビットマップからEPSへの変換] +各種のビットマップ画像を右クリックして「プログラムから開く」を選択した場合に\prog{% +bitmap2eps}を選択できるようになります.\prog{bitmap2eps}はシンプルなスクリプトで, +バックエンドとして\prog{sam2p}や\prog{bmeps}を利用します. + +\item[自動パス設定] +Windowsでは手動でパス設定を行う必要はありません. + +\item[アンインストーラ] +「プログラムの追加と削除」メニューの中に\TL をアンインストールするための項目を追加 +します.これを使用するとGUI版\TL マネージャのアンインストールタブが開きます.単一 +ユーザ向けに\TL をインストールした場合は,スタートメニューにもアンインストール用の +項目が追加されます. + +\item[書き込み禁止] +管理者として\TL をインストールした場合,\TL のディレクトリは書き込み禁止に設定され +ます(通常のNTFSフォーマット内蔵ディスクにインストールした場合). +\end{description} + +また\prog{tlaunch}(\ref{sec:sharedinstall}節)も参照してみてください. + +\subsection{Windows向けに追加されているソフトウェア} + +\TL を完全にインストールするためには,Windowsマシンには通常存在していないパッケージ +が必要となります.そのため\TL はWindows向けに一部の依存パッケージを同梱しています. +以下に列挙するプログラムはWindows版の\TL にのみ含まれています: +% +\begin{description} +\item[PerlとGhostscript] +PerlとGhostscriptは重要なので,\TL には\kenten{隠された}それらのコピーが含まれて +います.これらのプログラムは\TL のプログラムからは利用可能ですが,環境変数や +レジストリ設定の上では存在していないことになっています.\TL に同梱されているPerlと +Ghostscriptは完全版ではなく,またシステムに別途インストールされたものとは一切干渉 +しません. + +\item[PS\_View] +\PS /PDFビューア(図\ref{fig:psview}). + +\item[dviout] +DVIビューア.初期状態では,ファイルを\prog{dviout}でプレビューしようとすると, +フォント生成が行われるはずです.これはスクリーンフォントがインストールされていない +ためです.しばらく使用していると,頻繁に利用されるフォントの生成が完了するため, +フォント生成ウィンドウが現れることは稀になります.詳細はオンラインヘルプ(おすすめ) +を参照してください. + +\item[\TeX works] +PDFビューア機能をもつ\TeX 用の統合開発環境. + +\item[各種コマンドラインツール] +\TL バイナリと同時に,多数のWindows移植版のUNIXコマンドもインストールされます.\cmd{% +gzip}, \cmd{zip}, \cmd{unzip}や\prog{poppler}関連の\cmd{pdfinfo}, \cmd{pdffonts}など +です.Windows版\TL にはスタンドアロンなPDFビューアは含まれていません.必要に応じて +Sumatra PDF viewer (\url{https://sumatrapdfreader.org/}) などをインストールしてくだ +さい. + +\item[fc-list, fc-cache, \ldots] +これらのフォント管理ライブラリを利用して\XeTeX からWindows上のフォントを利用できます. +\prog{fc-list}を用いると\XeTeX 拡張の\cs{font}コマンドに与えるべきフォント名を決定 +することができます.必要に応じて\prog{fc-cache}を事前に実行してフォント情報を更新して +ください. +\end{description} +% +\begin{figure}[tb] +\centering \tlpng{psview}{.6\linewidth} +\caption{PS\_View: かなり高い倍率まで拡大することができます.}\label{fig:psview} +\end{figure} + +\subsection{ユーザプロフィールがホームディレクトリ扱い} +\label{sec:winhome} + +Windowsにおいて,UNIXのホームディレクトリに相当するのは\winenv{USERPROFILE}ディレクトリ +です.Windows Vista以降のWindowsでは,そのデフォルト値は\winpath{C:\\Users\\<username>}% +です.\file{texmf.cnf}内および\KPS 全般において,\dir{~}はWindowsとUNIXのいずれにおいて +も適切に展開されます. + +\subsection{レジストリ} +\label{sec:registry} + +Windowsではほとんどすべての設定データはレジストリに保存されます.レジストリには数個の +ルートの下に階層的に構成されたキーが多数含まれています.簡単に言うと,インストール +プログラムにとって最も重要なものは\var{HKEY\_CURRENT\_USER}, \var{HKEY\_LOCAL\_MACHINE}, +\var{HKCU}, \var{HKLM}です.レジストリのキー\var{HKCU}はユーザのホームディレクトリ内を +参照します(\ref{sec:winhome}節を参照).\var{HKLM}は通常Windowsディレクトリ内のサブ +ディレクトリです. + +一部の項目については環境変数によってシステム情報を引き渡すことができますが,ショート +カットの位置などはレジストリを変更しないことには設定を反映することができません.また +環境変数の値を恒久的に変更するのにもレジストリを編集する必要があります. + +\subsection{パーミッション} +\label{sec:winpermissions} + +最近のバージョンのWindowsでは,管理者のみにOS全体へのアクセス権があり,一般ユーザには +ありません.\TL は管理者権限がなくてもインストール可能なように工夫されています. + +管理者権限でインストーラが実行されているときは,全ユーザ向けにインストールを行うため +のオプションが利用可能です.このオプションを選択した場合,全ユーザ向けにショートカット +が作成され,またシステムの検索パスも変更されます.逆に,このオプションを選択しなかった +場合はシュートカットとメニュー項目はインストーラを実行したユーザ向けにのみ作成され, +そのユーザの検索パスだけが更新されます. + +管理者として実行するか否かに関わらず,インストーラは常にデフォルトの\TL ルートを +\winenv{System\-Drive}以下に設定します.インストーラは,必ず設定しようとしているルート +位置が現在の実行権限で書き込み可能かどうか確認します. + +検索パスに\TeX が存在する状態で,一般ユーザとして\TL のインストールを実行しようとする +と問題が発生します.システムの検索パスはユーザの検索パスよりも優先されるので,この +状況で\TL をインストールしても優先的に利用されることはありません.安全策として, +インストーラは新しくインストールされた\TL バイナリのディレクトリがローカル検索パスの +先頭にくるようコマンドプロンプトにショートカットを作成します.そのため,この安全策が +有効なコマンドプロンプトからは常に新しい\TL が利用可能です.\TeX worksがインストール +されている場合,その検索パスについても\TL が先頭にくるよう設定されるため,同様に検索 +パスの問題は回避されるはずです. + +Windowsでは管理者アカウントにログインしていても,明示的に管理者権限としての実行を指示 +する必要があることに注意してください.実際のところ,管理者アカウントにログインする +だけではあまり意味がありません.肝心なのは,プログラムやショートカットを右クリックし +「管理者として実行」を選択することです. + +\subsection{WindowsとCygwinでメモリ上限を増やす方法} +\label{sec:cygwin-maxmem} + +WindowsとCygwin(Cygwinインストールの詳細については\ref{sec:cygwin}節を参照してくだ +さい)では,\TL に含まれるいくつかのプログラムがメモリを使い果たす場合があります. +例えば\prog{asy}で25,000,000リールの配列を確保しようとしたり,\LuaTeX で多書体組を +行おうとしたりするとメモリが不足する可能性があります. + +Cygwinではユーザマニュアル (\url{https://www.cygwin.com/cygwin-ug-net/setup-maxmem.% +html}) の説明に従うことによってメモリ上限を増やすことができます. + +Windowsの場合はいくつかの手順を行う必要があります.まず\code{moremem.reg}という +ファイルに以下の内容を書き込みます: +% +\begin{sverbatim} +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\Software\Cygwin] +"heap_chunk_in_mb"=dword:ffffff00 +\end{sverbatim} +% +その上で,管理者権限で\code{regedit /s moremem.reg}を実行してください.(もし +システム全体ではなく,現在利用中のユーザのみについてメモリ上限を変更したい場合は +\var{HKEY\_CURRENT\_USER}を使用してください.) + +\section{Web2Cユーザガイド} + +\Webc は\TeX 関連プログラムのコレクションです.これにはオリジナルの\TeX そのものに +加えて\MF, \MP, \BibTeX などが含まれており,\TL の心臓部と言えます.最新版のマニュアル +やその他の情報はウェブサイト (\url{https://tug.org/web2c}) に掲載されています. + +少し\Webc の歴史的経緯について触れておきます.\Webc のオリジナル作者はTomas Rokickiで +1987年に最初の\TeX -to-Cシステムを開発しました.このシステムはHoward TrickeyとPavel +CurtisによるUNIX下のchangefileをベースにしていました.その後Tim Morganがこのシステムの +メンテナとなり,その期間システムはWeb-to-Cと呼ばれていました.1990年にKarl Berryが多く +の協力者の助けを得ながらメンテナンスを引き継ぎました.1997年にOlaf Weberがメンテナに +なりましたが,2006年には再びKarl Berryの管理下に戻りました. + +\Webc システムはUNIX, 32-bit Windows, macOSなどのOSで動作します.このシステムでは +Knuthによる\TeX のオリジナルソースと,文芸的プログラミングシステム\WEB で書かれた +いくつかの基本的なプログラムを使用し,それらをC言語ソースコードに変換します.このような +方法で管理されている\TeX 関連のプログラムは以下の通りです: +% +\begin{cmddescription} +\item[bibtex] 参考文献の管理 +\item[dvicopy] DVIファイルで参照されている仮想フォントの展開 +\item[dvitomp] DVIをMPX(\MP 画像)に変換 +\item[dvitype] DVIを可読テキストに変換 +\item[gftodvi] Generic fonts (GF) の見本 (DVI) 作成 +\item[gftopk] GFをpacked fonts (PK) に変換 +\item[gftype] GFを可読テキストに変換 +\item[mf] フォントファミリの作成 +\item[mft] \MF ソースを\TeX ファイルに変換 +\item[mpost] 図形描画 +\item[patgen] ハイフンパターンを作成 +\item[pktogf] PKをGFに変換 +\item[pktype] PKを可読テキストに変換 +\item[pltotf] プレーンテキストのプロパティリストをTFMに変換 +\item[pooltype] \WEB プールファイルを表示 +\item[tangle] \WEB をPascalに変換 +\item[tex] 組版システム +\item[tftopl] TFMをプレーンテキストのプロパティリストに変換 +\item[vftovp] 仮想フォントを仮想プロパティリストに変換 +\item[vptovf] 仮想プロパティリストを仮想フォントに変換 +\item[weave] \WEB を\TeX ファイルに変換 +\end{cmddescription} +% +各プログラムの正確な機能やシンタックスについては,それぞれのマニュアルや\Webc 自体の +ドキュメントに記載されています.しかしながら,すべてのプログラムに共通するいくつかの +基本事項を押さえておくと\Webc をインストールする際に役立ちます. + +\Webc に含まれるすべてのプログラムは,以下の標準的なGNUオプションをサポートして +います: +% +\begin{description} +\item[\lopt{help}] 基本的な使用法を表示 +\item[\lopt{verbose}] より詳細な実行メッセージを表示 +\item[\lopt{version}] バージョン情報を表示して終了 +\end{description} + +\Webc プログラムはファイル探索に\KPS ライブラリ (\url{https://tug.org/kpathsea}) を +使用します.このライブラリは環境変数と設定ファイルの両方を参照して膨大な量の\TeX +関連ファイルの検索を最適化します.\Webc は多くのTEXMFツリーを同時に参照でき,この +ことがTDSを維持したままローカルシステム全体またはユーザごとの拡張を異なるツリーに +分離するのに役立ちます.ファイル検索を高速化するため,各ツリーのルートには配下に +あるすべてのファイルの名前と相対位置を列挙した\file{ls-R}ファイルが置かれています. + +\subsection{Kpathseaパス検索} +\label{sec:kpathsea} + +まずはじめに,\KPS ライブラリによるパス検索の一般的なメカニズムを紹介します. + +\emph{パス要素}(基本的にはディレクトリ名)をコロンまたはセミコロン区切りで並べた +リストを\emph{検索パス}と呼びます.検索パスはさまざまな場所で設定可能です.例えば, +\samp{my-file}を検索パス\samp{.:/dir}から見つける場合,\KPS は各パス要素を順番に +確認します.この場合,まず\file{./my-file}を確認し,次に\file{/dir/my-file}を確認 +して最初にみつけたもの(状況によっては,見つけたものすべて)を返します. + +あらゆるOSに適切に対応するため,非UNIXシステムにおいては\KPS はコロン (\samp{:}) と +スラッシュ (\samp{/}) 以外の記号をファイル名の区切り文字として扱うことができます. + +特定のパス要素$p$を確認する際,\KPS はまず利用可能なファイル名データベース(\ref{% +sec:filename-database}節)が$p$について用意されているかを調べます.すなわち,$p$の +プレフィックスにあたるディレクトリにデータベースがあるかを調べ,もし存在していた +場合はその内容に基づいて検索マッチングを行います. + +最もシンプルでよくあるパス要素はディレクトリ名ですが,\KPS はそれ以外の機能として +階層的なビルトイン値,環境変数名,設定ファイルの値,ユーザのホームディレクトリ, +そしてサブディレクトリの再帰的な検索などをサポートしています.すなわち,\KPS はパス +要素を種々の指定に従って通常のディレクトリ名に\emph{展開}します.これ以降,この +展開について実際に処理が行われる順番で説明していきます. + +ところで,ファイル名が絶対パスもしくは明示的な相対パス(すなわち\samp{/},\samp{% +./},\samp{../}のいずれかから始まるもの)で検索された場合は\KPS は,単純にそのパス +位置にファイルがあるか否かを確認します. + +\subsubsection{パスの設定元} +\label{sec:path-sources} + +検索パスは設定ファイルや環境変数など,さまざまな場所で設定することができます.ここに +すべての設定元を\KPS が使用する順番に列挙しておきます: +% +\begin{enumerate} +\item ユーザが設定している\code{TEXINPUTS}などの環境変数.なお\samp{\meta{変数名}.% + \meta{プログラム名}}という形の環境変数は,環境変数\samp{\meta{変数名}}を上書き + します.例えば\samp{latex}が実行中のプログラム名である場合,\code{TEXINPUTS.latex}% + は\code{TEXINPUTS}を上書きします. +\item プログラムごとの設定ファイル.例えば\prog{dvips}の設定ファイル\file{config.ps}% + 内にある\samp{S /a:/b}のような記述が反映されます. +\item \KPS の設定ファイル\file{texmf.cnf}.\samp{TEXINPUTS=/c:/d}のような設定が並んで + います. +\item コンパイル時のデフォルト設定. +\end{enumerate} +% +それぞれの変数の値が何に設定されているかは,デバッグオプションを使用すると確認する +ことができます(p.\,\pageref{sec:debugging}の「デバッグアクション」項を参照). + +\subsubsection{設定ファイル} + +% Note: この段落最後の1文は訳が怪しい +\KPS は\file{texmf.cnf}という名前の実行時設定ファイルを読み込み,検索パスやその他の +設定を行います.この設定ファイルの検索には検索パス\code{TEXMFCNF}が使用されますが, +この変数の内容を変更したりシステムディレクトリを上書きするように環境変数の値を +設定することは推奨されません. + +代わりに,通常のインストールを行うと\file{.../2019/texmf.cnf}が生成されます. +どうしてもデフォルト設定を変更する必要が生じた場合は(通常は必要ありません),この +ファイルに変更を加えてください.メインの設定ファイルは\file{.../2019/texmf-dist/% +web2c/texmf.cnf}です.このファイルを変更してもディストリビューション側でアップデート +があると変更内容が失われてしまうため,ユーザはこのファイルを編集すべきではありません. + +余談ですが,もし単に個人用のディレクトリを特定の検索パスに入れたいという場合は環境 +変数を設定するのが合理的です: +% +\begin{verbatim} + TEXINPUTS=.:/my/macro/dir: +\end{verbatim} +% +設定をメンテナンスしやすく,また何年にも渡って使えるようにするためには,すべての +要素を明示的に記入するのではなく,末尾に\samp{:}(Windowsでは\samp{;})を置いて +システムのパスが挿入されるようにしましょう(\ref{sec:default-expansion}節を参照). +また,他にも\code{TEXMFHOME}ツリーを利用する方法もあります(\ref{sec:directories}% +節を参照). + +\KPS 検索パスに含まれる\emph{すべて}の\file{texmf.cnf}を読み込み,その内容を反映 +します.この際,検索パスのより前方にあるものの設定はより後方にあるものよりも優先 +されます.例えば,検索パス\code{.:\$TEXMF}の下で,\file{./texmf.cnf}は\file{$TEXMF/% +texmf.cnf}の内容を上書きします. + +\begin{itemize*} +\item \code{\%}はコメント開始文字で,行末までコメントとして扱われます. +\item 空行は無視されます. +\item 行末の\code{\bs}は行継続文字としてはたらきます.すなわち,次の行の内容も同じ行 + として扱われます.行頭の連続する空白文字は無視されます. +\item ほかの行は次の形式で記述されます: +% +\begin{alltt} + \meta{変数名}\optional{.\meta{プログラム名}} \optional{=} \meta{値} +\end{alltt} +% + なお\samp{=}とその前後の空白は省略可能です(ただし\meta{値}が\samp{.}で始まる場合 + は,ピリオドがプログラム修飾子と解釈されないよう\samp{=}を書いた方が無難です). +\item \meta{変数名}には空白文字,\samp{=},\samp{.}以外の任意の文字を含めることが + できますが\samp{A-Za-z\var{\_}}の範囲に留めておくのが無難です. +\item もし変数名に\samp{.\meta{プログラム名}}が付いている場合は,その変数定義は\meta{% + プログラム名}または\code{\meta{プログラム名}.exe}という名前のプログラムの実行中のみで + 適用されます.この機能を用いると,例えば\TeX 処理系の種類ごとに異なる検索パスを適用 + することができます. +\item \meta{値}には\samp{\%}と\samp{@}を除く任意の文字を含めることができます.\code{% + \$\meta{変数}.\meta{プログラム名}}という形の変数は,右辺では使うことができません. + そのような場合は,必ず別の変数を追加して使用してください.\meta{値}内の\samp{;}は + UNIX環境下では\samp{:}に置換されます.この機能は1つの\file{texmf.cnf}をUNIX, MS-DOS, + Windowsで共有するのに便利です. +\item すべての定義は展開される前に読み込まれるので,定義前の変数も右辺に含めることが + 可能です. +\end{itemize*} +% +上記の仕様のほとんどを活用した設定ファイルの例を示しておきます: +% +\verbatiminput{texlive-common/examples/ex5.tex} + +\subsubsection{パス展開} +\label{sec:path-expansion} + +\KPS はUNIXシェルと同様にいくつかの特殊文字や検索パスの構造を認識します.一般の +例として,複雑なパス\dir{$USER/{foo,bar}//baz}は\var{\$USER}のホームディレクトリ +直下のディレクトリ\dir{foo}と\dir{bar}以下にある,\file{baz}という名前のファイル +またはディレクトリを含むすべてのサブディレクトリに展開されます.これらのパス展開の +詳細については以下のセクションを参照してください. + +\subsubsection{デフォルト展開} +\label{sec:default-expansion} + +最も優先度の高い検索パス(\ref{sec:path-sources}節を参照)が先頭,末尾または途中 +2連続する形で\emph{追加コロン}を含んでいる場合,\KPS はその位置に(もし定義されて +いれば)次に優先度の高いパスを挿入します.もし挿入される次点の検索パスにも追加 +コロンが含まれている場合,さらに次に優先度の高いパスが挿入されていきます.例えば +% +\begin{alltt} +> setenv TEXINPUTS /home/karl: +\end{alltt} +% +のように環境変数が設定されていたとして,\file{texmf.cnf}で設定されている\var{% +TEXINPUTS}の値が +% +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +% +のとき,最終的に検索されるパスは次のようになります: +% +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} +デフォルト値を複数箇所に挿入しても意味がないので,\KPS は追加コロンを1つだけ +デフォルト値に置換し,それ以外はそのままにします.まず先頭にコロンがないか +確認され,続いて末尾コロン,2連続のコロンが順にチェックされます. + +\subsubsection{ブレース展開} +\label{sec:brace-expansion} + +ブレース展開は便利な機能で,例えば\dir{v{a,b}w}は\code{vaw:vbw}に展開されます. +ネストすることも可能です.この機能は\var{\$TEXMF}にブレースリストを与えることに +より複数の\TeX ヒエラルキーを共存させるのにも利用されています.具体的には\file{% +texmf.cnf}では次のような設定が行われています(この例のために単純化しています): +% +\begin{verbatim} + TEXMF = {$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFDIST} +\end{verbatim} +% +この値は,例えば\TeX の入力パスを定義するのに活用できるでしょう: +% +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +% +この設定の下では,まずカレントディレクトリがチェックされ,続いて\code{\$TEXMFVAR/% +tex}, \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFDIST/tex}ツリー +が(最後2つについては\file{ls-R}データベースを利用しつつ)検索されることになります. +これにより``frozen''なTEXMFツリー(例えばCDに入れてあるもの)と常に最新版にアップ +デートしているTEXMFツリーを並行的に運用しているとして,\var{\$TEXMF}変数をすべての +定義に使用しておけば,常に最新のTEXMFツリーを先に検索するようにすることができます. + +\subsubsection{サブディレクトリ展開} +\label{sec:subdirectory-expansion} + +パス要素内で,2つ以上の連続するスラッシュがディレクトリ名$d$の後ろに置かれている +場合,$d$以下のすべてのサブディレクトリに展開されます.つまり,まず$d$直下のサブ +ディレクトリが並び,続いてさらにそれらのサブディレクトリのサブディレクトリが並び, +以降も再帰的に続きます.各階層でサブディレクトリがどういう順番で検索されるかは +\emph{決まっていません}. + +\samp{//}に続いてファイル名の一部を置いた場合,それとマッチするファイルを含む +サブディレクトリのみが展開結果に含められます.例えば\samp{/a//b}は\file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b}などに展開されますが,\file{/a/b/c}や\file{/a/1}には +展開されません. + +\samp{//}を1つのパスに複数含めることは可能ですが,パスの先頭に置かれた\samp{//}は +無視されます. + +\subsubsection{特殊文字の一覧(要約)} + +以下のリストに\KPS 設定ファイルで利用できる特殊文字について要約しておきます: +% +\begin{description} +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\item[\CODE{:}] パス設定の区切り文字.先頭や末尾に置かれた場合はデフォルトパス展開 + されます. +\item[\CODE{;}] 非UNIXシステムでの区切り文字(挙動は\code{:}と同様) +\item[\CODE{\$}] 変数展開 +\item[\CODE{\string~}] ユーザのホームディレクトリを表す +\item[\CODE{\char`\{...\char`\}}] ブレース展開 +\item[\CODE{//}] サブディレクトリ展開.先頭を除き,パス中どこでも利用可能 +\item[\CODE{\%}] コメントの開始 +\item[\CODE{\bs}] 行継続(複数行エントリの記述に使用) +\item[\CODE{!!}] ファイル名データベースの使用を\emph{強制} + (ディスク検索を\emph{禁止}) +\end{description} + +\subsection{ファイル名データベース} +\label{sec:filename-database} + +\KPS は検索のためのディスクアクセスをある程度軽減する仕組みを持っています. +それでも,十分な大きさの\TeX インストール構成で指定されたファイルについて, +それが存在する可能性のあるすべてのディレクトリを検索するとかなり長い時間が +かかってしまいます(特に何百ものフォントディレクトリを探索する場合には顕著 +です).そのため\KPS は\file{ls-R}という名前のプレインテキスト「データベース」 +にファイルとディレクトリの情報を予め書き込んでおき,過剰なディスクアクセス +を回避しています. + +また\file{aliases}というもう1つのデータベースファイルを利用すると,\file{% +ls-R}に含まれているファイル名に別名(エイリアス)を付けることができます.この +機能は,ソースファイルに含まれているDOS 8.3形式のファイル名を確認する際に便利 +です. + +\subsubsection{ファイル名データベース} +\label{sec:ls-R} + +上で説明したように,メインのファイル名データベースの名前は\file{ls-R}です. +ファイル名データベースは,検索対象としたい各\TeX ヒエラルキーの最上位階層に +配置することができます(デフォルトでは\code{\$TEXMF}).\KPS は\code{TEXMF% +DBS}パスに含まれている\file{ls-R}を読み込みます. + +\file{ls-R}の生成・更新には,ディストリビューションに含まれる\cmd{mktexlsr}% +コマンドの利用をおすすめします.このコマンドは種々の\cmd{mktex}\dots +スクリプトから呼び出されます.本質的には,このスクリプトは単に +% +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +% +を実行するだけです.なお,このスクリプトはシステムの\cmd{ls}コマンドが正しい +形式で出力を行うことを前提にしています(GNU \cmd{ls}なら問題ありません). +データベースが常に最新の状態であることを保証するには,\cmd{cron}を利用して +定期的にデータベースを更新するのが簡単でしょう.そうすることによって,例えば +\LaTeX パッケージをインストールしたりアップデートしたりして,新しいファイルが +配置されたとしても自動的にデータベースが更新されることになります. + +データベースにファイルが見つからない場合,デフォルトでは\KPS は処理を続行して +ディスク検索を行います.ただし\samp{!!}から開始するパス要素については,データ +ベース\emph{のみ}が検索され,ディスクが検索されることはありません. + +\subsubsection{\cmd{kpsewhich}: パス検索用コマンドラインツール} +\label{sec:invoking-kpsewhich} + +\cmd{kpsewhich}コマンドはパス検索を行うための独立したツールです.このコマンド +は\cmd{find}コマンドのように利用して\TeX ヒエラルキーの中にあるファイルを探索 +するのに便利です(このプログラムはディストリビューションに含まれる\cmd{mktex}% +\dots スクリプトでも多用されています). +% +\begin{alltt} +> kpsewhich \meta{オプション}\dots{} \meta{ファイル名}\dots{} +\end{alltt} + +上記の\meta{オプション}は\samp{\sopt{}}または\samp{\lopt{}}で開始して,曖昧で +ない限りどのような省略の仕方をしても指定可能です. + +\KPS はオプションでないすべての引数をファイル名として受け取って,それぞれに +ついて見つかった最初のファイルを返します.特定の名前のファイルをすべて列挙する +オプションはありません(そのような場合はUNIXの\cmd{find}コマンドを使用して +ください). + +よく使われるオプションを一覧にしておきます: +% +\begin{description} +\item[\code{\lopt{dpi}=\meta{数値}}] +解像度を\meta{数値}に設定します.このオプションはgeneric fonts (GF) とpacked +fonts (PK) を検索するときにのみ効果を発揮します.\cmd{dvips}に合わせて\sopt{D}% +という省略形も使用できます.デフォルト値は600です. + +\item[\code{\lopt{format}=\meta{フォーマット名}}] +検索対象のフォーマットを指定します.デフォルトではフォーマットはファイル名から +推測されます.\MP のサポートファイルや\cmd{dvips}の設定ファイルなど,対応する +(曖昧でない)拡張子がないフォーマットについては,このオプションを用いて明示的 +に指定する必要があります.その際\meta{フォーマット名}には\code{tex}や\code{enc +files}などを指定します.具体的なフォーマット名のリストについては\code{kpsewhich +\lopt{help}}を参照してください. + +\item[\code{\lopt{mode}=\meta{モード名}}] +モード名を設定します.このオプションもGFおよびPKの検索用です.デフォルト値は +なく,指定しない限りすべてのモードが検索対象になります. + +\item[\code{\lopt{must-exist}}] +ディスク検索を含むあらゆる手段を使用して,可能な限りファイル検索を行います. +デフォルトでは,効率重視のため\file{ls-R}データベースのみが検索されます. + +\item[\code{\lopt{path}=\meta{パス}}] +ファイル名からパスを推測する代わりに,指定された\meta{パス}(通常通りコロン +区切り)を利用して検索を行います.\samp{//}を含むすべての特殊文字とその展開が +サポートされています.\lopt{path}と\lopt{format}は相容れません. + +\item[\code{\lopt{progname}=\meta{プログラム名}}] +プログラム名を設定します.これは\var{.\meta{プログラム名}}接尾辞付きの変数を +介して検索パスに影響を与えます.デフォルトでは\cmd{kpsewhich}です. + +\item[\code{\lopt{show-path}=\meta{名前}}] +指定した\meta{名前}と紐づくファイルタイプの検索に用いられるパスを表示します. +\meta{名前}には拡張子 (\file{.pk}, \file{.vf}, etc.) またはファイル名を指定する +ことができ,\lopt{format}オプションも併用できます. + +\item[\code{\lopt{debug}=\meta{数値}}] +デバッグレベルを\meta{数値}に設定します. +\end{description} + +\subsubsection{使用例} +\label{sec:examples-of-use} + +このセクションでは\KPS の実行例をいくつか紹介していきます.まずは単純な検索です: +% +\begin{alltt} +> kpsewhich article.cls + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +% +この例では\file{article.cls}を検索しています.拡張子\samp{.cls}には曖昧性がない +ので,わざわざファイルタイプ\code{tex}(\TeX のソースファイル)を指定する必要は +ありません.上の例では,目的のファイルは\dir{texmf-dist} \TL ディレクトリ内の +\dir{tex/latex/base}サブディレクトリの中に見つかりました.同様にして,以下に列挙 +する例はいずれも曖昧性のない拡張子のおかげで特に問題なくファイルを見つけることが +できます: +% +\begin{alltt} +> kpsewhich array.sty + /usr/local/texmf-dist/tex/latex/tools/array.sty +> kpsewhich latin1.def + /usr/local/texmf-dist/tex/latex/base/latin1.def +> kpsewhich size10.clo + /usr/local/texmf-dist/tex/latex/base/size10.clo +> kpsewhich small2e.tex + /usr/local/texmf-dist/tex/latex/base/small2e.tex +> kpsewhich tugboat.bib + /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} +% +ところで,最後の例として挙がっているのは\textsl{TUGboat}の記事用の\BibTeX 文献 +データベースです. + +\begin{alltt} +> kpsewhich cmr10.pk +\end{alltt} +% +拡張子\samp{.pk}をもつ,フォントのビットマップグリフファイルは\prog{dvips}や +\prog{xdvi}などのディスプレイプログラムによって使用されます.Computer Modernの +\samp{.pk}ファイルは通常\TL に含まれていないので(デフォルトではType~1変種が +使用されるため),上の例では何も出力されません. + +\begin{alltt} +> kpsewhich wsuipa10.pk + /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\end{alltt} +% +これらのフォント(ワシントン大学で開発された音声記号)については,まず\samp{% +.pk}ファイルを生成する必要があり,\TL における\MF モードはデフォルトでは解像度 +600{\dpi} (dots per inch) 設定の\code{ljfour}なので,上のような結果になります. +% +\begin{alltt} +> kpsewhich -dpi=300 wsuipa10.pk +\end{alltt} +% +続いてのケースでは解像度300\dpi を指定 (\code{\sopt{-dpi}=300}) していますが, +そのようなフォントファイルは存在しないという結果が得られました.\cmd{dvips}や +\cmd{xdvi}などのプログラムは実行を中断し,\cmd{mktexpk}スクリプトを用いて必要な +\samp{.pk}ファイルを生成することになるでしょう. + +次に\cmd{dvips}のヘッダおよび設定ファイルについて考えましょう.2004年以来,汎用 +の設定ファイル\file{config.ps}と\PS フォントのマップファイル\file{psfonts.map}% +は独自の検索パスと\dir{texmf}ツリー内での配置場所を持っているので,それらを取り +扱う前に\TeX サポートのための汎用プロローグ\file{tex.pro}の例を示しました. +拡張子\samp{.ps}には曖昧性があるので,\file{config.ps}については該当するファイル +タイプ (\code{dvips config}) を明示的に指定する必要があります. +% +\begin{alltt} +> kpsewhich tex.pro + /usr/local/texmf/dvips/base/tex.pro +> kpsewhich --format="dvips config" config.ps + /usr/local/texmf/dvips/config/config.ps +> kpsewhich psfonts.map + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +今度はURW Timesの\PS サポートファイルについて考えます.標準的なフォント命名規則 +に基づけば,これらのプレフィックスは\samp{utm}です.最初に検索するのはマップ +ファイルの名前を格納している設定ファイルです: +% +\begin{alltt} +> kpsewhich --format="dvips config" config.utm + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +% +このファイルには +% +\begin{alltt} + p +utm.map +\end{alltt} +% +という記述があり,\file{utm.map}を参照しているので,続いてこのファイルの位置を +確認してみましょう: +% +\begin{alltt} +> kpsewhich utm.map + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +% +このマップファイルはURWコレクションに含まれるType~1 \PS フォントのファイル名を +定義しています.ファイルには下記のような記述が並んでいます(以下は抜粋です): +% +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +% +例えば,Times Romanを例にとって,\file{texmf}ディレクトリ内における\file{% +utmr8a.pfb}ファイルの位置を検索してみます: +% +\begin{alltt} +> kpsewhich utmr8a.pfb + /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\end{alltt} + +ここまでの例が,いかに簡単に指定したファイルを見つけることができるかを示して +いるはずです.ここで示したテクニックは,何らかの理由で間違ったバージョンの +ファイルが使用されてしまっていると疑われるときに特に役立ちます.\cmd{kpsewhich}% +コマンドを用いれば,どのファイルが一番最初に見つかっているのかを確認することが +できます. + +\subsubsection{デバッグアクション} +\label{sec:debugging} + +ときとして,あるプログラムがファイル参照をどのように解決しているかについて調査 +する必要が生じる場合があります.そのような場合のために,\KPS はさまざまなレベル +のデバッグオプションを提供しています: +% +\begin{description} +\makeatletter +\setbox\z@=\hbox{\code{00}} +\newcommand{\dbgitem}[1]{\item[\code{\hbox to\wd\z@{\hfill #1}}]} +\makeatother + +\dbgitem{1} +\code{stat}コマンドによるディスク検索の状況.きちんと更新された\file{ls-R}データ +ベースを使用して検索が行われている場合,このデバッグオプションはほとんど何も出力 +しないはずです. + +\dbgitem{2} +ハッシュテーブルの参照(\file{ls-R},マップファイル,設定ファイルなど). + +\dbgitem{4} +ファイルI/O操作. + +\dbgitem{8} +各ファイルタイプに適用されるパスの情報.これは特定のファイルに対する検索パスが +どこで定義されているのかを調べるのに役立ちます. + +\dbgitem{16} +各パス要素に属するディレクトリの一覧(ディスク検索にのみ関係). + +\dbgitem{32} +ファイル検索. + +\dbgitem{64} +変数の値. +\end{description} +% +デバッグレベルを\code{-1}に設定すると上のすべてが有効になります.多くの場合, +実用上はこれが一番便利でしょう. + +同様に\cmd{dvips}プログラムでも,デバッグオプションをいくつか組み合わせることで +どこのファイルが読み込まれているか詳細を確認することができます.またファイルが +見つからない場合に,デバッグ出力はプログラムがどこに対してファイル検索を行った +かを示してくれるので,どこに問題があるのかを把握することができます. + +一般的に言って,\KPS ライブラリは多くのプログラムから内部的に呼び出されるもの +なので,デバッグオプションは環境変数\var{KPATHSEA\_DEBUG}を上記リストの値 +(もしくはそれらの組み合わせ)に設定することによって指定するのがよいでしょう. +\footnote{Windowsユーザ向けの情報:Windowsではすべてのデバッグメッセージを1つの +ファイルにリダイレクトするのは困難です.デバッグの際は,一時的に\code{SET +\var{KPATHSEA\_DEBUG\_OUTPUT}=err.log}などと設定するのがよいでしょう.} + +例として,以下のような内容の小さな\LaTeX ソースファイル\file{hello-world.tex}を +考えてみます. +% +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +% +この小さなファイルは\file{cmr10}フォントのみを使用するのですが,\cmd{dvips}が +どのように\PS ファイルを用意するのか確認してみましょう(ここではComputer Modern% +のType~1バージョンを使用したいので\sopt{Pcms}を指定します). +% +\begin{alltt} +> dvips -d4100 hello-world -Pcms -o +\end{alltt} +% +上記の例では\cmd{dvips}のデバッグクラス4(フォントパス)と\KPS のパス要素展開を +組み合わせました(\cmd{dvips}のリファレンスマニュアルを参照).この出力(かなり +いじっていますが)を図\ref{fig:dvipsdbga}に示します. +% +\begin{figure*}[tp] +\centering +\input{texlive-common/examples/ex6a.tex} +\caption{設定ファイルを見つける} +\label{fig:dvipsdbga} +\end{figure*} +% +\cmd{dvips}は起動後,まず作業ファイルを探します.はじめに他のファイルの検索に +用いられる検索パスを定義する\file{texmf.cnf}が見つかり,続いてファイル検索を +最適化するファイル名データベース\file{ls-R}とエイリアスを定義している\file{% +aliases}が見つかります.\cmd{dvips}はさらに汎用の設定ファイル\file{config.ps}% +やカスタマイズ設定を記述する\file{.dvipsrc}を探し出します(上の例では,後者は +``not found''という結果になっています).最後に\cmd{dvips}はComputer Modernの +\PS フォント用の設定ファイル\file{config.cms}を探します(これは\sopt{Pcms}の +効果です).このファイルには\TeX 間の関係を定義するマップファイルのリストが +記述されています. +% +\begin{alltt} +> more /usr/local/texmf/dvips/cms/config.cms + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +% +\cmd{dvips}はこのようにしてすべてのファイルを見つけ,さらに常に使用されること +になっている汎用マップファイル\file{psfonts.map}も読み込みます(このファイル +ではすべての\PS フォントに共通する定義が行われています.\PS マップファイルの +取り扱いの詳細については\ref{sec:examples-of-use}節の最後の部分を参照して +ください). + +ここにきて,\cmd{dvips}はやっとプログラム自身の情報をユーザに提示します: +% +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +% +その後プロローグファイルが検索されます: +% +\begin{alltt}\small +kdebug:start search(file=texc.pro, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} + +以上で必要なファイルが揃ったので,\cmd{dvips}は日付と時刻を出力し,そして +\file{hello-world.ps}というファイルが生成されることを予告します.合わせて, +そのファイル生成の際にはフォントファイル\file{cmr10}が必要であることと,その +フォントが``resident''(ビットマップ不要)として扱われる旨が表示されます. +% +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} + +これでやっと\file{cmr10.tfm}の検索が行われ,それが見つかれば,もういくつかの +プロローグファイルが参照され(出力には出ていません),最終的にType~1のフォント +実体\file{cmr10.pfb}が出力ファイルに含まれることになります(最終行). +% +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{ランタイムオプション} + +その他の\Webc の便利な機能として,数々のメモリパラメータ(例えば配列サイズ) +を\KPS が読み込む設定ファイル\file{texmf.cnf}でコントロールできることが挙げられ +ます.メモリ設定は\TL ディストリビューションに含まれる\file{texmf.cnf}のPart 3% +に記述されています.より重要なことは: +% +\begin{description} +\item[\var{main\_memory}] +\TeX, \MF, \MP に使用を許可する合計のメモリ量(ワード数).これらの設定を反映する +には,値を適用した上でそれぞれのフォーマットを生成する必要があります.例えば, +もし「巨大な」バージョンの\TeX を生成したとして,それを利用するにはフォーマット +ファイル\file{hugetex.fmt}を呼び出す必要があります. +%\KPS が使用するプログラム名を指定する通常の方法を利用して,\var{main\_memory}の +%値は\file{texmf.cnf}から読み出されます.[意味不明.要検証] + +\item[\var{extra\_mem\_bot}] +「大きな」\TeX のデータ構造(ボックス,グルー,ブレイクポイントなど)を配置する +ための追加領域.特に\PiCTeX を使用する際に便利です. + +\item[\var{font\_mem\_size}] +フォント情報を格納するために使用するメモリ量(ワード数).これは読み込まれるTFM% +ファイルの合計サイズと概ね一致します. + +\item[\var{hash\_extra}] +制御綴を格納するハッシュテーブルのための追加領域.デフォルトでは,わずか10,000個 +程度の制御綴しかメインのハッシュテーブルに格納することができません.これでは多く +の相互参照を含む大きな本の組版には不十分でしょう.\var{hash\_extra}のデフォルト値 +は\code{50000}です. +\end{description} +% +もちろん,こうしたパラメタの存在は動的な配列・メモリ確保の完全な代替となるものでは +ありません.しかし,そうした変更を現在の\TeX ソースに対して適用するのは容易でない +ので,これらの実行時パラメタの存在はある程度の柔軟性をもたせる実用上の妥協策です. + +\section{謝辞} + +\TL は事実上すべての\TeX ユーザ会の貢献に支えられています.現在の\TL 監修者はKarl +Berryです.過去から現在に至るまでの,その他の主要な貢献者は以下の通りです +(敬称略): +% +\begin{itemize*} +\item 英語圏,ドイツ,オランダ,ポーランドの\TeX ユーザ会(それぞれTUG, DANTE e.V., + NTG, GUST).技術的・経営的なインフラの提供してくれました.ぜひお近くの\TeX ユーザ + 会に加入してください!(\url{https://tug.org/usergroups.html}を参照) +\item CTANチーム (\url{https://ctan.org}).\TL イメージを配布し,\TL が依存する各種の + パッケージアップデートを行うための共通基盤の提供をしてくれています. +\item Nelson Beebe.\TL 開発陣に数々のプラットフォームを提供し,彼自身も多くの包括的 + なテストを行ってくれました.また彼の比類なき書誌学的な貢献にも敬意を表します. +\item John Bowman.彼の高度なグラフィックツールAsymptoteを\TL に対応させるため数多く + の変更を加えてくれました. +\item Peter Breitenlohnerと\eTeX チーム.将来の\TeX のために安定した基盤を構築して + くれました.特にPeter氏は,長年に渡ってGNU autotools関連のヘルパーとして活躍し, + ソースコードを最新の状態に保ってくれました.Peter.2015年10月に亡くなりましたが, + 私たちは彼のことを忘れません. +\item Jin-Hwan ChoとすべてのDVIPDFM$x$チームメンバー.素晴らしいドライバを開発し, + 設定周りの諸問題に対する責任ある対応をしてくれました. +\item Thomas Esser.彼の素晴らしい\teTeX パッケージなしには\TL は存在し得ません + でした. +\item Michel Goossens.この文書のオリジナル版の共著者です. +\item Eitan Gurari.彼の\TeX4htは\TL 公式ドキュメントのHTML版生成に利用されています. + 彼は急な依頼をしても,毎年快く\TeX4htの改善に取り組んでくれました.Eitanは2009年 + 6月に若くして亡くなりましたが,私たちは彼のことを忘れません. +\item Hans Hagen.多くのテストを引き受け,また彼の\ConTeXt パッケージ (\url{http://% + pragma-ade.com}) を\TL フレームワークに対応させてくれました. +\item \Thanh, Martin Schr\"oderと\pdfTeX チーム (\url{https://tug.org/applications/% + pdftex/}).彼らは\TeX を継続的に拡張してくれています. +\item Hartmut Henkel.\pdfTeX, \LuaTeX をはじめ多くのプロジェクトに顕著な貢献を + してくれました. +\item Taco Hoekwater.\MP と (Lua)\TeX (\url{https://luatex.org}) 自体に対して大きな + 変更を施したほか,\ConTeXt の\TL 対応や\KPS のマルチスレッド機能,その他数々の貢献 + をしてくれました. +\item Khaled Hosny.\XeTeX, DVIPDFM$x$に加え,アラビア語用のものを含め多くのフォント + に対して多くの貢献をしてくれました. +\item Pawe{\l} Jackowski.Windows用インストーラ\cmd{tlpm},Tomasz {\L}uczak氏は\cmd + {tlpmgui}を開発してくれました.これらのプログラムは過去の\TL で使用されていました. +\item 角藤亮.日本語\TeX 用のW32\TeX ディストリビューション (\url{http://w32tex.org}) + のためにWindowsバイナリを提供し,さらに開発に関わる数々の貢献をしてくれました. +\item Jonathan Kew.優れた\TeX エンジンである\XeTeX を開発し,時間と労力を割いてその + 処理系を\TL に導入してくれました.彼はさらに初期バージョンの\MacTeX を開発し,我々の + おすすめするフロントエンドである\TeX worksも開発しました. +\item Dick Koch.\TL チームと友好的かつ緊密に連携しながらMac{\TeX} (\url{https://tug.% + org/mactex}) のメンテナンスを行ってくれています. +\item Reinhard Kotucha.{\TL} 2008のインフラとインストーラに対する主要な貢献者で, + さらにWindows研究や\cmd{getnonfreefonts}スクリプトの開発などに多大な努力をして + くれています. +\item Siep Kroonenberg.彼も{\TL} 2008のインフラとインストーラの(特にWindowsについて) + 主要貢献者で,その新機能について解説するためマニュアルを大幅に改定してくれました. +\item Mojca Miklavec.\ConTeXt 開発の重要な協力者で,多くのバイナリビルドを行い, + その他にも多くの仕事を行ってくれています. +\item Heiko Oberdiek.\pkg{epstopdf}をはじめ数々のパッケージを開発し,巨大だった + \pkg{pst-geo}データファイルを圧縮して\TL に含められるようにしてくれました.そして + 何より,彼の\pkg{hyperref}パッケージについての偉業に敬意を表します. +\item Petr Ol\v{s}ak.チェコ・スロバキア関連のプロダクトを統括し,注意深くチェック + してくれました. +\item 大島利雄.Windows向けDVIビューア\cmd{dviout}を開発してくれました. +\item Manuel P\'egouri\'e-Gonnard.パッケージアップデートとドキュメントの改善に協力 + してくれたほか,\cmd{texdoc}コマンドを開発しました. +\item Fabrice Popineau.はじめて\TL のWindowsサポートを行い,またフランス語 + ドキュメントに貢献してくれました. +\item Norbert Preining.現在の\TL インフラとインストーラの主要開発者で,Frank + K\"usterと共に\TL のDebianパッケージを用意してくれています.彼は現在も広範に\TL + に関わるさまざまな仕事を引き受けてくれています. +\item Sebastian Rahtz.\TL の創始者で,長年そのメンテナンスを行っていました. + 彼は2016年3月に亡くなりましたが,私たちは彼のことを忘れません. +\item Luigi Scarso.\MP, \LuaTeX その他のプログラムを継続的に開発してくれています. +\item Tomasz Trzeciak.Windowsについて広範な協力をしてくれました. +\item Vladimir Volovich.さまざまなプログラムの\TL への組み込みとメンテナンスの + ために多くの手伝いをしてくれました.特に\cmd{xindy}の組み込みが実現したのは彼の + おかげです. +\item Staszek Wawrykiewicz.\TL 全体についての主要なテスターで,ポーランド語に + 関わる多くの貢献(フォントやWindowsインストールなど)をしてくれました.Staszek氏 + は2018年2月に亡くなりましたが,私たちは彼のことを忘れません. +\item Olaf Weber.過去何年にも渡って辛抱強く\Webc のメンテナンスを行ってくれました. +\item Gerben Wierda.初期のmacOSサポートの開発とメンテナンスを行ってくれました. +\item Graham Williams.\TeX カタログの創始者です. +\end{itemize*} + +バイナリのビルド担当者: +% +Marc Baudoin (\pkg{amd64-netbsd}, \pkg{i386-netbsd}), +Ken Brown (\pkg{i386-cygwin}, \pkg{x86\_64-cygwin}), +Simon Dales (\pkg{armhf-linux}), +Johannes Hielscher (\pkg{aarch64-linux}), +角藤亮 (\pkg{win32}), +Dick Koch (\pkg{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkg{amd64-freebsd}, \pkg{i386-freebsd}), +Henri Menke (\pkg{x86\_64-linuxmusl}), +Mojca Miklavec (\pkg{i386-linux}, + \pkg{x86\_64-darwinlegacy}, + \pkg{i386-solaris}, \pkg{x86\_64-solaris}, + \pkg{sparc-solaris}), +Norbert Preining (\pkg{x86\_64-linux}). +% +\TL のビルドプロセスについては\url{https://tug.org/texlive/build.html}を参照して +ください. + +このマニュアルの翻訳者: +% +Denis Bitouz\'e,Patrick Bideault(フランス語), +Carlos Enriquez Figueras(スペイン語), +Jjgod Jiang,Jinsong Zhao,Yue Wang,Helin Gai(中国語), +Nikola Le\v{c}i\'c(セルビア語), +Marco Pallante,Carla Maggi(イタリア語), +Petr Sojka,Jan Busa(チェコ・スロバキア語), +Boris Veytsman(ロシア語), +Zofia Walczak(ポーランド語), +Uwe Ziegenhagen(ドイツ語). +% +\TL のドキュメントウェブページは\url{https://tug.org/texlive/doc.html}です. + +もちろん,最も重要な謝辞はDonald Knuthに対して贈られるべきです.まず\TeX を発明 +してくれたこと,そしてそれを世界に広めてくれたことについて,深く感謝します. + +\section{更新履歴} +\label{sec:history} + +\subsection{過去} + +最初に議論が始まったのはオランダ\TeX ユーザ会が4All{\TeX} CDをMS-DOSユーザの +ために用意し始めたときのことでした.そのときは,すべてのシステムに向けて1つの +合理的なCDを作成することが望ましいとされました.これは,当時あまりに漠然とした +目標でしたが,結果的には4All{\TeX} CDを完成させたのみならず\TeX ディレクトリ +構造 (TDS, \url{https://tug.org/tds}) についての作業チームをTUGに発足させる +ことにつながりました.作業チームはどのようにすれば一貫性があり,管理の容易な +\TeX サポートファイルのコレクションを作成できるか議論を重ねました.TDSについて +の完全な原稿は1995年12月発行の\textsl{TUGboat}に掲載されましたが,かなり早い +段階から望ましい成果物はCD上のモデル構造であることは明らかでした.いま皆さんに +とってお馴染みのディストリビューションは,この作業チームの議論のかなり直接的な +成果と言えます.また4All{\TeX} CDの成功から,同様の簡単なシステムを作れば +UNIXユーザも恩恵に与ることができることも明らかで,この事実も\TL にもう1つの +大きな流れを作りました. + +私たちは,1995年の秋にまずUNIXベースのTDS CDの開発に取り掛かり,すぐに +Thomas Esserの\teTeX が理想的なディストリビューションであることがわかりました. +\teTeX はすでに複数のプラットフォームをサポートしており,さまざまなファイル +システムに対応するように設計されていました.Thomas氏の協力を得て活動は1996年の +はじめに本格化し,最初のバージョンが1996年の5月にリリースされました.1997年の +頭にKarl Berryが大規模な修正を加えた新しいバージョンの\Webc をリリースし, +Thomas氏が\teTeX に加えていたほとんどすべての機能が利用可能になりました.この +\Webc に\teTeX の\cmd{texconfig}スクリプトを加えたものはバージョン2のベースに +採用されることが決まりました.バージョン3はOlaf Weberによってさらに大きく修正 +された{\Webc} 7.2をベースにしました.同時に,新しいバージョンの\teTeX も開発 +され,\TL もすぐにそのほとんどの新機能を取り込みました.バージョン4も同じ +パターンでのリリースとなり,新しい\teTeX と新しい{\Webc} 7.3 を利用して作成 +されました.Fabrice Popineauの貢献もあり,この時点までに\TL は完全なWindows% +サポートを完成させていました. + +バージョン5(2000年3月)では多くの部分が改修・チェックされ,何百ものパッケージ +がアップデートされました.パッケージの詳細はXMLファイルに保存されるようになり +ました.一方で{\TL} 5における大きな変更として,すべての有償ソフトウェアは取り +除かれました.このときから\TL に含まれるすべてのものはDebianフリーソフトウェア +ガイドライン (\url{https://www.debian.org/intro/free}) 互換であることが求め +られるようになりました.私たちはすべてのパッケージのライセンスを確認するよう +最善を尽くしましたが,もし何か間違いがあればご連絡ください. + +バージョン6(2001年7月)にはさらに多くのパッケージアップデートが取り込まれ +ました.このバージョンで最大の更新点はインストールについての新しい選択肢です. +ユーザはより詳細に必要とするコレクションを選択できるようになりました.特定の +言語と関連するコレクションが大きく見直され,そうしたコレクションを選択すれば +対応するマクロやフォントがインストールされるだけでなく,適切な\file{language.% +dat}も用意されるようになりました. + +2002年のバージョン7での大きな変更としてはMac OS Xサポートの追加と,例年通り +無数のパッケージやプログラムのアップデートが挙げられます.このときの大きな +目標はソースコードを\teTeX のそれと統合し,バージョン5, 6間の不整合を修正する +ことでした. + +\subsubsection{2003} + +2003年も例年通り数多くのアップデートと追加パッケージがあり\TL は巨大化して +もはや1枚のCDに収まらないことがわかりました.そのため,私たちはこれを3つの +異なるディストリビューションに分離しました(\ref{sec:tl-coll-dists}節 (\p.% +\pageref{sec:tl-coll-dists}) を参照).その他の変更点: +% +\begin{itemize*} +\item \LaTeX チームからのリクエストを受けて,標準設定における\cmd{latex}, + \cmd{pdflatex}コマンドが\eTeX エンジンを使用するように変更 + (\p.\pageref{text:etex}参照) +\item 新しいLatin Modernフォントを追加(そして推奨) +\item Alpha OSFのサポートを終了(HPUXのサポートは既に終了していました). + これは新しいバイナリをコンパイルするためのハードウェアを誰も所有して + いなかった(そして新しい有志も現れなかった)ためです. +\item Windowsサポートの大きな変更.XEmacsベースの統合環境が始めて導入され + ました. +\item Windows向けの重要な追加プログラム (Perl, Ghost\-script, Image\-Magic, + Ispell) が\TL のディレクトリにインストールされるようになりました. +\item \cmd{dvips}, \cmd{dvipdfm}, \cmd{pdftex}などによって使用されるフォント + マップファイルが新しい\cmd{updmap}によって生成され,\dir{texmf/fonts/map}% + に配置されるようになりました. +\item \TeX, \MF, \MP がデフォルトでほとんどの入力文字(文字コード32以上) + をそのままファイル(例えば\cs{write}の出力先),ログファイル,ターミナルに + 出力するようになりました.すなわち\egg\verb|^^|\egg 表現への変換が\emph{% + 行われないように}なりました.\TL~7では,この変換はシステムのロケール設定に + 依存していました.今後はロケール設定は\TeX のコアプログラムの挙動に影響を + 与えなくなります.もし何らかの理由により\egg\verb|^^|\egg 表現による出力が + 必要な場合は\file{texmf/web2c/cp8bit.tcx}のファイル名を変更してください. + (将来的にはもう少し簡単な方法を用意する予定です.) +\item このドキュメントを全面的に改訂しました. +\item 最後に,バージョン番号が大きくなってきたので,今後は単にリリース年で + 表すことにしました.すなわち今回のバージョンは{\TL} 2003となります. +\end{itemize*} + +\subsubsection{2004} + +2004年には数多くの更新がありました: +% +\begin{itemize} +\item ローカルにインストールしたフォントで,独自の\file{.map}や(あまりない +と思いますが)\file{.enc}を利用するものがある場合,それらのサポートファイル +を移動する必要があります. + +\file{.map}ファイルについては\var{TEXFONTMAPS}パスに含まれる(各TEXMFツリー +の)\dir{fonts/map}以下のサブディレクトリのみが検索されるようになりました. +同様に\file{.enc}ファイルについても\var{ENCFONTS}パスに含まれる\dir{fonts/% +enc}以下のサブディレクトリのみが検索対象になりました.しばらくの間は\cmd{% +updmap}コマンドが将来的に問題となり得るファイルについて警告を出します. + +より詳細な対策その他の情報については\url{https://tug.org/texlive/mapenc.html}% +を参照してください. + +\item \TeX コレクションに\MIKTEX ベースのインストールCDが追加されました. +\MIKTEX 実装の\Webc がお好みの場合はそちらをお使いください.詳細は\ref{sec:% +overview-tl}節 (\p.\pageref{sec:overview-tl}) を参照. + +\item 従前のリリースにおいて,\TL における唯一の巨大なTEXMFツリーであった\dir +{texmf}を\dir{texmf}, \dir{texmf-dist}, \dir{texmf-doc}の3つに分割しました. +詳細は\ref{sec:tld}節 (\p.\pageref{sec:tld}) と各ツリーの\file{README}を参照 +してください. + +\item すべての\TeX 関連の入力ファイルを各\dir{texmf*}ツリーの\dir{tex}サブ +ディレクトリに集約しました(これまでは\dir{tex}, \dir{etex}, \dir{pdftex}, +\dir{pdfetex}等々に分けられていました).詳細は\file{texmf-dist/doc/generic/% +tds/tds.html#Extensions}を参照してください. + +\item (ユーザによって直接実行するためのものではない)補助スクリプトを各\dir +{texmf*}ツリーの\dir{scripts}サブディレクトリに移動し,\code{kpsewhich\space +\lopt{format=texmfscripts}}で探せるようにしました.こうした補助スクリプトを +呼び出すプログラムについては改修の必要があります.詳細は\file{texmf-dist/doc/% +generic/tds/tds.html#Scripts}を参照してください. + +\item \file{cp227.tcx}の設定により,ほとんどすべてのフォーマットで大半の文字を +\egg\verb|^^|\egg 表現へ変換することなくそのまま出力するようになりました. +特に文字コード32--256の文字とタブ,垂直タブ,改ページは印字可能文字として扱い +変換されません.例外はplain \TeX (32--126のみ印字可能),\ConTeXt (0--256を +印字可能)と\OMEGA 関連フォーマットです.デフォルトの挙動は{\TL} 2003とほとんど +変わりませんが,実装が整理されカスタマイズも容易になりました.詳細は\file{% +texmf-dist/doc/web2c/web2c.html#TCX-files}を確認してください. +(ところでUnicode入力については\TeX はエラーを表示して部分的な文字シークエンス +を出力する可能性があります.これは\TeX がバイト指向であるためです.) + +\item \prog{pdfetex}が (plain) \prog{tex} を除くすべてのフォーマットのデフォルト +エンジンになりました(もちろん,\prog{latex}等で実行された場合はDVIを出力します +).つまり,\eTeX 拡張 (\dir{texmf-dist/doc/etex/base/}) に加えて\pdfTeX の +microtypography機能も\LaTeX や\ConTeXt で利用可能になります. + +\item この変更は\pkg{ifpdf}(plain \TeX でも\LaTeX でも使用可)または同等のコード +の利用が\emph{これまで以上に重要となった}ということを意味します.なぜなら単純に +\cs{pdfoutput}(または他のプリミティブ)が定義されているかどうかを調べるだけでは +PDF出力が行われているかどうかを判定できなくなったからです.この後方互換性について +今年のリリースでは可能な限り対処しましたが,来年以降はDVI出力を行っているときで +あっても\cs{pdfoutput}が定義されている可能性があります. + +\item {\pdfTeX} (\url{https://tug.org/applications/pdftex/}) には多くの新機能が +追加されました: +\begin{itemize*} +\item \cs{pdfmapfile}と\cs{pdfmapline}がドキュメント内からのフォントマップ +アクセスをサポートします. +\item Microtypographicフォント展開がより簡単に利用できるようになりました.\\ +\url{https://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} +\item 従来は専用の設定ファイル\file{pdftex.cfg}で設定していたパラメータは,今後 +プリミティブを用いて設定されなければなりません.具体的には\file{pdftexconfig.% +tex}で設定されています.\file{pdftex.cfg}はもはやサポートされません.\file{% +pdftexconfig.tex}が変更された場合,すべての\file{.fmt}ファイルを再生成する必要 +があります. +\item その他の更新点については\pdfTeX のマニュアルを参照してください: +\file{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} +\end{itemize*} + +\item \prog{tex}(および\prog{mf}と\prog{mpost})の\cs{input}プリミティブが +ダブルクオートで囲うことによって空白やその他の特殊文字を含む入力を受け付ける +ようになりました.典型的な使用例: +% +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +% +詳細については\Webc のマニュアルを参照してください\dir{texmf-dist/doc/web2c}. + +\item \Webc にenc\TeX サポートが追加され,この機能は結果的にすべての\TeX +プログラムで\sopt{enc}オプションを通して利用可能になりました(\emph{ただし +フォーマットが生成されている場合に限る}).enc\TeX は入出力の再エンコーディング +について汎用的なサポートを提供するもので,Unicode(UTF-8形式による)のフル +サポートを可能としています.詳細については\dir{texmf-dist/doc/generic/enctex/}% +と\url{http://www.olsak.net/enctex.html}を参照してください. + +\item \eTeX と\OMEGA を組み合わせた新エンジン\ALEPH が利用可能になりました. +\dir{texmf-dist/doc/aleph/base}と\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?% +label=aleph}にいくらかの情報があります.\ALEPH における\LaTeX ベースのフォーマット +は\prog{lamed}といいます. + +\item 最新の\LaTeX は新しいバージョンのLPPLの下でインストールされました.これで +公式にDebian公認のライセンスになりました.他のアップデートについての情報と合わせて +\dir{texmf-dist/doc/latex/base}の\file{ltnews}ファイルに詳細が記載されています. + +\item DVIをPNG画像ファイルに変換する新しいプログラム\prog{dvipng}が追加され +ました.\url{https://ctan.org/pkg/dvipng}を参照. + +\item mediumサイズのフォント向けに\pkg{cbgreek}パッケージを導入しました.これは +フォント作者 (Claudio Beccari) の同意と助言に基づくものです.除外されているフォント +は不可視・アウトライン・透過文字です.これらは比較的使用頻度の低いもので,私たち +は容量を気にする必要がありました.フルセットのフォントはもちろんCTANから入手 +できます (\url{http://mirror.ctan.org/tex-archive/fonts/greek/cbfonts}). + +\item \prog{oxdvi}は廃止されました.\prog{xdvi}を使用してください. + +\item \cmd{initex}など\cmd{tex}, \cmd{mf}, \cmd{mpost}の\cmd{ini}, \cmd{vir}版 +コマンド(リンク)は作成されなくなりました.\cmd{ini}の機能は何年も前からコマンド +ラインオプション\sopt{ini}を通して利用可能です. + +\item \pkg{i386-openbsd}プラットフォームのサポートは廃止されました.BSDポート +システム向けの\pkg{tetex}パッケージとGNU/LinuxおよびFreeBSDバイナリが利用可能 +なので,ビルド担当のボランティアは他のことに時間と労力を割いた方が良いようです. + +\item (少なくとも)\pkg{sparc-solaris}においては\prog{t1utils}を実行する際には +環境変数\var{LD\_LIBRARY\_PATH}を設定する必要があります.なぜなら,このプログラム +はC++によってコンパイルされていますが,それらについて実行時ライブラリの標準的な +配置位置が存在しないためです(これは今に始まったことではありませんが,これまで +ドキュメント化されていませんでした).同様に\pkg{mips-irix}においても,MIPSpro~% +7.4ランタイムが必要です. +\end{itemize} + +\subsubsection{2005} + +2005年も例年通り膨大なパッケージとプログラムのアップデートがありました.前年と +比べるとインフラは安定していますが,必然的にいくつかの変更はありました: +% +\begin{itemize} +\item システムツリーの設定を変更する新しいスクリプト\cmd{texconfig-sys}, \cmd{% +updmap-sys}, \cmd{fmtutil-sys}が導入されました.\cmd{texconfig}, \cmd{updmap}, +\cmd{fmtutil}スクリプトは\dir{$HOME/.texlive2005}以下のユーザ設定を変更するよう +になりました. + +\item 上の変更に対応して,設定ファイルを探すべきTEXMFツリーを指定する新しい環境 +変数\var{TEXMFCONFIG}と\var{TEXMFSYSCONFIG}(それぞれユーザ用とシステム用)が +追加されました.したがって個人用の\file{fmtutil.cnf}や\file{updmap.cfg}がある +場合は,これらのパス内に移動する必要があります.もしくは\file{texmf.cnf}を用いて +\var{TEXMFCONFIG}, \var{TEXMFSYSCONFIG}の値を再定義する手もあります.いずれに +しても,実際の設定ファイル位置と\var{TEXMFCONFIG}, \var{TEXMFSYSCONFIG}の指す +位置は必ず一致していなければなりません.詳細は\ref{sec:texmftrees}節 (\p.% +\pageref{sec:texmftrees}) を参照してください. + +\item 昨年は\pdfTeX が使用されていたとしても,DVI出力を行う場合には\cs{% +pdfoutput}等のプリミティブが未定義になるよう後方互換性を維持していました. +今年は,予告していたとおり,この後方互換性に対するケアは終了します.そのため +もし\egg\verb|\ifx\pdfoutput\undefined|\egg のようなコードを利用してPDF出力 +か否かを判定している場合,修正が必要になります.この場合\pkg{ifpdf}パッケージ +(plain \TeX でも\LaTeX でも使用可能です)を使用するか,そのしくみを真似する +のがいいでしょう. + +\item 昨年,ほとんどのフォーマットで出力文字 (8-bit) がそのまま維持されるよう +になりました(前のセクションを参照してください).新しいTCXファイル\file{% +empty.tcx}を用いてより簡単に\egg\verb|^^|\egg 表現を利用するかつての挙動に +戻せるようになりました: +% +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item DVIをPDFに変換するため,新しく\prog{dvipdfmx}プログラムが追加され +ました.これは活発にメンテナンスされている\prog{dvipdfm}の後継です +(\prog{dvipdfm}は今でも利用可能ですが,推奨はされません). + +\item Adobe Acrobat Readerを再起動することなくPDFのリロードを可能にする +\prog{pdfopen}と\prog{pdfclose}が追加されました(\prog{xpdf}, \prog{gv}, +\prog{gsview}などAcrobat以外のPDFリーダにはそもそもこのような問題はあり +ませんでした). + +\item 一貫性のため\var{HOMETEXMF}と\var{VARTEXMF}はそれぞれ\var{TEXMFHOME}% +と\var{TEXMFSYSVAR}に変更されました.ユーザごとのツリーを示す\var{TEXMFVAR}% +もデフォルトで存在していることに注意してください.このリストの最初の項目も +再度確認してください. +\end{itemize} + +\subsubsection{2006--2007} + +2006--2007年における\TL への大きな出来事は\XeTeX の追加でした.このプログラム +は\cmd{xetex}と\cmd{xelatex}として利用可能です(\url{https://scripts.sil.org/% +xetex}参照). + +{\pdfTeX} (\url{https://tug.org/applications/pdftex}) と同様に,\MP にも将来的 +な拡張の計画も含めて特筆すべきアップデートがありました \url{https://tug.org/% +metapost/articles}. + +\TeX の\file{.fmt}(高速フォーマット)と\MP, \MF 用の同等ファイルは\dir{% +texmf/web2c}直下から同サブディレクトリに移されました(一方で\dir{texmf/web2c}% +直下も既存の\file{.fmt}ファイルのために検索対象に残っています).それらのサブ +ディレクトリにはそれぞれのエンジン名(\dir{tex}, \dir{pdftex}, \dir{xetex}等) +が付けられています.通常の使い方をしている限り,この変更による影響はないはず +です. + +(plain) \cmd{tex}コマンドは先頭行の\code{\%\&}(使用フォーマットの指定に使用 +する)を解釈しなくなりました.\cmd{tex}コマンドは純粋なKnuthian \TeX です. +(\LaTeX など他のコマンドは今後も\code{\%\&}を解釈します.) + +当然のことながら,この期間にも(いつも通り)上記以外に何百ものパッケージや +プログラムのアップデートがありました.平常通り,それらについてはCTAN (\url{% +http://mirror.ctan.org}) を確認してください. + +内部的には,ソースツリーをSubversionで管理するようになり,その標準Webインター +フェースでソースツリーを閲覧できるようになりました(\TL のウェブサイトから +リンクされています).この変更は最終的な配布版には関係ありませんが,この変更 +によって今後の開発基盤が安定すると期待しています. + +最後に,2006年5月にThomas Esserが\teTeX の更新を終了することを発表しました +(\url{https://tug.org/tetex}).結果として,特にGNU/Linuxのディストリビュータ +から,にわかに\TL が注目されることになりました.\TL には新しく\pkg{tetex}% +スキームが追加され,これを用いると旧来の\teTeX と概ね同等のものをインストール +することができます.私たちは,早晩この変化が全世界の人々の\TeX 環境の改善に +つながることを願っています. + +\subsubsection{2008} + +今年は\TL のインフラが全面的に再設計・再実装されました.インストールについて +の完全な情報は\file{tlpkg/texlive.tlpdb}というテキストファイルに保存される +ようになりました.インフラ刷新による変化は色々ありますが,これによって一度 +インストールした\TL をインターネットを利用してアップグレードできるようになり +ました.この機能は\MIKTEX には何年も前からあったものです.今後はCTANで新しい +パッケージがリリースされる度にアップデートを行うことができるはずです. + +大きな出来事として,新しいエンジン{\LuaTeX} (\url{https://luatex.org}) が追加 +されました.このエンジンは組版にさらなる柔軟性を与えるだけでなく,\TeX 文書の +内外で利用できる素晴らしいスクリプト言語の処理系を提供してくれます. + +WindowsとUNIXベースプラットフォームのサポートがより統一的になりました.具体的 +には,\TL に同梱されるようになった処理系によってWindowsでもPerlスクリプトと +Luaスクリプトが利用可能になりました. + +新しい\prog{tlmgr}スクリプトは(\ref{sec:tlmgr}節)は\TL の初期インストール +後の管理を行う汎用インターフェースです.このコマンドはパッケージアップデート +と継続的なフォーマット・マップファイル・言語ファイル等の再生成を行います +(オプションで,ローカルに追加されたものについても行います).\prog{tlmgr}が +開発されたので,これまでフォーマットやハイフネーション設定ファイルを管理して +いた\prog{texconfig}は廃止されました. + +また新しい索引作成支援プログラム\prog{xindy} (\url{http://xindy.sourceforge.% +net/}) がほとんどのプラットフォーム向けに提供されるようになりました. + +\cmd{kpsewhich}コマンドは与えられたファイルについて,すべてのマッチを返す +ことができるようになりました(オプション\lopt{all}).特定のサブディレクトリ +内のマッチだけを返すことも可能です(オプション\lopt{subdir}). + +\cmd{extractbb}コマンドという形で,\prog{dvipdfmx}プログラムにバウンディング +ボックス情報を抽出する機能が追加されました.これにより\prog{dvipdfm}が持って +いたほとんどの機能が\prog{dvipdfmx}にも実装されたことになります. + +\file{Times-Roman}や\file{Helvetica}のようなフォントエイリアスは削除されま +した.パッケージごとにそうしたエイリアスに求める挙動が異なり(例えば,期待 +されるエンコーディングが異なるなど),またそれに対する良い解決策も存在しない +ためです. + +ポーランド語向けの\pkg{platex}フォーマットは,まったく別の日本語用プログラム +\prog{platex}と名前が衝突しているため削除されました.代わりに,今後は\pkg{% +polski}パッケージが主としてポーランド語サポートを提供します. + +内部的には,アップデートの簡便性のため,\WEB の文字列プールファイルをバイナリ +にコンパイルするようになりました. + +最後に,`\TeX\ tuneup of 2008'に述べられているDonald Knuthによる変更が今回の +リリースに反映されました.詳細は\url{https://tug.org/TUGboat/Articles/tb29-2/% +tb92knut.pdf}を参照してください. + +\subsubsection{2009} + +2009年,\LuaTeX のOpenTypeサポート等を活用するためLua\LaTeXTeX のデフォルト +の出力フォーマットがPDFに変更されました.新しいコマンド名\cmd{dviluatex}と +\cmd{dvilualatex}を使用するとDVI出力の\LuaTeX を実行できます.\LuaTeX の +ウェブサイトは\url{https://luatex.org}です. + +{\OMEGA} (Omega) 開発者らとの協議の後,オリジナルの\OMEGA エンジンと{\LAMBDA} +(Lambda) フォーマットは削除されることになりました.後継である{\ALEPH} (Aleph) +と{\LAMED} (Lamed) は\OMEGA の機能を担うため今後も\TL に残ります. + +Computer Modernを含め,新しいバージョンのAMS Type~1 フォントが追加されました. +何年も前にKnuthが\MF のソース修正を行って変更されたいくつかのシェイプがついに +反映され,またヒンティングも更新されました.EulerフォントもHermann Zapfによって +大幅に再デザインされました(\url{https://tug.org/TUGboat/Articles/tb29-2/tb92% +hagen-euler.pdf}参照).いずれについてもメトリクスは変更されていません.AMS% +フォントのウェブサイトは\url{https://www.ams.org/tex/amsfonts.html}です. + +新しいGUIフロントエンド{\TeX}worksがWindowsと\MacTeX 向けに追加されました. +他のプラットフォーム向けのものや詳細情報については{\TeX}worksのウェブサイト +(\url{https://tug.org/texworks}) を参照してください.{\TeX}worksはmacOS向けの +統合開発環境{\TeX}Shopにインスパイアされたクロスプラットフォームなフロント +エンドで,使い勝手の良さに重きを置いています. + +製図用ツールAsymptoteが多くのプラットフォーム向けに追加されました.これは +テキストベースのグラフィクス記述言語で,大雑把には\MP と似たものですが, +高度な3Dサポートその他の機能が利用可能です.ウェブサイトは\url{http://% +asymptote.sourceforge.net}です. + +独立した\cmd{dvipdfm}コマンドは\prog{dvipdfmx}に置き換えられました(ただし +特別な互換モードで実行されます).\cmd{dvipdfmx}はCJKサポートと,\cmd{% +dvipdfm}の最後のリリースから何年にも渡って蓄積された数多くの修正が含まれて +います. + +新しいプラットフォーム (\pkg{cygwin}, \pkg{i386-netbsd}) 向けのバイナリが +追加されました.ただしOpenBSDユーザは標準的なパッケージシステムを用いて\TeX +をインストールすることが推奨されます.複数のバージョンのOpenBSDで動作する +バイナリを作成するのは困難でした. + +その他の雑多な変更: +% +\begin{itemize*} +\item \pkg{lzma}の安定した代替として\pkg{xz}圧縮 (\url{https://tukaani.org/% + xz/})を採用しました. +\item 後続の文字列が定義済みの変数と一致しない限り\samp{\$}をファイル名に使用 + できるようになりました. +\item \KPS ライブラリがマルチスレッド化されました(\MP で使用されています). +\item \TL 全体のビルドがAutomakeベースになりました. +\end{itemize*} + +最後に過去のバージョンに関することについて告知します.\TL のすべてのリリース +は\url{ftp://tug.org/historic/systems/texlive}から入手できます(CDラベル等 +のおまけもあります). + +\subsubsection{2010} +\label{sec:2010news} % keep with 2010 + +2010年,出力PDFのデフォルトバージョンが1.5になり,これまで以上の圧縮が可能に +なりました.この変更はPDFを出力するすべての\TeX エンジンと\cmd{dvipdfmx}に +ついて適用されました.\LaTeX パッケージ\pkg{pdf14}を使用するか\code{\cs{% +pdfminorversion}=4}を設定するとPDF~1.4出力に戻すことができます. + +pdf\LaTeXTeX は\LaTeX の\file{graphics.cfg}が読み込まれていて,PDF出力を +行っている場合,\pkg{epstopdf}を用いて\emph{自動的に}インクルードされた +Encapsulated {\PS} (EPS) ファイルをPDFに変換するようになりました.デフォルト +のオプションは既存のPDFファイルが上書きによって失われてしまうことのないよう +に設定されていますが,\cs{documentclass}よりも前に +\verb|\newcommand{\DoNotLoadEpstopdf}{}|(\cs{def}を用いてもよい)を記述して +読み込み済みのように見せかけることで\pkg{epstopdf}使用を回避できます.また +\pkg{pst-pdf}パッケージを使用した場合も読み込みは行われません.詳細については +\pkg{epstopdf}パッケージのドキュメントを参照してください (\url{https://ctan.% +org/pkg/epstopdf-pkg}). + +関連する変更として,今年からいくつかの定められた外部コマンドが\TeX から(\cs{% +write18}機能を介して)デフォルトで実行できるようになりました.デフォルトで実行 +が許可されているコマンドは\cmd{repstopdf}, \cmd{makeindex}, \cmd{kpsewhich}, +\cmd{bibtex}, \cmd{bibtex8}です.このリストは\file{texmf.cnf}に定義されています. +こうした外部コマンドをすべて禁止する必要のある環境では,インストーラにオプション +を指定するか(\ref{sec:options}節を参照),\code{tlmgr conf texmf \var{shell\_% +escape} 0}を実行して設定を上書きしてください. + +上とは別の関連する変更は\BibTeX とMakeindexが任意ディレクトリのファイル出力を +(\TeX 本体と同様)デフォルトでは行わなくなったことです.これは,これらのプロ +グラムを制限付き\cs{write18}で実行できるようにするための措置です.この挙動を +変更するためには環境変数\var{TEXMFOUTPUT}を設定するか\var{openout\_any}設定を +変更してください. + +\XeTeX が\pdfTeX と同様に同じ行内でのマージンカーニングをサポートするように +なりました(フォント展開は今のところサポートされていません). + +\prog{tlmgr}がデフォルトで各パッケージのバックアップを取るようになったので +(\code{tlmgr option autobackup 1}),パッケージアップデート時に不具合が発生 +しても\code{tlmgr restore}により簡単に復元できるようになりました.もし +インストール後のアップデートを行いたいもののバックアップ用のディスク容量が +ないという場合は\code{tlmgr option autobackup 0}を実行してください. + +新規に追加されたプログラム: +% +\begin{itemize*} +\item \pTeX エンジンと関連する日本語組版のためのユーティリティ +\item {\BibTeX}U: Unicodeサポートが有効な\BibTeX +\item \prog{chktex}: \LaTeXTeX 文書をチェックするツール +\item \prog{dvisvgm}: DVIをSVGに変換するツール + (\url{http://dvisvgm.sourceforge.net}) +\end{itemize*} + +新しいプラットフォーム向けの実行バイナリも追加されました: +\pkg{amd64-freebsd}, \pkg{amd64-kfreebsd}, \pkg{i386-freebsd}, +\pkg{i386-kfreebsd}, \pkg{x86\_64-darwin}, \pkg{x86\_64-solaris}. + +{\TL} 2009の変更ですが,昨年リリースノートに書き忘れたものがありました. +\TeX4ht関連の多くの実行バイナリ (\url{https://tug.org/tex4ht}) がバイナリ用 +ディレクトリから削除されました.汎用の\cmd{mk4ht}コマンドを用いてすべての +\prog{tex4ht}コンビネーションを実行することができます. + +最後に,\TeX コレクションDVD上の\TL はライブ実行できなくなりました. +1枚のDVDだけではもはや十分なスペースが確保できないためです.有用な副作用 +として,物理DVDからのインストールがこれまでよりかなり高速になりました. + +\subsubsection{2011} + +macOSバイナリ (\pkg{universal-darwin}, \pkg{x86\_64-darwin}) の動作要件が +Leopard以降になりました.今後PantherとTigerはサポート対象外となります. + +一般的なプラットフォーム向けに文献処理ツール\prog{biber}が追加されました. +このプログラムの開発は\LaTeX の参考文献関連機能の完全な再実装である\pkg{% +biblatex}パッケージの開発と緊密に連携しています. + + +{\MP} (\cmd{mpost}) は\file{.mem}ファイルを作成したり利用したりしなくなり +ました.\file{plain.mp}のような必要ファイルは実行の度に読み込まれなければ +なりません.これは\MP をライブラリとして利用できるようにしたことに関連する +変更です(ライブラリ利用可能になったこともまた顕著な変更ですが,一般の +ユーザにはあまり関係がありません). + +\cmd{updmap}のPerl実装はこれまでWindows専用でしたが,刷新されてすべての +プラットフォームで利用されるようになりました.これもユーザに影響のある +ような変更ではないはずですが,実行速度はかなり向上しました. + +\cmd{initex}, \cmd{inimf}コマンドが復活しました(ただし,その他の\cmd{% +ini*}コマンドは復活していません). + +\subsubsection{2012} + +\cmd{tlmgr}が複数のネットワークレポジトリからのアップデートをサポートする +ようになりました.\code{tlmgr help}の出力の``multiple repositories''に +関するセクションにはさらなる詳細が記述されています. + +\cmd{xetex}, \cmd{xelatex}の双方について\cs{XeTeXdashbreakstate}の +デフォルト値が\code{1}になりました.これによりem-ダッシュとen-ダッシュの +直後の改行が許容されます(これはplain \TeX, \LaTeX, \LuaTeX 等の挙動と +同じです).既存の\XeTeX 文書で,これまでの行分割とまったく同じ挙動を必要 +とする場合は明示的に\cs{XeTeXdashbreakstate}を\code{0}に設定してください. + +\cmd{pdftex}と\cmd{dvips}を含むいくつかのプログラムが生成するファイルが +2\,GBを超えられるようになりました. + +あまりにも多くのバリエーションが存在するため,35の\PS 標準フォントが\cmd{% +dvips}の出力にデフォルトで埋め込まれるようになりました. + +制限付き\cs{write18}実行モードにおいて,\cmd{mpost}がデフォルトで許可される +ようになりました. + +\file{texmf.cnf}が\file{../texmf-local}の位置(例えば\file{/usr/local/% +texlive/texmf-local/web2c/texmf.cnf})でも(存在すれば)みつけられるように +なりました. + +\cmd{updmap}スクリプトがグローバルな設定ではなくツリー毎に\file{updmap.cfg}% +を読み込むようになりました.この変更は,\file{updmap.cfg}を直接変更して +いない限りユーザへの影響はないはずです.詳細は\code{updmap \lopt{help}}の +出力を参照してください. + +プラットフォーム:\pkg{armel-linux}と\pkg{mipsel-linux}が追加され,\pkg{% +sparc-linux}と\pkg{i386-netbsd}はもはやメインディストリビューションには +含まないことになりました. + +\subsubsection{2013} + +ディストリビューション構造:トップレベルの\dir{texmf}ディレクトリは,簡潔の +ため\dir{texmf-dist}と統合されました.\KPS 変数\var{TEXMFMAIN}と\var{TEXMF% +DIST}は今後ともに\dir{texmf-dist}を参照することになります. + +多くの小さな言語サポートコレクションは,インストールをシンプルにするため, +統合されました. + +\MP: PNG出力のネイティブサポートと浮動小数点数 (IEEE double) が追加されました. + +\LuaTeX: 内蔵Lua処理系のバージョンが5.2に上がりました.また,外部PDFのページ +コンテンツを処理など多くの機能をもつ\pkg{pdfscanner}ライブラリが新たに追加 +されました(詳細は\pkg{pdfscanner}のウェブサイトを参照してください). + +\XeTeX (ウェブサイトにさらに多くの情報があります): +% +\begin{itemize*} +\item フォントレイアウトにICUに代わってHarfBuzzライブラリを使用するようになり + ました(ICUも入力エンコーディング,双方向組版,オプショナルなUnicode改行を + サポートするために依然として利用されてはいます). +\item グラファイトレイアウトにはSilGraphiteに代わってGraphite2とHarfBuzzが + 利用されるようになりました. +\item MacではATSUI(廃止予定)に代わってCore Textを使用するようになりました. +\item 同名のものがある場合,Type1フォントよりTrueType/OpenTypeフォントが優先 + されるようになりました. +\item 稀に\XeTeX と\prog{xdvipdfmx}でフォント検索の挙動に違いが生じる問題を + 修正しました. +\item OpenTypeのmath cut-insをサポートしました. +\end{itemize*} + +\prog{xdvi}: レンダリングに\prog{t1lib}に代わってFreeTypeを使用するように +なりました. + +\pkg{microtype}: \XeTeX のprotrusion機能と\LuaTeX のprotrusion,フォント +展開,トラッキング機能をサポートしたほか,数々の拡張が行われました. + +\prog{tlmgr}: 新しく\code{pinning}アクションが追加され,複数のレポジトリの +管理が簡単になりました.\code{tlmgr \lopt{help}}出力の該当セクションまたは +オンライン\url{https://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES}% +に詳細が記述されています. + +プラットフォーム:\pkg{armhf-linux}, \pkg{mips-irix}, \pkg{i386-netbsd}, +\pkg{amd64-netbsd}が追加(または復活)されました.一方\pkg{powerpc-aix}は +廃止されました. + +\subsubsection{2014} + +% Note: 第2文の訳が正しいか自信なし +2014年もKnuthによる\TeX のアップデートがありました.この変更はすべての +エンジンに影響しますが,ユーザから見える変化は起動時バナーの\code{preloaded +format}の文字列ぐらいでしょう.Knuthによれば,今回の変更により起動時バナーは +バイナリに実際にアンダンプされて読み込まれたフォーマットよりも,読み込まれて +いることが\emph{期待される}フォーマットを反映するようになりました.バナーの +内容はさまざまな方法で上書きされ得ます. + +\pdfTeX: 警告を抑制する新しいパラメタ\cs{pdfsuppresswarningpagegroup}と,PDF% +テキストリフローを補助するために単語内スペースを制御する新しいプリミティブ +\cs{pdfinterwordspaceon}, \cs{pdfinterwordspaceoff}, \cs{pdffakespace}が追加 +されました. + +\LuaTeX: フォント読み込みとハイフネーションについて,大きな変更と修正が +ありました.また\cmd{luajittex} (\url{http://foundry.supelec.fr/projects/% +luajittex}) という新しい変種エンジンが追加されました(さらに,このエンジンの +仲間として\code{texluajit}, \code{texluajitc}も追加されています).この処理系 +はLuaのJITコンパイラを利用しています(詳細は\textsl{TUGboat}の記事\url{https:% +//tug.org/TUGboat/tb34-1/tb106scarso.pdf}にあります).\cmd{luajittex}は現在 +開発途上にあり,すべてのプラットフォームで利用可能なわけではなく,また\cmd{% +luatex}ほど安定していない可能性があります.\TL チームも\cmd{luajittex}開発陣 +も,このエンジンはLuaコードのJITコンパイルについて実験を行う場合を除いては, +使用を推奨していません. + +\XeTeX: Macを含むすべてのプラットフォームで同じ画像フォーマットをサポートする +ようになりました.Unicodeの互換性分解フォールバックは回避されるようになりました +(ただしそれ以外については未対応).\XeTeX の以前のバージョンとの互換性のため, +グラファイトフォントについてはOpenTypeを優先します. + +\MP: \code{numberprecision}に加えて,新しい数値体系\code{decimal}のサポート +されるようになりました.Knuthにより\file{plain.mp}の\code{drawdot}の定義が更新 +されました.SVGおよびPNG出力についてのバグが修正されました. + +{\TL} 2014リリース後どこかのタイミングで\ConTeXt のユーティリティ\cmd{pstopdf}% +は独立のコマンドとしては廃止される予定です.これは同名のOSユーティリティとの +衝突があるためです.同ユーティリティは\code{mtxrun \lopt{script} pstopdf}に +よりこれからも呼び出すことができます. + +\cmd{psutils}は新しいメンテナにより大きく修正されました.結果として,いくつかの +あまり使われていないユーティリティ (\cmd{fix*}, \cmd{getafm}, \cmd{psmerge}, +\cmd{showchar}) はユーザレベルバイナリとして提供するのではなく\dir{scripts}% +ディレクトリ以下に移動されることになりました(もしこの変更で問題が発生した場合 +は戻されるかもしれません).一方で新しいスクリプト\cmd{psjoin}が追加されました. + +\TL ベースのディストリビューション{\MacTeX}(\ref{sec:macos}節)は,今後Latin +Modernと{\TeX} GyreフォントについてのMac専用パッケージを同梱しないことになり +ました.これはユーザが各自でそれらのフォントをシステムで利用できるように設定 +するのはそれほど難しくないためです.また\TeX4ht(とりわけ\file{tex4ht.env}) +がGhostscriptを直接利用するようになったのでImageMagickの\cmd{convert}コマンド +も削除されました. + +中国語,日本語,韓国語をサポートする\pkg{langcjk}コレクションは大きすぎたので +言語ごとに独立のパッケージに分割されました. + +プラットフォーム:\pkg{x86\_64-cygwin}が追加された一方,\pkg{mips-irix}は削除 +されました.MicrosoftがWindows XPのサポートを終了したので,\TL もXPではそのうち +動作しなくなるでしょう. + +\subsubsection{2015} + +\LaTeXe に元々は\pkg{fixltx2e}パッケージを読み込まない限りは適用されなかった +変更がデフォルトで組み込まれるようになりました(逆に,今後は\pkg{fixltx2e}を +読み込んでも何も起こりません).新たに追加された\pkg{latexrelease}パッケージ +その他の新機構を用いて「どこまでの変更を反映するか」をコントロールすることが +できます.詳細は付属ドキュメントの``{\LaTeX} News \#22''や``{\LaTeX} changes'' +に綴られています.ちなみに\pkg{babel}と\pkg{psnfss}は\LaTeX の中核を成す +パッケージながら開発・保守は独立に行われており,今回の変更とは関係がありません +(これまで通り動作するはずです). + +内部的には\LaTeXe 自身がUnicode関連のエンジン設定(カテゴリーコードの初期値 +など)を同梱するようになりました.こうした設定は以前は\TL が提供していました. +この変更はユーザには無関係のはずです.低レベルの内部コントロールシークエンス +はリネームされたり削除されたりしていますが,全体としての挙動はこれまでと完全に +一致しているはずです. + +\pdfTeX: JFIFと同様JPEGのExif情報もサポートするようになりました.\cs{% +pdfinclusionerrorlevel}の値が負のときは警告を一切発しません.また\prog{xpdf}~% +3.04に対応しました. + +\LuaTeX: トークン読み取りのための\pkg{newtokenlib}ライブラリが追加されました. +\code{normal}な乱数生成やその他の部分に関わるバグ修正も含まれています. + +\XeTeX: 画像の取り扱いに関する修正がありました.\prog{xdvipdfmx}バイナリは +最初に\prog{xetex}の仲間を検索するようになりました.\code{XDV}の内部オペコード +が変更されました. + +\MP: 新しい数値体系\code{binary}が追加されました.\prog{up*tex}に対応する +日本語用の\prog{upmpost}, \prog{updvitomp}プログラムが追加されました. + +\MacTeX: CJKサポートGhostscriptパッケージの更新が反映されました.システム環境 +設定の``{\TeX} Distribution''ペインがOS X 10.10 Yosemiteでも利用可能になり +ました.リソースフォークフォント(通常拡張子なし)はもはや\XeTeX ではサポート +されなくなりました.一方データフォークフォント (\file{.dfont}) は今後も +サポートされます. + +インフラ:\cmd{fmtutil}スクリプトが\cmd{updmap}と同様,ツリー毎に\file{% +fmtutil.cnf}を読み込むように再実装されました.\Webc の\cmd{mktex*}スクリプト +(\prog{mktexlsr}, \prog{mktextfm}, \prog{mktexpk}など)は毎回\code{PATH}% +にあるプログラムよりも,それぞれと同じディレクトリにあるプログラムを優先する +ようになりました. + +プラットフォーム:\pkg{kfreebsd}系のプラットフォームサポートは終了しました. +これらのプラットフォームでは,それぞれシステムネイティブな機能を利用して簡単に +\TL を導入できるようになったためです.いくつかの追加プラットフォームがカスタム +バイナリの形でサポートされるようになりました (\url{https://tug.org/texlive/% +custom-bin.html}).加えていくつかのプラットフォームサポートがDVDでは省略 +されるようになりましたが(単純に容量不足のためです),インターネット経由でこれ +まで通りインストールすることができます. + +\subsubsection{2016} + +\LuaTeX: プリミティブについての大きな変更(リネームと削除)とノード構造の +部分的な再設計がありました.この変更はHans Hagen氏による記事``{\LuaTeX} 0.90 +backend changes for PDF and more'' (\url{https://tug.org/TUGboat/tb37-1/% +tb115hagen-pdf.pdf}) に要約されています.すべての詳細については\LuaTeX の +マニュアル\file{texmf-dist/doc/luatex/base/luatex.pdf}を参照してください. + +\MF: \MF にLua処理系を組み込んだ実験的なプログラムMFluaとMFluajitが追加され +ました.現状これらは試用と実験のためのものです. + +\MP: バグ修正と{\MP} 2.0に向けた内部的準備が行われました. + +\LuaTeX とオリジナルの\TeX を除くすべての処理系が\var{SOURCE\_DATE\_EPOCH}に +対応しました(\LuaTeX も次のリリース時に対応する予定です).環境変数\var{% +SOURCE\_DATE\_EPOCH}が設定されている場合,その値がPDF出力のタイムスタンプと +して利用されます.\var{SOURCE\_DATE\_EPOCH\_TEX\_PRIMITIVES}も設定されている +場合,\var{SOURCE\_DATE\_EPOCH}の値が\TeX のプリミティブ\cs{year}, \cs{month}, +\cs{day}, \cs{time}の初期化にも利用されます.\pdfTeX のマニュアルに詳細と +使用例が記載されています. + +\pdfTeX: 通常実行の毎に異なる値の出力をコントロールするためのプリミティブ\cs{% +pdfinfoomitdate}, \cs{pdftrailerid}, \cs{pdfsuppressptexinfo}が追加されました. +これらの機能はPDF出力のためのもので,DVIのものではありません. + +\XeTeX: プリミティブ\cs{XeTeXhyphenatablelength}, \cs{XeTeXgenerateactualtext}, +\cs{XeTeXinterword\-spaceshaping}, \cs{mdfivesum}が追加されました.文字クラスの +上限が4096に制限されました.DVIのidバイトが更新されました. + +その他のユーティリティ: +% +\begin{itemize*} +\item \cmd{gregorio}はグレゴリオ聖歌楽譜を組版するためのパッケージ\pkg{% + gregoriotex}に含まれる新しいプログラムです.このツールは\var{shell\_escape% + \_commands}にデフォルトで含まれています. +\item \cmd{upmendex}は索引作成プログラムで,概ね\cmd{makeindex}と互換なもの + ですが,Unicodeソートをサポートする他,いくつかの変更が加えられています. +\item \cmd{afm2tfm}はアクセントベースの高さ調整を上向きのみに行うようになり + ました.\sopt{a}を使用するとすべての調整を省略します. +\item \cmd{ps2pk}が拡張PK/GFフォントを扱えるようになりました. +\end{itemize*} + +\MacTeX: システム環境設定の``\TeX\ Distribution''ペインが廃止され,そこで +取り扱われていた機能は\TL ユーティリティに移されました.同梱のGUIアプリケー +ションはアップデートされました.さまざまなCJKフォントをGhostscriptで扱いたい +ユーザのために新しく\cmd{cjk-gs-integrate}スクリプトが追加されました. + +インフラ:システムレベルの\cmd{tlmgr}設定ファイルがサポートされました.また +パッケージのチェックサムを認証する機能が追加されました.GPGが利用可能な場合は +ネットワークアップデート時に署名も認証されるようになります.これらの認証は +インストーラと\cmd{tlmgr}の両方で行われます(GPGが利用できない場合,アップ +デートはこれまで通り処理されます). + +プラットフォーム:\pkg{alpha-linux}と\pkg{mipsel-linux}は削除されました. + +\subsubsection{2017} + +\LuaTeX: コールバックや組版制御の機能が追加され,これまで以上に内部処理に +アクセスできるようになりました.動的なコード読み込みを行うための\code{ffi}% +ライブラリがいくつかのプラットフォーム向けに追加されました. + +\pdfTeX: 昨年導入された環境変数\var{SOURCE\_DATE\_EPOCH\_TEX\_PRIMITIVES}% +は\var{FORCE\_SOURCE\_DATE}にリネームされました(機能はまったく同一です). +トークンリスト\cs{pdfpageattr}が文字列\code{/MediaBox}を含んでいる場合, +デフォルト\code{/MediaBox}の出力が省略されるようになりました. + +\XeTeX: Unicode/OpenTypeのmath機能はHarfBuzzのMATHテーブルサポートに基づく +ようになりました.またいくつかのバグが修正されました. + +\prog{dvips}: \cmd{dvipdfmx}との一貫性と他のパッケージから期待される挙動に +合わせるため,最後の用紙サイズspecialが適用されるようになりました.\sopt{% +L0}オプションを使用(または設定ファイルで\code{L0}指定)した場合,最初の +specialが優先される従来の挙動に戻ります. + +\epTeX, \eupTeX: \pdfTeX 由来のプリミティブ\cs{pdfuniformdeviate}, +\cs{pdfnormaldeviate}, \cs{pdf\-randomseed}, \cs{pdfsetrandomseed}, +\cs{pdfelapsedtime}, \cs{pdfresettimer}が追加されました. + +\MacTeX: 今年から,\MacTeX としてはAppleがセキュリティパッチを提供している +macOSのバージョンのみをプラットフォーム\pkg{x86\_64-darwin}としてサポート +することになりました.これにより,現在サポート対象となるのはYosemite, El~% +Capitan, Sierra(つまりmacOS 10.10以上)です.それよりも古いバージョンの +macOS向けのバイナリは\MacTeX には同梱されていませんが,\TL には含まれて +います (\pkg{x86\_64-darwinlegacy}, \pkg{i386-darwin}, \pkg{powerpc-darwin}). + +インフラ:\var{TEXMFLOCAL}がデフォルトで\var{TEXMFSYSCONFIG}および\var{% +TEXMFSYSVAR}に先んじて検索されるようになりました.これはローカルなファイル +がシステムのそれを上書きするのがより期待される挙動であろうとの判断からです. +また\cmd{tlmgr}に新しく\code{shell}モード(対話的実行もしくはスクリプトから +使用されることを意図するものです)と\code{conf auxtrees}アクション(独自 +ツリーの追加と削除が容易にできます)が追加されました. + +\cmd{updmap}と\cmd{fmtutil}: これらのスクリプトは明示的にいわゆるシステム +モード(\code{updmap-sys}, \code{fmtutil-sys}コマンドの実行または\sopt{sys}% +オプションの利用)またはユーザモード(\code{updmap-user}, \code{fmtutil-user}% +コマンドの実行または\sopt{user}オプションの利用)を指定せずに実行された場合, +警告を表示するようになりました.これは長年に渡って意図せずユーザモードで +スクリプトが実行され,その後システム側のアップデートが反映されない問題へ +対処するための措置です.詳細は\url{https://tug.org/texlive/scripts-sys-user.% +html}を参照してください. + +\cmd{install-tl}: macOSにおける\var{TEXMFHOME}等の個人用パスのデフォルト値が +\MacTeX のデフォルト値\dir{~/Library/...}に合わせられました.新しく\sopt{% +init-from-profile}オプションが追加され,指定したプロフィールの値に基づいて +インストールを開始できるようになったほか,明示的にプロフィールを保存する +\code{P}コマンドが追加されました.またプロフィールで指定する変数の名前が +更新されました(古い変数名も引き続き使用可能です). + +Sync\TeX: 一時ファイルの名前が\file{foo.synctex.gz(busy)}のような形から\file{% +foo.synctex(busy)}に変更されました(\file{.gz}の部分が省略されます).一時 +ファイルを削除するフロントエンドやビルドシステムは対応が必要かもしれません. + +その他のユーティリティ:\cmd{texosquery-jre8}は新しいクロスプラットフォームな +プログラムで,\TeX 文書の中からロケールその他のOS情報を収集するためのものです. +このツールは制限付きシェル実行時でも起動できるよう,デフォルトで\var{shell\_% +escape\_commands}に追加されています(\prog{texosquery}はJREの古いバージョンも +サポートしていますが,古いJREで実行する場合には制限モードでは実行できません. +古いJREは既にOracleによってサポートされておらず,セキュリティ上の懸念がある +ためです). + +プラットフォーム:上の\MacTeX の項目を確認してください.それ以外の変更は +ありません. + +\subsubsection{2018} + +\KPS: システムディレクトリ以外に対してはデフォルトで大文字・小文字を区別せず +ファイル検索を行うようになりました.これまで通り大文字・小文字を区別したい +場合は\file{texmf.cnf}または環境変数で\var{texmf\_casefold\_search}を\code{0}% +に設定してください.詳細は\KPS のマニュアル (\url{https://tug.org/kpathsea}) +を参照してください. + +\epTeX, \eupTeX: 新プリミティブ\cs{epTeXversion}が追加されました. + +\LuaTeX: {\TL} 2019でLua 5.3に移行するための準備として,ほとんどのプラット +フォーム向けにバイナリ\cmd{luatex53}が追加されました.有効化するためには +\code{luatex}にリネームしてください.もしくは{\ConTeXt} Garden (\url{% +https://wiki.contextgarden.net}) のファイルを使用してください(詳細はサイトを +参照してください). + +\MP: 間違ったパス方向とTFM, PNG出力に関する問題が修正されました. + +\pdfTeX: ビットマップフォントについてエンコーディングベクタが許容されるよう +になり,カレントディレクトリがPDF ID中にハッシュされなくなりました.\cs{% +pdfprimitive}とそれに関連するバグ修正が行われました. + +\XeTeX: PDF画像挿入時に\code{/Rotate}がサポートされるようになりました. +出力ドライバが正常終了しなかった際の終了ステータスが非ゼロ値になりました. +UTF-8やプリミティブ周りのさまざまな不具合が修正されました. + +\MacTeX: 下記のサポートmacOSバージョン変更を確認してください.加えて, +\MacTeX によって\dir{/Applications/TeX/}以下にインストールされていたファイル +が整理されました.今後このディレクトリ直下にはGUIプログラム (BibDesk, LaTeXiT, +{\TL} Utility, {\TeX}Shop) が置かれ,サブディレクトリに追加のユーティリティや +ドキュメントが配置されます. + +\cmd{tlmgr}: 新しいフロントエンド\cmd{tlshell} (Tcl/Tk) と\cmd{tlcockpit} +(Java) が追加されました.それに伴い,\cmd{tlmgr}がJSON出力に対応しました. +\code{uninstall}コマンドは\code{remove}の別名になりました.新しいアクション +および同名オプションとして\code{print-platform-info}が追加されました. + +プラットフォーム: +% +\begin{itemize*} +\item \pkg{armel-linux}と\pkg{powerpc-linux}は削除されました. +\item \pkg{x86\_64-darwin}のサポート対象はmacOS 10.10--10.13 (Yosemite, El~% + Capitan, Sierra, High~Sierra) になりました. +\item \pkg{x86\_64-darwinlegacy}のサポート対象は10.6--10.10です(10.10について + は\pkg{x86\_64-darwin}の利用をおすすめします).\pkg{powerpc-darwin}と\pkg{% + i386-darwin}が削除されたことによって,10.5 (Leopard) のサポートは完全的に + 終了しました. +\item Windows XPはもはやサポートされません. +\end{itemize*} + +\subsection{現在:2019} +\label{sec:tlcurrent} + +\KPS: ブレース展開とパス分割の一貫性が高まりました.設定ファイルでは\samp{.}を +ハードコードする代わりに新しい変数\var{TEXMFDOTDIR}を使用することになりました. +これは,追加のディレクトリやサブディレクトリの検索を容易にするためです(詳細は +\file{texmf.cnf}内のコメントを参照してください). + +\epTeX, \eupTeX: 新プリミティブ\cs{readpapersizespecial}と\cs{expanded}が追加 +されました. + +\LuaTeX: Luaのバージョンが新しい算術演算とインターフェースの変更を含む5.3に +上がりました.PDF読み込みに独自ライブラリpplibが用いられるようになったので, +popplerへの依存がなくなりました(同時にC++にも依存しなくなりました).これに +伴いLuaインターフェースも変更になっています. + +\MP: 常に\lopt{restricted}が有効となる\cmd{r-mpost}コマンドが導入され, +同コマンドはデフォルトで制限リストに追加されるようになりました.デシマル・ +バイナリモードにおける最小精度は2になりました.バイナリモードはMPlibでは +サポートされなくなりましたが,スタンドアロンな\MP では今でも利用可能です. + +\pdfTeX: 新プリミティブ\cs{expanded}が追加されました.新しいパラメタ\cs{pdf% +omitcharset}が\code{1}に設定されている場合,\code{/CharSet}はPDF出力で省略 +されるようになりました.これはその値がPDF/A-2およびPDF/A-3の仕様を満たすこと +を保証できないためです. + +\XeTeX: 新プリミティブ\cs{expanded}, \cs{creationdate}, \cs{elapsedtime}, +\cs{filedump}, \cs{filemoddate}, \cs{filesize}, \cs{resettimer}, +\cs{normaldeviate}, \cs{uniformdeviate}, \cs{randomseed}が追加されました. +また\cs{Ucharcat}はアクティブ文字を生成できるように拡張されました. + +\cmd{tlmgr}: ダウンロード用ツール\cmd{curl}をサポートしました.ローカル +バックアップの際に(利用可能であれば)\cmd{lz4}と\cmd{gzip}を\cmd{xz}を適用 +する前に使用するようになりました.環境変数\var{TEXLIVE\_PREFER\_OWN}が設定 +されていない限り,圧縮およびダウンロード用に用いるプログラムについては\TL +が同梱するものよりもシステムに用意されているものを優先して使用するように +なりました. + +\cmd{install-tl}: macOSおよびWindowsでは新オプション\sopt{gui}(引数なし) +がデフォルトになりました.この状態では新しいTcl/TK GUIが起動されます(詳細 +は\ref{sec:basic}節,\ref{sec:graphical-inst}節を参照してください). + +ユーティリティ: +% +\begin{itemize*} +\item \cmd{cwebbin} (\url{https://ctan.org/pkg/cwebbin}) が\TL における + CWEB実装となりました.この実装ではより多くの言語がサポートされ,簡易な + 索引を作成する\cmd{ctwill}プログラムが追加されています. +\item \cmd{chkdvifont}: DVIファイルやtfm/ofm, vf, gf, pkからフォント情報 + を抽出して報告します. +\item \cmd{dvispc}: スペシャルを考慮して,DVIをページ独立にします. +\end{itemize*} + +\MacTeX: \pkg{x86\_64-darwin}のサポート対象は10.12以上 (Sierra, High~Sierra, +Mojave) になりました.\pkg{x86\_64-darwinlegacy}は引き続き10.6以降をサポート +します.スペルチェッカExcaliburはもはや同梱されません(32-bitサポートが必要 +なためです). + +プラットフォーム:\pkg{sparc-solaris}は削除されました. + +\subsection{未来} + +\TL は完璧ではなく,これからも成長し続けます.私たちはこれからも新しい +バージョンのリリースを続けるつもりで,より多くのドキュメントとプログラム +を提供し,これまで以上に良質で品質の保証されたマクロ,フォント,その他\TeX +に関連するあらゆる成果物を含むツリーを作っていくつもりです.こうした仕事は +すべてボランティアが余暇を使用して行っており,そのために常にやるべきことが +残っています.ぜひ\url{https://tug.org/texlive/contribute.html}を読んで, +コントリビューションを検討してください. + +間違いの指摘や提案,ヘルプの要望は以下に送ってください(英語): +% +\begin{quote} +\email{tex-live@tug.org} \\ +\url{https://tug.org/texlive} +\end{quote} +% +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} |