From 94d8a851454f2294254325942a0a96b90404147d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 15 Mar 2020 21:44:37 +0000 Subject: ja translation updates from takuto git-svn-id: svn://tug.org/texlive/trunk@54334 c570f23f-e606-0410-a88d-b1316a301751 --- .../texlive/texlive-ja/img/advanced-macos-ja.png | Bin 116452 -> 112145 bytes .../doc/texlive/texlive-ja/img/basic-macos-ja.png | Bin 33667 -> 29045 bytes .../doc/texlive/texlive-ja/texlive-ja.pdf | Bin 1202724 -> 1216106 bytes .../doc/texlive/texlive-ja/texlive-ja.sty | 75 ++-- .../doc/texlive/texlive-ja/texlive-ja.tex | 475 ++++++++++++++------- 5 files changed, 375 insertions(+), 175 deletions(-) (limited to 'Master/texmf-dist/doc/texlive') 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 index 61946752019..13b55fde25d 100644 Binary files a/Master/texmf-dist/doc/texlive/texlive-ja/img/advanced-macos-ja.png and b/Master/texmf-dist/doc/texlive/texlive-ja/img/advanced-macos-ja.png differ 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 index 20a2d63e9ae..62278ddb3b2 100644 Binary files a/Master/texmf-dist/doc/texlive/texlive-ja/img/basic-macos-ja.png and b/Master/texmf-dist/doc/texlive/texlive-ja/img/basic-macos-ja.png differ diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf index 6ac3314129d..1c9674016c7 100644 Binary files a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf and b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.pdf differ diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty index 4e9a474fbbd..b444d91343f 100644 --- a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty +++ b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.sty @@ -1,8 +1,8 @@ % 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] +\NeedsTeXFormat{pLaTeX2e}[2018/03/09] +\ProvidesPackage{texlive-ja}[2019/09/24 Japanese TeX Live Guide style] % ------------------------------------------------------------- Packages @@ -17,32 +17,11 @@ \RequirePackage[obeyspaces]{url} \RequirePackage{textcomp}% including \textbullet \RequirePackage{fancyvrb} +\RequirePackage{bxghost} \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{} -\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} @@ -203,6 +182,43 @@ {\begin{lrbox}{\mylrbox}} {\end{lrbox}} +% ------------------------------------------------------------- Boxes + +\RequirePackage{tcolorbox} +\tcbuselibrary{skins,breakable} + +\newtcolorbox{janote} + { + empty, left=2mm, right=2mm, top=-1mm, + attach boxed title to top left={xshift=1.2zw}, + boxed title style={ + empty, left=-1mm, right=-1mm, + }, + colframe=black, coltitle=black, coltext=black, breakable, + underlay unbroken={ + \draw [black, line width=.5pt] + (title.east) -- (title.east-|frame.east) -- (frame.south east) + -- (frame.south west) -- (title.west-|frame.west) -- (title.west); + }, + underlay first={ + \draw [black, line width=.5pt] (title.east) -- (title.east-|frame.east) + -- (frame.south east); + \draw [black, line width=.5pt] (frame.south west) + -- (title.west-|frame.west) -- (title.west); + }, + underlay middle={ + \draw [black, line width=.5pt] + (frame.north east) -- (frame.south east) ; + \draw [black, line width=.5pt] (frame.south west) -- (frame.north west) ; + }, + underlay last={ + \draw [black, line width=.5pt] (frame.north east) -- (frame.south east) + -- (frame.south west) -- (frame.north west) ; + }, + fonttitle=\sffamily\gtfamily, + title={日本語\TeX ユーザ向けノート}, + } + % ------------------------------------------------------------- LaTeX hacks % Japanese translaion supports only PDF (HTML version is not available) @@ -211,13 +227,12 @@ % 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}}} +\def\Translator#1{\gdef\@translator{#1}} +\def\Website#1{\gdef\@website{\url{#1}}} \author{% - 原版編集:\@editor \\ - 日本語版:\@translator\thanks{\@jainfo} \\[3mm] - \@tlurl} + {\@editor} 編 \\ + {\@translator} 訳 \\[3mm] + \@website} % hyperref settings \newcommand*{\email}[1]{\href{mailto:#1}{\path{#1}}} % \path comes from url diff --git a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex index e42f38f9680..43e1c5ea347 100644 --- a/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex +++ b/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex @@ -7,13 +7,12 @@ \usepackage{texlive-ja} -\Title{\TL ガイド 2019} +\Title{\TL ガイド 2020} \Editor{Karl Berry} -\JaAuthor{朝倉卓人} -\JaInfo{\url{https://github.com/wtsnjp/texlive-ja}} -\TLUrl{https://tug.org/texlive/} +\Translator{朝倉卓人 (wtsnjp)} +\Website{https://tug.org/texlive/} -\date{2019年8月} +\date{2020年3月} \begin{document} \maketitle @@ -21,6 +20,36 @@ \tableofcontents +\section*{訳者まえがき:日本語版『\TL ガイド』について} + +この文書は毎年更新される\TL の公式ドキュメント\textsl{The {\TL} Guide}を個人が +翻訳したものです.内容としては\TL についてのごく初歩的な知識,インストール +方法,\TL マネージャを用いた\TL 管理方法が順番に解説され,さらに後半では\KPS +ライブラリの基礎や今日までの\TL における主な変更の履歴など,少し高級な事柄まで +が扱われています. + +\TL ガイドは日本語を含め約10ヶ国語に翻訳されていることからもわかるように, +欧米圏のユーザのみならず全世界の\TL ユーザ向けの文書です.しかし,基礎的な解説 +の中で言及されている\TeX 関連プログラムは主として欧文向けのものに限られ,この +日本語版\TL ガイドの読者がおそらく必要としているだろう,\TeX で和文を処理する +際に必要な情報は不足している部分があることを否めません.そのような情報を本翻訳 +ドキュメントだけで完全に補完することは難しいですが,訳者が可能な範囲で,日本語 +ユーザにとって有益と思われる補足情報をいくつかの「日本語\TeX ユーザ向けの +ノート」コラムや訳注の形で追加しています. + +本翻訳ドキュメントについて,訳者は慎重な翻訳と技術的に正確な記述を心がけています +が,一部に不正確な翻訳や技術的に誤った記述が含まれている可能性があります. +本ドキュメントの内容に基づく運用結果については責任を負いかねますので,ご了承 +ください.また具体的に翻訳が不適切な箇所等を見つけられましたら,ぜひ本翻訳 +プロジェクトのGitHubリポジトリまでご報告をお願いします: +% +\begin{quote} +\url{https://github.com/wtsnjp/texlive-ja} +\end{quote} + +最後に,本翻訳ドキュメントの作成にあたって八登祟之氏から多数のフィードバック +をいただきました.この場を借りて深く御礼申し上げます. + \section{イントロダクション}\label{sec:intro} \subsection{\TL と\TeX コレクション} @@ -112,6 +141,14 @@ chroot}を利用したりしてください. なりますが,ご自身で作成されたわけではないドキュメントは,必ず新しい サブディレクトリで実行するのが無難です. +セキュリティに関する別の観点として,ダウンロードしたファイルが元々作成されていた +ものから改変されていないかどうかということがあります.\prog{tlmgr}% +(\ref{sec:tlmgr}節)は\prog{gpg} (GNU Privacy Guard) が利用可能な場合, +ダウンロードしたファイルについて自動的に暗号理論に基づく検証を行います. +\prog{gpg}は\TL に含まれていませんが,このプログラムについての情報は +\url{https://texlive.info/tlgpg/}に記載してありますので必要に応じて参照して +ください. + \subsection{サポート情報} \label{sec:help} @@ -154,7 +191,7 @@ stackexchange.com},Usenetニュースグループ\url{news:comp.text.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/}や @@ -173,8 +210,8 @@ stackexchange.com},Usenetニュースグループ\url{news:comp.text.tex}, メールアドレスを確認することができます. \end{description} % -%% 日本語版追記ここから %% -以上のリストは主に英語での情報提供・コミュニケーションを行う場所ですが,日本語 +\begin{janote} +上記リストは主に英語での情報提供・コミュニケーションを行う場所ですが,日本語 でのサポートが必要な場合は,次のようなウェブサイトが利用できます: % \begin{description} @@ -197,7 +234,7 @@ texwiki.texjp.org/?質問のしかた}) ページがありますので,初め ここの\LaTeX タグ (\url{https://ja.stackoverflow.com/questions/tagged/latex}) にも少しずつ\TeX/\LaTeX 関連の質問が投稿されるようになってきています. \end{description} -%% 日本語版追記ここまで %% +\end{janote} \TeX ユーザは上記のような場所でサポートを受けることができる一方で,あなた自身が 他の質問者の手助けをすることも可能です.いずれのコミュニティも全世界に開かれた @@ -263,10 +300,6 @@ CTANおよび\pkg{protext}は\TL と同じライセンスで配布されてい インストールに必要なスクリプトや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ページなど)が @@ -275,13 +308,14 @@ CTANおよび\pkg{protext}は\TL と同じライセンスで配布されてい この\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-ja} \item ポーランド語:\dir{texmf-dist/doc/texlive/texlive-pl} \item ロシア語:\dir{texmf-dist/doc/texlive/texlive-ru} \item セルビア語:\dir{texmf-dist/doc/texlive/texlive-sr} @@ -352,8 +386,8 @@ user}などが変更された設定データを保存するために利用する \item[システム用ルート] 複数の\TL を配置できます (デフォルト値はUNIXでは\dir{/usr/local/texlive}) \begin{description} - \item[\dir{2018}] 前年のリリース - \item[\dir{2019}] 最新のリリース + \item[\dir{2019}] 前年のリリース + \item[\dir{2020}] 最新のリリース \begin{description} \item[\dir{bin}] ~ \begin{description} @@ -371,8 +405,8 @@ user}などが変更された設定データを保存するために利用する \end{description} \item[ユーザのホームディレクトリ] (\dir{$HOME}または\winenv{USERPROFILE}) \begin{description} - \item[\dir{.texlive2018}] 前年リリースに適用するユーザごとのデータ(設定や生成物) - \item[\dir{.texlive2019}] 最新リリースに適用するユーザごとのデータ(設定や生成物) + \item[\dir{.texlive2019}] 前年リリースに適用するユーザごとのデータ(設定や生成物) + \item[\dir{.texlive2020}] 最新リリースに適用するユーザごとのデータ(設定や生成物) \begin{description} \item[\dir{texmf-var}] \var{TEXMFVAR}, \var{TEXMFCACHE} \item[\dir{texmf-config}] \var{TEXMFCONFIG} @@ -431,7 +465,7 @@ Omegaと\eTeX を組み合わせた処理系です.詳細については\dir{t base}を参照してください. \end{description} % -%% 日本語版追記ここから %% +\begin{janote} 上記の\TeX 処理系は主として欧文組版を行うために開発されたもので,そのままでは日本語 の組版には適しません.幸い\TL には日本語組版を行うために拡張されたエンジンもいくつか 収録されています: @@ -457,10 +491,9 @@ base/eptexdoc.pdf}をご覧ください. また\LuaTeX-jaというマクロパッケージを用いると\LuaTeX でも日本語組版を実現できます. 詳しくはウェブサイト\url{https://ja.osdn.net/projects/luatex-ja/}またはドキュメント \file{texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf}を参照してください. -%% 日本語版追記ここまで %% +\end{janote} \subsection{\TL に含まれるその他の著名なソフトウェア} -% Note: 日本語向けのプログラム(pbibtex, mendex など)は日本語版独自に追記 ここに少しですが,\TL に含まれていて,よく利用されるプログラムを列挙しておきます: % @@ -468,15 +501,9 @@ base/eptexdoc.pdf}をご覧ください. \item[bibtex, biber] 参考文献リストの作成を補助するプログラム. -\item[pbibtex, upbibtex] -\cmd{bibtex}を日本語用に拡張したもの. - \item[makeindex, xindy] 索引の作成を補助するプログラム. -\item[mendex, upmendex] -\cmd{makeindex}を日本語用に拡張したもの. - \item[dvips] DVIを\PS に変換するプログラム. @@ -502,6 +529,18 @@ PDFユーティリティ. \cmd{tex4ht}は\AllTeX をHTMLやXMLに変換するプログラム. \end{cmddescription} +\begin{janote} +日本では,上記に加えて次のプログラムもよく用いられます: +% +\begin{cmddescription} +\item[pbibtex, upbibtex] +\cmd{bibtex}を日本語用に拡張したもの. + +\item[mendex, upmendex] +\cmd{makeindex}を日本語用に拡張したもの. +\end{cmddescription} +\end{janote} + \section{\TL のインスール} \label{sec:install} @@ -659,7 +698,7 @@ tl}はPerlスクリプトです.UNIX互換なシステムでこのスクリプ \begin{figure}[tb] \begin{boxedverbatim} -Installing TeX Live 2019 from: ... +Installing TeX Live 2020 from: ... Platform: x86_64-linux => 'GNU/Linux on x86_64' Distribution: inst (compressed) Directory for temporary files: /tmp @@ -671,11 +710,11 @@ Directory for temporary files: /tmp set installation scheme: scheme-full customizing installation collections - 40 collections out of 41, disk space required: 5829 MB + 40 collections out of 41, disk space required: 6536 MB directories: TEXDIR (the main TeX directory): - /usr/local/texlive/2019 + /usr/local/texlive/2020 ... options: @@ -770,12 +809,12 @@ 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) + c [ ] MacOSX current (10.13-) 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) + h [ ] GNU/Linux on ARMv6/RPi (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) @@ -852,8 +891,8 @@ Select scheme: \label{sec:directories} デフォルトの\TL 構成については\ref{sec:texmftrees}節 (\p.\pageref{sec:texmftrees}) -で説明しました.デフォルトのインストール先はUNIXでは\dir{/usr/local/texlive/2019}, -Windowsでは\winpath{\winenv{SystemDrive}\\texlive\\2019}です.この配置は複数の\TL +で説明しました.デフォルトのインストール先はUNIXでは\dir{/usr/local/texlive/2020}, +Windowsでは\winpath{\winenv{SystemDrive}\\texlive\\2020}です.この配置は複数の\TL を同時にインストールすることを可能にします.例えば複数のリリース(典型的には,年度 ごと)の\TL をインストールしておき,単純に検索パスを変更することによってどの リリースを使用するか切り替えるようなことができます. @@ -874,7 +913,7 @@ Windowsでは\winpath{\winenv{SystemDrive}\\texlive\\2019}です.この配置 合理的なインストール場所の変更先は(特にあなたが\TL を利用する単独のユーザである 場合には)ホームディレクトリ以下でしょう.メタ文字\dir{~}(チルダ)を用いるとこれを -簡単に指定することができます(例:\dir{~/texlive/2019}). +簡単に指定することができます(例:\dir{~/texlive/2020}). 複数の\TL リリースを同時にインストールできるようにするためにも,インストール先の ディレクトリ名には「年」を含めることをおすすめします(もし\dir{/usr/local/texlive-% @@ -943,9 +982,9 @@ Options customization: しますが,それでもこのオプションは有効にしておくことを推奨します.このオプションを 無効にした場合,各ユーザがフォーマットを使用したいときにフォーマットが生成され, \code{TEXMFVAR}ツリーに保存されることになります.その場合,生成されたフォーマット -は,仮にバイナリやハイフンパターンの更新が入ったとしても,自動的にはアップデート -されないため,いつまでも非互換なフォーマットファイルを使用し続けることになる可能性 -があります. +は,仮にコアパッケージやハイフンパターンの更新が入ったとしても,自動的にはアップ +デートされないため,いつまでも非互換なフォーマットファイルを使用し続けることになる +可能性があります. \item[install font/macro \dots\ tree% (フォント・マクロの 〜 ツリーをインストール)] @@ -1108,18 +1147,18 @@ UNIXシステムではご使用のプラットフォーム向けのバイナリ ファイルでも構いません)に次のような行を追加することで環境変数を設定できます: % \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 +PATH=/usr/local/texlive/2020/bin/x86_64-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2020/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 +setenv PATH /usr/local/texlive/2020/bin/x86_64-linux:$PATH +setenv MANPATH /usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH \end{sverbatim} % もちろん,既にいわゆる「ドットファイル」(各種の設定ファイル)に何かしらの設定 @@ -1137,8 +1176,8 @@ setenv INFOPATH /usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH というファイルの存在を確かめて,もし存在していたら次のような内容を追記します: % \begin{sverbatim} -MANPATH_MAP /usr/local/texlive/2019/bin/x86_64-linux \ - /usr/local/texlive/2019/texmf-dist/doc/man +MANPATH_MAP /usr/local/texlive/2020/bin/x86_64-linux \ + /usr/local/texlive/2020/texmf-dist/doc/man \end{sverbatim} % 第二に各種の検索パスや環境変数のデフォルト値を設定するためのファイル\file{% @@ -1275,6 +1314,16 @@ TEXMFLOCAL/tex/latex}や\dir{TEXMFHOME/tex/latex},あるいはそれより下 行う必要がある場合は,\url{https://tug.org/fonts/fontinstall.html}にその方法に ついて(可能な範囲での)解説がありますので,参考にしてください. +\begin{janote} +上述の通り,\XeTeX や\LuaTeX を除く古典的な\TeX 処理系でサードパーティフォント +を利用するのは難しいです.\pTeX や\upTeX 用にサードパーティの和文フォントを設定 +するのもやはり難易度が高く,初心者にはおすすめできません(自由にフォントを選び +たい場合は\LuaTeX-ja の利用を検討してください).しかし,幸い\TL にはよく +使われる和文フォントの埋め込みについて設定を自動化するためのプログラム +\cmd{kanji-config-updmap}が付属しています.詳細は\TL に含まれる +\cmd{kanji-config-updmap}のドキュメント(日本語)を参照してください. +\end{janote} + \subsection{インストールした\TL をテストする} \label{sec:test-install} @@ -1544,19 +1593,20 @@ texconfig}の操作に慣れている方々のために依然としてその配 \subsection{\prog{tlmgr}のGUI} -\TL には\prog{tlmgr}のGUIが複数含まれています.\prog{tlshell}(図\ref{fig:% -tlshell})はTcl/Tkを利用したGUIでWindowsとmacOSで利用可能です.\prog{% -tlcockpit}はバージョン8以降のJavaとJavaFXで動作するGUIです.これらはいずれも独立 -したパッケージです. +\TL には\prog{tlmgr}のGUIフロントエンドが複数含まれています.重要なものが2つあり +ます.ひとつは図\ref{fig:tlshell}で示されている\prog{tlshell}というTcl/Tkを利用 +したGUIで,WindowsとmacOSで利用可能です.もうひとつは図\ref{fig:tlcockpit}で +示されている\prog{tlcockpit}で,動作にはバージョン8以降のJavaとJavaFXが必要です. +これらはいずれも独立したパッケージです. -\prog{tlmgr}それ自体にもGUIモードが存在します(図\ref{fig:tlmgr-gui}): +\prog{tlmgr}もネイティブのGUIモードを持っています(図\ref{fig:tlmgr-gui}): % \begin{alltt} > tlmgr -gui \end{alltt} % -このGUI拡張の実行にはPerl/Tkが必要です.現在はWindows向けの\TL にはPerl/Tk% -モジュールは同梱されていないので注意してください. +しかし,このGUI拡張の実行にはPerl/Tkが必要です.現在はWindows向けの\TL には +Perl/Tkモジュールは同梱されていないので注意してください. \subsection{コマンド使用例} @@ -1598,12 +1648,12 @@ running post install action for xetex install: xetex-def ... running mktexlsr -mktexlsr: Updating /usr/local/texlive/2019/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2020/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. +fmtutil: /usr/local/texlive/2020/texmf-var/web2c/xetex/xelatex.fmt installed. \end{fverbatim} 上の出力からわかるように,\prog{tlmgr}は依存パッケージもインストールし,ファイル名 @@ -1641,18 +1691,18 @@ texlive/tlmgr.html}にアクセスするか,以下を実行してください \subsection{Windows専用の機能} \label{sec:winfeatures} -Windowsでは\TL はいくつか追加の処理を行います: +Windowsでは\TL インストーラはいくつか追加の処理を行います: % \begin{description} \item[メニューとショートカット] スタートメニューに`\TL'サブメニューを追加します.このサブメニューから\prog{tlmgr}, -\prog{texdoctk}や\PS ビューア (\prog{psv}) などのGUIプログラムを起動したり, -いくつかのドキュメントにアクセスしたりすることができます. +\prog{texdoctk}などのGUIプログラムや,いくつかのドキュメントにアクセスすることが +できます. \item[拡張子の関連付け] -設定が有効になっている場合,\prog{\TeX works}, \prog{Dviout}, \prog{PS\_View}などを -それぞれが扱う拡張子に関連付けます.また関連するファイルを右クリックして「プログラム -から開く」を選択した場合に\TL のプログラムが候補に上がるようになります. +設定が有効になっている場合,\prog{\TeX works}, \prog{Dviout}などを,それぞれが +扱う拡張子に関連付けます.あるいは,関連するファイルを右クリックして「プログラム +から開く」を選択した場合にこれらのプログラムが候補に上がるようになります. \item[ビットマップからEPSへの変換] 各種のビットマップ画像を右クリックして「プログラムから開く」を選択した場合に\prog{% @@ -1689,9 +1739,6 @@ PerlとGhostscriptは重要なので,\TL には\kenten{隠された}それら Ghostscriptは完全版ではなく,またシステムに別途インストールされたものとは一切干渉 しません. -\item[PS\_View] -\PS /PDFビューア(図\ref{fig:psview}). - \item[dviout] DVIビューア.初期状態では,ファイルを\prog{dviout}でプレビューしようとすると, フォント生成が行われるはずです.これはスクリーンフォントがインストールされていない @@ -1715,13 +1762,8 @@ Sumatra PDF viewer (\url{https://sumatrapdfreader.org/}) などをインスト することができます.必要に応じて\prog{fc-cache}を事前に実行してフォント情報を更新して ください. \end{description} -% -\begin{figure}[tb] -\centering \tlpng{psview}{.6\linewidth} -\caption{PS\_View: かなり高い倍率まで拡大することができます.}\label{fig:psview} -\end{figure} -\subsection{ユーザプロフィールがホームディレクトリ扱い} +\subsection{ユーザプロファイルがホームディレクトリ扱い} \label{sec:winhome} Windowsにおいて,UNIXのホームディレクトリに相当するのは\winenv{USERPROFILE}ディレクトリ @@ -1734,10 +1776,10 @@ Windowsにおいて,UNIXのホームディレクトリに相当するのは\wi Windowsではほとんどすべての設定データはレジストリに保存されます.レジストリには数個の ルートの下に階層的に構成されたキーが多数含まれています.簡単に言うと,インストール -プログラムにとって最も重要なものは\var{HKEY\_CURRENT\_USER}, \var{HKEY\_LOCAL\_MACHINE}, -\var{HKCU}, \var{HKLM}です.レジストリのキー\var{HKCU}はユーザのホームディレクトリ内を -参照します(\ref{sec:winhome}節を参照).\var{HKLM}は通常Windowsディレクトリ内のサブ -ディレクトリです. +プログラムにとって最も重要なものは\var{HKEY\_CURRENT\_USER}と\var{HKEY\_LOCAL\_MACHINE}% +(略称は\var{HKCU}と\var{HKLM})です.レジストリのキー\var{HKCU}はユーザのホーム +ディレクトリ内を参照します(\ref{sec:winhome}節を参照).\var{HKLM}は通常Windows% +ディレクトリ内のサブディレクトリです. 一部の項目については環境変数によってシステム情報を引き渡すことができますが,ショート カットの位置などはレジストリを変更しないことには設定を反映することができません.また @@ -1778,10 +1820,10 @@ Windowsでは管理者アカウントにログインしていても,明示的 WindowsとCygwin(Cygwinインストールの詳細については\ref{sec:cygwin}節を参照してくだ さい)では,\TL に含まれるいくつかのプログラムがメモリを使い果たす場合があります. -例えば\prog{asy}で25,000,000リールの配列を確保しようとしたり,\LuaTeX で多書体組を +例えば\prog{asy}で2,500万要素の実数配列を確保しようとしたり,\LuaTeX で多書体組を 行おうとしたりするとメモリが不足する可能性があります. -Cygwinではユーザマニュアル (\url{https://www.cygwin.com/cygwin-ug-net/setup-maxmem.% +Cygwinではユーザマニュアル (\url{https://cygwin.com/cygwin-ug-net/setup-maxmem.% html}) の説明に従うことによってメモリ上限を増やすことができます. Windowsの場合はいくつかの手順を行う必要があります.まず\code{moremem.reg}という @@ -1849,9 +1891,14 @@ Knuthによる\TeX のオリジナルソースと,文芸的プログラミン % \begin{description} \item[\lopt{help}] 基本的な使用法を表示 -\item[\lopt{verbose}] より詳細な実行メッセージを表示 \item[\lopt{version}] バージョン情報を表示して終了 \end{description} +% +さらに,ほとんどが以下のオプションもサポートしています: +% +\begin{description} +\item[\lopt{verbose}] より詳細な実行メッセージを表示 +\end{description} \Webc プログラムはファイル探索に\KPS ライブラリ (\url{https://tug.org/kpathsea}) を 使用します.このライブラリは環境変数と設定ファイルの両方を参照して膨大な量の\TeX @@ -1918,9 +1965,9 @@ sec:filename-database}節)が$p$について用意されているかを調べ この変数の内容を変更したりシステムディレクトリを上書きするように環境変数の値を 設定することは推奨されません. -代わりに,通常のインストールを行うと\file{.../2019/texmf.cnf}が生成されます. +代わりに,通常のインストールを行うと\file{.../2020/texmf.cnf}が生成されます. どうしてもデフォルト設定を変更する必要が生じた場合は(通常は必要ありません),この -ファイルに変更を加えてください.メインの設定ファイルは\file{.../2019/texmf-dist/% +ファイルに変更を加えてください.メインの設定ファイルは\file{.../2020/texmf-dist/% web2c/texmf.cnf}です.このファイルを変更してもディストリビューション側でアップデート があると変更内容が失われてしまうため,ユーザはこのファイルを編集すべきではありません. @@ -1943,7 +1990,8 @@ web2c/texmf.cnf}です.このファイルを変更してもディストリビ texmf.cnf}の内容を上書きします. \begin{itemize*} -\item \code{\%}はコメント開始文字で,行末までコメントとして扱われます. +\item \code{\%}はコメント開始文字で,行頭に置くとその行の末尾までコメントとして + 扱われます.\code{\%}の前に空白文字があっても同様です. \item 空行は無視されます. \item 行末の\code{\bs}は行継続文字としてはたらきます.すなわち,次の行の内容も同じ行 として扱われます.行頭の連続する空白文字は無視されます. @@ -1961,11 +2009,18 @@ texmf.cnf}の内容を上書きします. プログラム名}または\code{\meta{プログラム名}.exe}という名前のプログラムの実行中のみで 適用されます.この機能を用いると,例えば\TeX 処理系の種類ごとに異なる検索パスを適用 することができます. -\item \meta{値}には\samp{\%}と\samp{@}を除く任意の文字を含めることができます.\code{% - \$\meta{変数}.\meta{プログラム名}}という形の変数は,右辺では使うことができません. - そのような場合は,必ず別の変数を追加して使用してください.\meta{値}内の\samp{;}は - UNIX環境下では\samp{:}に置換されます.この機能は1つの\file{texmf.cnf}をUNIX, MS-DOS, - Windowsで共有するのに便利です. +\item 文字列とみなされるため,\var{value}にはあらゆる文字を含めることができます. + しかし,実際には\file{texmf.cnf}に記述されるほとんどの変数はパス展開に関係し, + そのパス展開においてはさまざまな特殊文字が使用される(\ref{sec:cnf-special-chars}節 + を参照)ため,ディレクトリ名としてはブレースやコンマを使用することはできません. + + また変数中の\samp{;}はUNIX環境においては\samp{:}に読み替えられます.これは単一の + \file{texmf.cnf}ファイルでUNIXとWindowsの双方をサポートするための措置です.この + 読み替えは検索パスに限らずすべての変数について適用されますが,幸い\samp{;}は検索 + パス以外の変数には必要のない文字です. + + なお\code{\$\var{var}.\var{prog}}という表記は右辺ではサポートされません.代替手段 + として,そのようなことをしたい場合には新しい変数を追加してください. \item すべての定義は展開される前に読み込まれるので,定義前の変数も右辺に含めることが 可能です. \end{itemize*} @@ -1978,10 +2033,10 @@ texmf.cnf}の内容を上書きします. \label{sec:path-expansion} \KPS はUNIXシェルと同様にいくつかの特殊文字や検索パスの構造を認識します.一般の -例として,複雑なパス\dir{$USER/{foo,bar}//baz}は\var{\$USER}のホームディレクトリ -直下のディレクトリ\dir{foo}と\dir{bar}以下にある,\file{baz}という名前のファイル -またはディレクトリを含むすべてのサブディレクトリに展開されます.これらのパス展開の -詳細については以下のセクションを参照してください. +例として,パス\dir{~$USER/{foo,bar}//baz}は\var{\$USER}のホームディレクトリ直下の +ディレクトリ\dir{foo}と\dir{bar}以下にある,\file{baz}という名前のファイルまたは +ディレクトリを含むすべてのサブディレクトリに展開されます.これらのパス展開の詳細 +については以下のセクションを参照してください. \subsubsection{デフォルト展開} \label{sec:default-expansion} @@ -2016,8 +2071,9 @@ TEXINPUTS}の値が ブレース展開は便利な機能で,例えば\dir{v{a,b}w}は\code{vaw:vbw}に展開されます. ネストすることも可能です.この機能は\var{\$TEXMF}にブレースリストを与えることに -より複数の\TeX ヒエラルキーを共存させるのにも利用されています.具体的には\file{% -texmf.cnf}では次のような設定が行われています(この例のために単純化しています): +より複数の\TeX ヒエラルキーを共存させるのにも利用されています.具体的には, +デフォルトの\file{texmf.cnf}では次のような設定が行われています(この例のために +単純化しています): % \begin{verbatim} TEXMF = {$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFDIST} @@ -2032,9 +2088,6 @@ texmf.cnf}では次のような設定が行われています(この例のた この設定の下では,まずカレントディレクトリがチェックされ,続いて\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} @@ -2053,40 +2106,48 @@ tex}, \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFDIST/tex}ツ \samp{//}を1つのパスに複数含めることは可能ですが,パスの先頭に置かれた\samp{//}は 無視されます. -\subsubsection{特殊文字の一覧(要約)} +\subsubsection{\code{texmf.cnf}で使用できる特殊文字の概要} +\label{sec:cnf-special-chars} -以下のリストに\KPS 設定ファイルで利用できる特殊文字について要約しておきます: +以下のリストに\KPS 設定ファイルで利用できる特殊文字と構造について要約しておきます: % \begin{description} \newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} -\item[\CODE{:}] パス設定の区切り文字.先頭や末尾に置かれた場合はデフォルトパス展開 - されます. +\item[\CODE{:}] パスの先頭や末尾に書かれた場合および途中で2つ続けて書かれた場合, + その部分はデフォルトパスの展開形で置き換えらる \item[\CODE{;}] 非UNIXシステムでの区切り文字(挙動は\code{:}と同様) \item[\CODE{\$}] 変数展開 \item[\CODE{\string~}] ユーザのホームディレクトリを表す \item[\CODE{\char`\{...\char`\}}] ブレース展開 +\item[\CODE{,}] ブレース内における要素の区切り文字 \item[\CODE{//}] サブディレクトリ展開.先頭を除き,パス中どこでも利用可能 \item[\CODE{\%}] コメントの開始 -\item[\CODE{\bs}] 行継続(複数行エントリの記述に使用) +\item[\CODE{\bs}] 行末に置くと,行継続文字としてはたらき複数行入力を可能にする \item[\CODE{!!}] ファイル名データベースの使用を\emph{強制} (ディスク検索を\emph{禁止}) \end{description} +これらの文字が,正確にどのタイミングで特殊なものとして扱われるのか,あるいは +その文字そのものとして扱われるのかは文脈に依存します.設定解釈の各段階の処理 +(パース,展開,検索など)と不可分に結びついているため,残念ながら簡潔に説明する +ことはできません.また,汎用のエスケープ手段も存在していません.特に\samp{\bs}は +\file{texmf.cnf}内においては「エスケープ文字」ではないので注意してください. + +インストールを行う際にディレクトリ名を選ぶ際には,すべての特殊文字を含めないよう +にするのが無難です. + \subsection{ファイル名データベース} \label{sec:filename-database} \KPS は検索のためのディスクアクセスをある程度軽減する仕組みを持っています. -それでも,十分な大きさの\TeX インストール構成で指定されたファイルについて, -それが存在する可能性のあるすべてのディレクトリを検索するとかなり長い時間が -かかってしまいます(特に何百ものフォントディレクトリを探索する場合には顕著 -です).そのため\KPS は\file{ls-R}という名前のプレインテキスト「データベース」 -にファイルとディレクトリの情報を予め書き込んでおき,過剰なディスクアクセス -を回避しています. +それでも,標準的な\TL やその他十分な大きさの\TeX インストール構成において, +指定されたファイルについて,それが存在する可能性のあるすべてのディレクトリ +を検索するとかなり長い時間がかかってしまいます.そのため\KPS は\file{ls-R}% +という名前のプレインテキスト「データベース」にファイルとディレクトリの情報 +を予め書き込んでおき,過剰なディスクアクセスを回避しています. また\file{aliases}というもう1つのデータベースファイルを利用すると,\file{% -ls-R}に含まれているファイル名に別名(エイリアス)を付けることができます.この -機能は,ソースファイルに含まれているDOS 8.3形式のファイル名を確認する際に便利 -です. +ls-R}に含まれているファイル名に別名(エイリアス)を付けることができます. \subsubsection{ファイル名データベース} \label{sec:ls-R} @@ -2149,7 +2210,7 @@ fonts (PK) を検索するときにのみ効果を発揮します.\cmd{dvips} (曖昧でない)拡張子がないフォーマットについては,このオプションを用いて明示的 に指定する必要があります.その際\meta{フォーマット名}には\code{tex}や\code{enc files}などを指定します.具体的なフォーマット名のリストについては\code{kpsewhich -\lopt{help}}を参照してください. +\lopt{help-formats}}を参照してください. \item[\code{\lopt{mode}=\meta{モード名}}] モード名を設定します.このオプションもGFおよびPKの検索用です.デフォルト値は @@ -2484,9 +2545,49 @@ kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb は\code{50000}です. \end{description} % -もちろん,こうしたパラメタの存在は動的な配列・メモリ確保の完全な代替となるものでは -ありません.しかし,そうした変更を現在の\TeX ソースに対して適用するのは容易でない -ので,これらの実行時パラメタの存在はある程度の柔軟性をもたせる実用上の妥協策です. +こうしたパラメタの存在は動的な配列・メモリ確保の完全な代替となるものではありません. +しかし,そうした変更を現在の\TeX ソースに対して適用するのは容易でないので,これらの +実行時パラメタの存在はある程度の柔軟性をもたせる実用上の妥協策です. + +\subsection{\code{\$TEXMFDOTDIR}} +\label{sec:texmfdotdir} + +ここまでさまざまな箇所で,(カレントディレクトリを最初に検索するようにするため) +ドット\samp{.}から始まる検索パスを紹介してきました: +% +\begin{alltt}\small +TEXINPUTS=.;$TEXMF/tex// +\end{alltt} +% +実は,これは単純化した表記です.\TL が提供している実際の\file{texmf.cnf}では +単に\samp{.}と書く代わりに\code{\$TEXMFDOTDIR}を使用しています: +% +\begin{alltt}\small +TEXINPUTS=$TEXMFDOTDIR;$TEXMF/tex// +\end{alltt} +% +(実際のファイルでは,2つ目のパス要素も\code{\$TEXMF/tex//}よりは少し複雑 +です.とはいえ,それは些末なことなので,ここでは\code{\$TEXMFDOTDIR}の話に +注目してください.) + +パス定義において,単に\samp{.}と書く代わりに\code{\$TEXMFDOTDIR}を使用する +理由は,単純にその値を上書きできるメリットがあるからです.例えば,複雑な +ドキュメントは数多くのソースファイルが,多くのサブディレクトリにまたがって +配置されている場合があります.そのような場合,\var{TEXMFDOTDIR}の値を +\code{.//}に(例えば,そのドキュメントをビルドする環境で)設定するだけで, +サブディレクトリのすべてが検索されるようになります.(警告:\code{.//}を +デフォルトの設定にはしないでください.そうした設定は極めて好ましくなく, +任意のドキュメントについてすべてのサブディレクトリを検索するようにする +ことには潜在的なセキュリティ上の問題があります.) + +また別のケースでは,カレントディレクトリを一切検索したくないという場合も +考えられます.それは例えば,すべてのファイルを明示的なパスで記述している +ような状況で起こり得ます.そのような場合,\var{TEXMFDOTDIR}の値は +\code{/nonesuch}やその他任意の存在しないディレクトリに設定しておくと +よいでしょう. + +\code{\$TEXMFDOTDIR}のデフォルト値は,\TL の\file{texmf.cnf}に定義されて +いるように単に\samp{.}です. \section{謝辞} @@ -2516,13 +2617,15 @@ Berryです.過去から現在に至るまでの,その他の主要な貢献 \item Eitan Gurari.彼の\TeX4htは\TL 公式ドキュメントのHTML版生成に利用されています. 彼は急な依頼をしても,毎年快く\TeX4htの改善に取り組んでくれました.Eitanは2009年 6月に若くして亡くなりましたが,私たちは彼のことを忘れません. -\item Hans Hagen.多くのテストを引き受け,また彼の\ConTeXt パッケージ (\url{http://% - pragma-ade.com}) を\TL フレームワークに対応させてくれました. +\item Hans Hagen.多くのテストを引き受け,彼の\ConTeXt パッケージ (\url{http://% + pragma-ade.com}) を\TL フレームワークに対応させるとともに,継続的に\TeX 開発に + 協力してくれました. \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}) 自体に対して大きな +\item 平田俊作.DVIPDFM$x$について多くの新規および継続的な貢献をしてくれました. +\item Taco Hoekwater.\MP と {(Lua)\TeX} (\url{https://luatex.org}) 自体に対して大きな 変更を施したほか,\ConTeXt の\TL 対応や\KPS のマルチスレッド機能,その他数々の貢献 をしてくれました. \item Khaled Hosny.\XeTeX, DVIPDFM$x$に加え,アラビア語用のものを含め多くのフォント @@ -2534,6 +2637,7 @@ Berryです.過去から現在に至るまでの,その他の主要な貢献 \item Jonathan Kew.優れた\TeX エンジンである\XeTeX を開発し,時間と労力を割いてその 処理系を\TL に導入してくれました.彼はさらに初期バージョンの\MacTeX を開発し,我々の おすすめするフロントエンドである\TeX worksも開発しました. +\item 北川弘典.\pTeX と関連する多くのサポートを担ってくれました. \item Dick Koch.\TL チームと友好的かつ緊密に連携しながらMac{\TeX} (\url{https://tug.% org/mactex}) のメンテナンスを行ってくれています. \item Reinhard Kotucha.{\TL} 2008のインフラとインストーラに対する主要な貢献者で, @@ -2541,11 +2645,14 @@ Berryです.過去から現在に至るまでの,その他の主要な貢献 くれています. \item Siep Kroonenberg.彼も{\TL} 2008のインフラとインストーラの(特にWindowsについて) 主要貢献者で,その新機能について解説するためマニュアルを大幅に改定してくれました. +\item Clerk Ma.エンジンのバグ修正と拡張を行ってくれました. \item Mojca Miklavec.\ConTeXt 開発の重要な協力者で,多くのバイナリビルドを行い, その他にも多くの仕事を行ってくれています. \item Heiko Oberdiek.\pkg{epstopdf}をはじめ数々のパッケージを開発し,巨大だった \pkg{pst-geo}データファイルを圧縮して\TL に含められるようにしてくれました.そして 何より,彼の\pkg{hyperref}パッケージについての偉業に敬意を表します. +\item Phelype Oleinik.2020年にグループ区切りでの\cs{input}対応を多くのエンジンに + 適用したほか,多くの貢献をしてくれました. \item Petr Ol\v{s}ak.チェコ・スロバキア関連のプロダクトを統括し,注意深くチェック してくれました. \item 大島利雄.Windows向けDVIビューア\cmd{dviout}を開発してくれました. @@ -2559,6 +2666,7 @@ Berryです.過去から現在に至るまでの,その他の主要な貢献 \item Sebastian Rahtz.\TL の創始者で,長年そのメンテナンスを行っていました. 彼は2016年3月に亡くなりましたが,私たちは彼のことを忘れません. \item Luigi Scarso.\MP, \LuaTeX その他のプログラムを継続的に開発してくれています. +\item Andreas Scherer.\TL で用いているCWEB実装である\code{cwebbin}の開発. \item Tomasz Trzeciak.Windowsについて広範な協力をしてくれました. \item Vladimir Volovich.さまざまなプログラムの\TL への組み込みとメンテナンスの ために多くの手伝いをしてくれました.特に\cmd{xindy}の組み込みが実現したのは彼の @@ -2569,6 +2677,9 @@ Berryです.過去から現在に至るまでの,その他の主要な貢献 \item Olaf Weber.過去何年にも渡って辛抱強く\Webc のメンテナンスを行ってくれました. \item Gerben Wierda.初期のmacOSサポートの開発とメンテナンスを行ってくれました. \item Graham Williams.\TeX カタログの創始者です. +\item Joseph Wright.各種エンジンで同じプリミティブを使用できるようにするため多くの + 貢献をしてくれました. +\item 山下弘展.\pTeX と関連する多くのサポートを担ってくれました. \end{itemize*} バイナリのビルド担当者: @@ -2685,11 +2796,12 @@ dat}も用意されるようになりました. に配置されるようになりました. \item \TeX, \MF, \MP がデフォルトでほとんどの入力文字(文字コード32以上) をそのままファイル(例えば\cs{write}の出力先),ログファイル,ターミナルに - 出力するようになりました.すなわち\egg\verb|^^|\egg 表現への変換が\emph{% - 行われないように}なりました.\TL~7では,この変換はシステムのロケール設定に - 依存していました.今後はロケール設定は\TeX のコアプログラムの挙動に影響を - 与えなくなります.もし何らかの理由により\egg\verb|^^|\egg 表現による出力が - 必要な場合は\file{texmf/web2c/cp8bit.tcx}のファイル名を変更してください. + 出力するようになりました.すなわち\code{\symbol{`\^}\symbol{`\^}}表現への + 変換が\emph{行われないように}なりました.\TL~7では,この変換はシステムの + ロケール設定に依存していました.今後はロケール設定は\TeX のコアプログラム + の挙動に影響を与えなくなります.もし何らかの理由により\code{\symbol{`\^}% + \symbol{`\^}}表現による出力が必要な場合は\file{texmf/web2c/cp8bit.tcx}の + ファイル名を変更してください. (将来的にはもう少し簡単な方法を用意する予定です.) \item このドキュメントを全面的に改訂しました. \item 最後に,バージョン番号が大きくなってきたので,今後は単にリリース年で @@ -2735,12 +2847,12 @@ tds/tds.html#Extensions}を参照してください. 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}を確認してください. +\code{\symbol{`\^}\symbol{`\^}}表現へ変換することなくそのまま出力するように +なりました.特に文字コード32--256の文字とタブ,垂直タブ,改ページは印字可能文字 +として扱い変換されません.例外はplain \TeX (32--126のみ印字可能),\ConTeXt +(0--256を印字可能)と\OMEGA 関連フォーマットです.デフォルトの挙動は{\TL} +2003とほとんど変わりませんが,実装が整理されカスタマイズも容易になりました. +詳細は\file{texmf-dist/doc/web2c/web2c.html#TCX-files}を確認してください. (ところでUnicode入力については\TeX はエラーを表示して部分的な文字シークエンス を出力する可能性があります.これは\TeX がバイト指向であるためです.) @@ -2788,12 +2900,12 @@ pdftexconfig.tex}が変更された場合,すべての\file{.fmt}ファイル フォーマットが生成されている場合に限る}).enc\TeX は入出力の再エンコーディング について汎用的なサポートを提供するもので,Unicode(UTF-8形式による)のフル サポートを可能としています.詳細については\dir{texmf-dist/doc/generic/enctex/}% -と\url{http://www.olsak.net/enctex.html}を参照してください. +と\url{http://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}といいます. +\dir{texmf-dist/doc/aleph/base}と\url{https://texfaq.org/FAQ-enginedev}に +いくらかの情報があります.\ALEPH における\LaTeX ベースのフォーマットは +\prog{lamed}といいます. \item 最新の\LaTeX は新しいバージョンのLPPLの下でインストールされました.これで 公式にDebian公認のライセンスになりました.他のアップデートについての情報と合わせて @@ -2849,15 +2961,15 @@ updmap-sys}, \cmd{fmtutil-sys}が導入されました.\cmd{texconfig}, \cmd{u \item 昨年は\pdfTeX が使用されていたとしても,DVI出力を行う場合には\cs{% pdfoutput}等のプリミティブが未定義になるよう後方互換性を維持していました. 今年は,予告していたとおり,この後方互換性に対するケアは終了します.そのため -もし\egg\verb|\ifx\pdfoutput\undefined|\egg のようなコードを利用してPDF出力 +もし\code{\cs{ifx}\cs{pdfoutput}\cs{undefined}}のようなコードを利用してPDF出力 か否かを判定している場合,修正が必要になります.この場合\pkg{ifpdf}パッケージ (plain \TeX でも\LaTeX でも使用可能です)を使用するか,そのしくみを真似する のがいいでしょう. \item 昨年,ほとんどのフォーマットで出力文字 (8-bit) がそのまま維持されるよう になりました(前のセクションを参照してください).新しいTCXファイル\file{% -empty.tcx}を用いてより簡単に\egg\verb|^^|\egg 表現を利用するかつての挙動に -戻せるようになりました: +empty.tcx}を用いてより簡単に\code{\symbol{`\^}\symbol{`\^}}表現を利用する +かつての挙動に戻せるようになりました: % \begin{verbatim} latex --translate-file=empty.tcx yourfile.tex @@ -2901,7 +3013,7 @@ texmf/web2c}直下から同サブディレクトリに移されました(一 当然のことながら,この期間にも(いつも通り)上記以外に何百ものパッケージや プログラムのアップデートがありました.平常通り,それらについてはCTAN (\url{% -http://mirror.ctan.org}) を確認してください. +https://ctan.org}) を確認してください. 内部的には,ソースツリーをSubversionで管理するようになり,その標準Webインター フェースでソースツリーを閲覧できるようになりました(\TL のウェブサイトから @@ -2982,7 +3094,7 @@ Computer Modernを含め,新しいバージョンのAMS Type~1 フォントが 反映され,またヒンティングも更新されました.EulerフォントもHermann Zapfによって 大幅に再デザインされました(\url{https://tug.org/TUGboat/Articles/tb29-2/tb92% hagen-euler.pdf}参照).いずれについてもメトリクスは変更されていません.AMS% -フォントのウェブサイトは\url{https://www.ams.org/tex/amsfonts.html}です. +フォントのウェブサイトは\url{https://ams.org/tex/amsfonts.html}です. 新しいGUIフロントエンド{\TeX}worksがWindowsと\MacTeX 向けに追加されました. 他のプラットフォーム向けのものや詳細情報については{\TeX}worksのウェブサイト @@ -2993,7 +3105,7 @@ hagen-euler.pdf}参照).いずれについてもメトリクスは変更さ 製図用ツールAsymptoteが多くのプラットフォーム向けに追加されました.これは テキストベースのグラフィクス記述言語で,大雑把には\MP と似たものですが, 高度な3Dサポートその他の機能が利用可能です.ウェブサイトは\url{http://% -asymptote.sourceforge.net}です. +asymptote.sourceforge.io}です. 独立した\cmd{dvipdfm}コマンドは\prog{dvipdfmx}に置き換えられました(ただし 特別な互換モードで実行されます).\cmd{dvipdfmx}はCJKサポートと,\cmd{% @@ -3068,8 +3180,9 @@ escape} 0}を実行して設定を上書きしてください. \item \pTeX エンジンと関連する日本語組版のためのユーティリティ \item {\BibTeX}U: Unicodeサポートが有効な\BibTeX \item \prog{chktex}: \LaTeXTeX 文書をチェックするツール + (元々\url{http://baruch.ev-en.org/proj/chktex}から提供されていたもの) \item \prog{dvisvgm}: DVIをSVGに変換するツール - (\url{http://dvisvgm.sourceforge.net}) + (\url{https://dvisvgm.de}) \end{itemize*} 新しいプラットフォーム向けの実行バイナリも追加されました: @@ -3204,10 +3317,9 @@ format}の文字列ぐらいでしょう.Knuthによれば,今回の変更 されました. \LuaTeX: フォント読み込みとハイフネーションについて,大きな変更と修正が -ありました.また\cmd{luajittex} (\url{http://foundry.supelec.fr/projects/% -luajittex}) という新しい変種エンジンが追加されました(さらに,このエンジンの -仲間として\code{texluajit}, \code{texluajitc}も追加されています).この処理系 -はLuaのJITコンパイラを利用しています(詳細は\textsl{TUGboat}の記事\url{https:% +ありました.最大の新要素は新しい\TeX エンジンで,\cmd{luajittex}とその仲間 +である\cmd{texluajit}, \cmd{texluajitc}が追加されました.これらはLuaの +JITコンパイラを利用しています(詳細は\textsl{TUGboat}の記事\url{https:% //tug.org/TUGboat/tb34-1/tb106scarso.pdf}にあります).\cmd{luajittex}は現在 開発途上にあり,すべてのプラットフォームで利用可能なわけではなく,また\cmd{% luatex}ほど安定していない可能性があります.\TL チームも\cmd{luajittex}開発陣 @@ -3349,8 +3461,8 @@ pdfinfoomitdate}, \cs{pdftrailerid}, \cs{pdfsuppressptexinfo}が追加されま インフラ:システムレベルの\cmd{tlmgr}設定ファイルがサポートされました.また パッケージのチェックサムを認証する機能が追加されました.GPGが利用可能な場合は ネットワークアップデート時に署名も認証されるようになります.これらの認証は -インストーラと\cmd{tlmgr}の両方で行われます(GPGが利用できない場合,アップ -デートはこれまで通り処理されます). +インストーラと\cmd{tlmgr}の両方で行われます.GPGが利用できない場合,アップ +デートはこれまで通り処理されます. プラットフォーム:\pkg{alpha-linux}と\pkg{mipsel-linux}は削除されました. @@ -3472,8 +3584,7 @@ UTF-8やプリミティブ周りのさまざまな不具合が修正されまし \item Windows XPはもはやサポートされません. \end{itemize*} -\subsection{現在:2019} -\label{sec:tlcurrent} +\subsubsection{2019} \KPS: ブレース展開とパス分割の一貫性が高まりました.設定ファイルでは\samp{.}を ハードコードする代わりに新しい変数\var{TEXMFDOTDIR}を使用することになりました. @@ -3532,6 +3643,80 @@ Mojave) になりました.\pkg{x86\_64-darwinlegacy}は引き続き10.6以降 プラットフォーム:\pkg{sparc-solaris}は削除されました. +\subsection{現在:2020} +\label{sec:tlcurrent} + +全般: +% +\begin{itemize} +\item すべての\TeX エンジン(\cmd{tex}を含む)の\cs{input}プリミティブが, + システム依存の拡張としてファイル名をグループ区切りの引数として受け取れる + ようになりました.標準的なスペーストークン区切りのファイル名に関する + 挙動は従来から一切変更されていません.このグループ区切り引数は\LuaTeX では + 元々実装されていたもので,今年からすべてのエンジンで利用可能になりました. + ASCIIのダブルクオテーション文字 (\code{"}) はファイル名から除去されますが, + その他の変更が引数に対してトークン化後に行われることはありません.この変更は + 今のところ\LaTeX の\cs{input}コマンドには影響を与えません.このコマンドは + 標準の\cs{input}プリミティブを再定義したマクロだからです. +% +\item 新しいオプション\lopt{cnf-line}が\cmd{kpsewhich}, \cmd{tex}, \cmd{mf}と + その他すべてのエンジンで利用可能になりました.このオプションは任意の + texmf設定項目をコマンドラインで指定するためのものです. +% +\item ここ数年でさまざまなプリミティブが各種エンジンに追加されたのは,すべての + 処理系で共通の機能を利用可能にするためです. + (cf.\,\textsl{\LaTeX\ News \#31}, \url{https://latex-project.org/news}) + +\end{itemize} + +\epTeX, \eupTeX: 新しいプリミティブ\cs{Uchar}, \cs{Ucharcat}, +\cs{current(x)spacingmode}, \cs{ifincsname}が追加されました.また +\cs{fontchar??}と\cs{iffontchar}の仕様が改訂されました.\eupTeX に限り +\cs{currentcjktoken}も利用可能になりました. + +\LuaTeX: HarfBuzzライブラリが導入され,\cmd{luahbtex}と\cmd{luajithbtex}が +追加されました.前者は\cmd{lualatex}で使用されることになりました.新しい +プリミティブとして\cs{eTeXgluestretchorder}, \cs{eTeXglueshrinkorder}が +追加されました. + +\pdfTeX: 新プリミティブ\cs{pdfmajorversion}が追加されました.これは単に +PDF出力のバージョン番号を変更するもので,PDFの内容そのものに対しては一切の +効果を持ちません.\cs{pdfximage}と類似するコマンドは\cs{openin}と同様の +方法で画像ファイルを検索するようになりました. + +\pTeX: 新プリミティブ\cs{ifjfont}, \cs{iftfont}が追加されました.\epTeX, +\upTeX, \eupTeX についても同様です. + +\XeTeX: \cs{Umathchardef}, \cs{XeTeXinterchartoks}, \cs{pdfsavepos}の +挙動が修正されました. + +Dvips: ビットマップフォントについてエンコーディングが出力されるようになり, +コピー&ペーストがしやすくなりました +(\url{https://tug.org/TUGboat/tb40-2/tb125rokicki-type3search.pdf}). + +\MacTeX: \MacTeX と\pkg{x86\_64-darwinlegacy}のサポート対象がmacOS 10.13% +以上 (High~Sierra, Mojave, Catalina) になりました. +\pkg{x86\_64-darwinlegacy}はmacOS 10.6以上をサポートします.Apple社の +要請に基づき,\MacTeX は公証を受け,そのコマンドラインプログラムは +hardened runtimeをもつようになっています.BibDeskと\TL ユーティリティは +公証を受けていないため\MacTeX に含まれていませんが,\file{README}には +それらを入手できるURLが記載されています. + +\cmd{tlmgr}とインフラ: +% +\begin{itemize*} +\item ダウンロード失敗時に(一度だけ)自動的に再試行するようになりました. +\item 新オプション\code{tlmgr check texmfdbs}が追加されました.これにより + \file{ls-R}ファイルと各ツリーにおける\code{!!}指定の整合性を確認する + ことができます. +\item パッケージコンテナに\code{tlnet/archive/\textsl{pkgname}.rNNN.tar.xz}% + といった形でバージョン情報を含むファイル名が用いられるようになりました. + この変更はユーザに直接影響しないはずですが,ディストリビューションとしては + 大きな変更点です. +\item \code{catalogue-date}情報は,パッケージアップデートには関係がないことが + 多いため,\TeX カタログには伝達されないことになりました. +\end{itemize*} + \subsection{未来} \TL は完璧ではなく,これからも成長し続けます.私たちはこれからも新しい -- cgit v1.2.3