From 95b471835523e634d7a1a09c433dbd827d3af0ef Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 11 Jun 2016 23:06:18 +0000 Subject: platex (11jun16) git-svn-id: svn://tug.org/texlive/trunk@41369 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/platex/base/Makefile | 57 +++-- Master/texmf-dist/source/platex/base/kinsoku.dtx | 148 ++++++++++++- Master/texmf-dist/source/platex/base/platex.dtx | 230 +++++++++++++-------- .../source/platex/base/platexrelease.dtx | 28 ++- .../source/platex/base/platexrelease.ins | 1 - Master/texmf-dist/source/platex/base/plcore.dtx | 45 ++-- Master/texmf-dist/source/platex/base/plfmt.ins | 1 + Master/texmf-dist/source/platex/base/plfonts.dtx | 165 ++++++++++++--- Master/texmf-dist/source/platex/base/plnewsc01.tex | 150 ++++++++++++++ Master/texmf-dist/source/platex/base/plnewsc02.tex | 79 +++++++ Master/texmf-dist/source/platex/base/plvers.dtx | 83 ++++---- 11 files changed, 797 insertions(+), 190 deletions(-) create mode 100644 Master/texmf-dist/source/platex/base/plnewsc01.tex create mode 100644 Master/texmf-dist/source/platex/base/plnewsc02.tex (limited to 'Master/texmf-dist/source/platex') diff --git a/Master/texmf-dist/source/platex/base/Makefile b/Master/texmf-dist/source/platex/base/Makefile index cf1da577a9e..63bbcb099b9 100644 --- a/Master/texmf-dist/source/platex/base/Makefile +++ b/Master/texmf-dist/source/platex/base/Makefile @@ -2,12 +2,14 @@ TARGET1 = platex.ltx jarticle.cls pl209.def platexrelease.sty \ nidanfloat.sty tascmac.sty TARGET2 = platex.pdf platexrelease.pdf pldoc.pdf \ nidanfloat.pdf ascmac.pdf +KANJI = -kanji=jis FONTMAP = -f ipaex.map -f ptex-ipaex.map all: $(TARGET1) $(TARGET2) PLFMT = platex.ltx plcore.ltx kinsoku.tex pldefs.ltx \ - jy1mc.fd jy1gt.fd jt1mc.fd jt1gt.fd plext.sty ptrace.sty + jy1mc.fd jy1gt.fd jt1mc.fd jt1gt.fd plext.sty \ + ptrace.sty pfltrace.sty PLFMT_SRC = platex.dtx plvers.dtx plfonts.dtx plcore.dtx \ kinsoku.dtx plext.dtx @@ -44,38 +46,58 @@ PLDOC_SRC = platex.dtx plvers.dtx plfonts.dtx plcore.dtx plext.dtx \ pl209.dtx kinsoku.dtx jclasses.dtx jltxdoc.dtx platex.ltx: $(PLFMT_SRC) - platex --kanji=jis plfmt.ins + for x in $(PLFMT); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + platex $(KANJI) plfmt.ins rm plfmt.log jarticle.cls: $(PLCLS_SRC) - platex --kanji=jis plcls.ins + for x in $(PLCLS); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + platex $(KANJI) plcls.ins rm plcls.log pl209.def: $(PL209_SRC) - platex --kanji=jis pl209.ins + for x in $(PL209); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + platex $(KANJI) pl209.ins rm pl209.log platexrelease.sty: $(PLREL_SRC) - platex --kanji=jis platexrelease.ins + for x in $(PLREL); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + platex $(KANJI) platexrelease.ins rm platexrelease.log nidanfloat.sty: $(NIDAN_SRC) - platex --kanji=jis nidanfloat.ins + for x in $(NIDAN); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + platex $(KANJI) nidanfloat.ins rm nidanfloat.log tascmac.sty: $(ASCMAC_SRC) - platex --kanji=jis ascmac.ins + for x in $(ASCNAC); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + platex $(KANJI) ascmac.ins rm ascmac.log platex.pdf: $(INTRODOC_SRC) - platex --kanji=jis platex.dtx && \ - platex --kanji=jis platex.dtx && \ + platex $(KANJI) platex.dtx + mendex -f -s gglo.ist -o platex.gls platex.glo + platex $(KANJI) platex.dtx dvipdfmx $(FONTMAP) platex.dvi rm platex.aux platex.log platex.dvi + rm platex.glo platex.gls platex.ilg platexrelease.pdf: $(PLRELDOC_SRC) - platex --kanji=jis platexrelease.dtx && \ - platex --kanji=jis platexrelease.dtx && \ + platex $(KANJI) platexrelease.dtx + platex $(KANJI) platexrelease.dtx dvipdfmx $(FONTMAP) platexrelease.dvi rm platexrelease.aux platexrelease.log platexrelease.dvi @@ -83,22 +105,23 @@ pldoc.pdf: $(PLDOC_SRC) for x in jltxdoc.cls pldoc.tex Xins.ins; do \ if [ -e $$x ]; then rm $$x; fi \ done - platex --kanji=jis pldocs.ins && \ - platex --kanji=jis Xins.ins && sh mkpldoc.sh && \ + platex $(KANJI) pldocs.ins + platex $(KANJI) Xins.ins + sh mkpldoc.sh dvipdfmx $(FONTMAP) pldoc.dvi rm *.aux *.log pldoc.toc pldoc.idx pldoc.ind pldoc.ilg rm pldoc.glo pldoc.gls *.dvi pldoc.tex Xins.ins rm *.cfg pldoc.dic mkpldoc.sh dstcheck.pl nidanfloat.pdf: $(NIDAN_SRC) - platex --kanji=jis nidanfloat.dtx && \ - platex --kanji=jis nidanfloat.dtx && \ + platex $(KANJI) nidanfloat.dtx + platex $(KANJI) nidanfloat.dtx dvipdfmx $(FONTMAP) nidanfloat.dvi rm nidanfloat.aux nidanfloat.log nidanfloat.dvi ascmac.pdf: $(ASCMAC_SRC) - platex --kanji=jis ascmac.dtx && \ - platex --kanji=jis ascmac.dtx && \ + platex $(KANJI) ascmac.dtx + platex $(KANJI) ascmac.dtx dvipdfmx $(FONTMAP) ascmac.dvi rm ascmac.aux ascmac.log ascmac.toc ascmac.dvi diff --git a/Master/texmf-dist/source/platex/base/kinsoku.dtx b/Master/texmf-dist/source/platex/base/kinsoku.dtx index 4c064f526fc..caf00ea859b 100644 --- a/Master/texmf-dist/source/platex/base/kinsoku.dtx +++ b/Master/texmf-dist/source/platex/base/kinsoku.dtx @@ -10,7 +10,7 @@ % % \fi % -% \CheckSum{167} +% \CheckSum{295} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -28,6 +28,12 @@ %% Right brace \} Tilde \~} %% % +% \iffalse +% \changes{v1.0}{1995/04/01}{first edition} +% \changes{v1.0a}{2016/06/08}{T1などの8ビットフォントエンコーディング +% のために128--256の文字を\texttt{\cs{xspcode}=3}に設定} +% \fi +% % \setcounter{StandardModuleDepth}{1} % \StopEventually{} % @@ -35,7 +41,7 @@ %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{kinsoku.dtx}[1995/04/01 v1.0 pLaTeX Kernel] +\ProvidesFile{kinsoku.dtx}[2016/06/08 v1.0a pLaTeX Kernel (community edition)] % \iffalse \documentclass{jltxdoc} \GetFileInfo{kinsoku.dtx} @@ -203,6 +209,144 @@ \xspcode`.=2 % \end{macrocode} % +% +% T1などの8ビットフォントエンコーディングで128--255の文字は欧文文字ですので、 +% 周囲の和文文字との間に|\xkanjiskip|が挿入される必要があります。そこで、 +% 奥村さんの\file{jsclasses}や田中さんのup\LaTeX{}と同等の対処をします。 +% \changes{v1.0a}{2016/06/08}{T1などの8ビットフォントエンコーディング +% のために128--256の文字を\texttt{\cs{xspcode}=3}に設定} +% +% \begin{macrocode} +\xspcode"80=3 +\xspcode"81=3 +\xspcode"82=3 +\xspcode"83=3 +\xspcode"84=3 +\xspcode"85=3 +\xspcode"86=3 +\xspcode"87=3 +\xspcode"88=3 +\xspcode"89=3 +\xspcode"8A=3 +\xspcode"8B=3 +\xspcode"8C=3 +\xspcode"8D=3 +\xspcode"8E=3 +\xspcode"8F=3 +\xspcode"90=3 +\xspcode"91=3 +\xspcode"92=3 +\xspcode"93=3 +\xspcode"94=3 +\xspcode"95=3 +\xspcode"96=3 +\xspcode"97=3 +\xspcode"98=3 +\xspcode"99=3 +\xspcode"9A=3 +\xspcode"9B=3 +\xspcode"9C=3 +\xspcode"9D=3 +\xspcode"9E=3 +\xspcode"9F=3 +\xspcode"A0=3 +\xspcode"A1=3 +\xspcode"A2=3 +\xspcode"A3=3 +\xspcode"A4=3 +\xspcode"A5=3 +\xspcode"A6=3 +\xspcode"A7=3 +\xspcode"A8=3 +\xspcode"A9=3 +\xspcode"AA=3 +\xspcode"AB=3 +\xspcode"AC=3 +\xspcode"AD=3 +\xspcode"AE=3 +\xspcode"AF=3 +\xspcode"B0=3 +\xspcode"B1=3 +\xspcode"B2=3 +\xspcode"B3=3 +\xspcode"B4=3 +\xspcode"B5=3 +\xspcode"B6=3 +\xspcode"B7=3 +\xspcode"B8=3 +\xspcode"B9=3 +\xspcode"BA=3 +\xspcode"BB=3 +\xspcode"BC=3 +\xspcode"BD=3 +\xspcode"BE=3 +\xspcode"BF=3 +\xspcode"C0=3 +\xspcode"C1=3 +\xspcode"C2=3 +\xspcode"C3=3 +\xspcode"C4=3 +\xspcode"C5=3 +\xspcode"C6=3 +\xspcode"C7=3 +\xspcode"C8=3 +\xspcode"C9=3 +\xspcode"CA=3 +\xspcode"CB=3 +\xspcode"CC=3 +\xspcode"CD=3 +\xspcode"CE=3 +\xspcode"CF=3 +\xspcode"D0=3 +\xspcode"D1=3 +\xspcode"D2=3 +\xspcode"D3=3 +\xspcode"D4=3 +\xspcode"D5=3 +\xspcode"D6=3 +\xspcode"D7=3 +\xspcode"D8=3 +\xspcode"D9=3 +\xspcode"DA=3 +\xspcode"DB=3 +\xspcode"DC=3 +\xspcode"DD=3 +\xspcode"DE=3 +\xspcode"DF=3 +\xspcode"E0=3 +\xspcode"E1=3 +\xspcode"E2=3 +\xspcode"E3=3 +\xspcode"E4=3 +\xspcode"E5=3 +\xspcode"E6=3 +\xspcode"E7=3 +\xspcode"E8=3 +\xspcode"E9=3 +\xspcode"EA=3 +\xspcode"EB=3 +\xspcode"EC=3 +\xspcode"ED=3 +\xspcode"EE=3 +\xspcode"EF=3 +\xspcode"F0=3 +\xspcode"F1=3 +\xspcode"F2=3 +\xspcode"F3=3 +\xspcode"F4=3 +\xspcode"F5=3 +\xspcode"F6=3 +\xspcode"F7=3 +\xspcode"F8=3 +\xspcode"F9=3 +\xspcode"FA=3 +\xspcode"FB=3 +\xspcode"FC=3 +\xspcode"FD=3 +\xspcode"FE=3 +\xspcode"FF=3 +% \end{macrocode} +% % \subsection{ある漢字と前後の英字の間の制御} % ここでは、漢字に対する設定を行なっています。 % diff --git a/Master/texmf-dist/source/platex/base/platex.dtx b/Master/texmf-dist/source/platex/base/platex.dtx index 41b23e3de02..f7e2f9fa8af 100644 --- a/Master/texmf-dist/source/platex/base/platex.dtx +++ b/Master/texmf-dist/source/platex/base/platex.dtx @@ -10,7 +10,7 @@ % % \fi % -% \CheckSum{373} +% \CheckSum{376} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -29,10 +29,12 @@ %% % % \setcounter{StandardModuleDepth}{1} -% \def\chuui#1{\par\vskip.5\baselineskip -% \noindent\bfseries{注意:}\par -% \noindent\bgroup\gtfamily\sffamily#1} +% \makeatletter +% \def\chuui{\@ifnextchar[{\@chuui}{\@chuui[注意:]}} +% \def\@chuui[#1]{\par\vskip.5\baselineskip +% \noindent{\em #1}\par\bgroup\gtfamily\sffamily} % \def\endchuui{\egroup\vskip.5\baselineskip} +% \makeatother % \def\pTeX{p\kern-.15em\TeX} % \def\epTeX{$\varepsilon$-\pTeX} % \def\pLaTeX{p\kern-.05em\LaTeX} @@ -51,13 +53,16 @@ % \changes{v1.0f}{2016/04/12}{ドキュメントを更新} % \changes{v1.0g}{2016/05/07}{フォーマット作成時に\LaTeX{}のバナーを一旦保存} % \changes{v1.0h}{2016/05/08}{ドキュメントから\file{plpatch.ltx}を除外} +% \changes{v1.0i}{2016/05/12}{一時コマンド\cs{orgdump}を最終的に未定義へ} +% \changes{v1.0j}{2016/05/20}{pfltraceの説明を追加} +% \changes{v1.0k}{2016/05/21}{変更履歴も出力するようにした} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{platex.dtx}[2016/05/08 v1.0h pLaTeX document file] +\ProvidesFile{platex.dtx}[2016/05/21 v1.0k pLaTeX document file] % \iffalse \documentclass{jltxdoc} \usepackage{plext} @@ -65,15 +70,47 @@ \title{p\LaTeXe{}について} \author{Ken Nakano \& Japanese \TeX\ Development Community} \date{作成日:\filedate} +\renewcommand{\refname}{参考文献} +\GlossaryPrologue{\section*{変更履歴}% + \markboth{変更履歴}{変更履歴}% + \addcontentsline{toc}{section}{変更履歴}} +\makeatletter +\def\levelchar{>・} +\def\changes@#1#2#3{% + \let\protect\@unexpandable@protect + \edef\@tempa{\noexpand\glossary{#2\space#1\levelchar + \ifx\saved@macroname\@empty +% \space\actualchar\generalname: %% comment out (platex.dtx only) + \else + \expandafter\@gobble + \saved@macroname\actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar: + \fi + #3}}% + \@tempa\endgroup\@esphack} +\makeatother +\RecordChanges \begin{document} \MakeShortVerb{\+} \maketitle \DocInput{\filename} + \StopEventually{\end{document}} + \clearpage + % Make TeX shut up. + \hbadness=10000 + \newcount\hbadness + \hfuzz=\maxdimen + \PrintChanges + \let\PrintChanges\relax \end{document} % % \fi % % +% \changes{v1.0f}{2016/04/12}{ドキュメントを更新} +% \changes{v1.0k}{2016/05/21}{変更履歴も出力するようにした} % \begin{chuui} % これは、株式会社アスキー(現アスキー・メディアワークス\footnote{アスキー % 日本語\TeX{}(\pTeX{})、\texttt{http://ascii.asciimw.jp/pb/ptex/}})が @@ -96,10 +133,7 @@ % してください。\TeX\ ForumやGitHubのIssueシステムが利用できます。 % % この文書(platex.pdf)はコミュニティ版\pLaTeX{}の概要を説明した -% もの\footnote{ただし、アスキーの中野さんによって書かれた古い -% 文書を一部アップデートしたものですので、最近の状況に即してい -% ない部分が残っているかもしれません。}で、実際の\pLaTeX{}の -% ソースコードはpldoc.pdfで説明しています。 +% もので、実際の\pLaTeX{}のソースコードはpldoc.pdfで説明しています。 % % % \clearpage @@ -108,6 +142,8 @@ % この文書は、p\LaTeXe{}の概要を示していますが、使い方のガイドでは % ありません。p\LaTeXe{}の機能についての説明は、\cite{platex2e-book}を % 参照してください。日本語\TeX{}については\cite{jtex-tech}を参照してください。 +% \changes{v1.0}{1995/05/08}{first edition} +% \changes{v1.0a}{1995/08/25}{互換性について、\dst{}の使い方、参考文献を追加} % % p\LaTeXe{}では\cite{tate-book}で説明されている、いくつかの拡張コマンドの % 動作を修正しています。その詳細については、\file{plext.dtx}を参照して @@ -121,8 +157,7 @@ % \begin{quote} % \begin{description} % \item[第\ref{platex:intro}節] -% この節です。この文書についての概要と、 -% \dst{}のためのオプションについて述べています。 +% この節です。この文書についての概要を述べています。 % % \item[第\ref{platex:plcore}節] % p\LaTeXe{}で拡張した機能についての概要です。 @@ -132,9 +167,12 @@ % \item[第\ref{platex:compatibility}節] % 旧バージョンのp\LaTeX{}との互換性について述べています。 % +% \item[付録\ref{app:dst}] +% この文書ソースの\dst{}のためのオプションについて述べています。 +% % \item[付録\ref{app:pldoc}] % p\LaTeXe{}のdtxファイルをまとめて一つのDVIファイルにするための -% 文書ファイル説明をしています。 +% 文書ファイルの説明をしています。 % % \item[付録\ref{app:omake}] % 付録\ref{app:pldoc}で説明をした文書ファイルを処理するshスクリプト(手順)、 @@ -144,56 +182,6 @@ % \end{quote} % % -% \subsection{\dst{}プログラムのためのオプション} -% この文書を\dst{}プログラムによって処理することによって、 -% いくつかの異なるファイルを生成することができます。 -% -% この文書の\dst{}プログラムのためのオプションは、次のとおりです。 -% -% \DeleteShortVerb{\|} -% \begin{center} -% \begin{tabular}{l|p{.8\linewidth}} -% \emph{オプション} & \emph{意味}\\\hline -% plcore & フォーマットファイルを作るためのファイルを生成\\ -% pldoc & p\LaTeXe{}のソースファイルをまとめて組版するための -% 文書ファイルを生成\\[2mm] -% shprog & 上記のファイルを作成するためのshスクリプトを生成\\ -% plprog & 入れ子構造を調べる簡単なperlスクリプトを生成\\ -% Xins & 上記のshスクリプトやperlスクリプトを取り出すための -% \dst{}バッチファイルを生成\\ -% \end{tabular} -% \end{center} -% \MakeShortVerb{\|} -% -% \subsubsection{ファイルの取り出し方} -% -% たとえば、この文書の``plcore''の部分を``\file{platex.ltx}''という -% ファイルにするときの手順はつぎのようになります。 -% -% \begin{enumerate} -% \item platex docstrip -% \item 入力ファイルの拡張子(dtx)を入力する。 -% \item 出力ファイルの拡張子(ltx)を入力する。 -% \item \dst{}オプション(plcore)を入力する。 -% \item 入力ファイル名(platex)を入力する。 -% \item \file{platex.ltx}が存在する場合は、確認を求めてくるので、 -% ``y''を入力する。 -% \item 別の処理を行なうかを問われるので、``n''を入力する。 -% \end{enumerate} -% これで、\file{platex.ltx}が作られます。 -% -% あるいは、次のような内容のファイル\file{batch.ins}を作成し、 -% |platex fmt.ins|することでも\file{platex.ltx}を作ることができます。 -% -% \begin{verbatim} -% \def\batchfile{batch.ins} -% \input docstrip.tex -% \generateFile{platex.ltx}{t}{\from{platex.dtx}{plcore}} -% \end{verbatim} -% -% \dst プログラムの詳細は、\file{docstrip.dtx}を参照してください。 -% -% % % \section{p\LaTeXe{}の機能について}\label{platex:plcore} % p\LaTeXe{}の機能は、いくつものファイルに分割されて実装されています。 @@ -210,6 +198,12 @@ % 実行時の速度を高めるために、あらかじめ\TeX の内部形式の形で保存されて % います。 % +% クラスファイルは文書のレイアウトを設定するファイル、 +% パッケージファイルはマクロの拡張を定義するファイルです。 +% 前者は|\documentclass|コマンドを用いて読み込み、 +% 後者は|\usepackage|コマンドを用いて読み込みます。 +% +% \begin{chuui}[古いp\LaTeX~2.09ユーザへの注意:]\normalfont % クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた % ものです。\LaTeXe{}ではそれらを、レイアウトに関するものをクラスファイルと % 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように @@ -224,14 +218,21 @@ % % 旧版では、|\documentstyle|のオプションでマクロファイルを読み込んで % いましたが、\LaTeX{}では、|\usepackage|コマンドを用いて読み込みます。 +% \end{chuui} % % \subsection{フォーマットファイル} % フォーマットファイルには、基本的な機能が定義されていますが、 % これらは\TeX{}の内部形式に変換された形式となっています。 % フォーマットファイルを作成するには、 % ソースファイル``platex.ltx''を|iniptex|プログラムで処理します。 +% ただし、\TeX\ LiveやW32\TeX{}ではこの処理を簡単にする|fmtutil|あるいは +% |fmtutil-sys|というプログラムが用意されています。 +% 以下を実行すれば、フォーマットファイル\file{platex.fmt}が作成されます。 +% \begin{verbatim} +% fmtutil --byfmt platex +% \end{verbatim} % -% 次のリストが、その内容です。 +% 次のリストが、``platex.ltx''の内容です。 % ただし、このバージョンでは、\LaTeX{}からp\LaTeXe{}への拡張を % \file{plcore.ltx}をロードすることで行ない、 % \file{latex.ltx}には直接、手を加えないようにしています。 @@ -239,6 +240,7 @@ % \file{latex.ltx}には\LaTeX{}のコマンドが、 % \file{plcore.ltx}にはp\LaTeXe{}で拡張したコマンドが定義されています。 % \changes{v1.0g}{2016/05/07}{フォーマット作成時に\LaTeX{}のバナーを一旦保存} +% \changes{v1.0i}{2016/05/12}{一時コマンド\cs{orgdump}を最終的に未定義へ} % % \begin{macrocode} %<*plcore> @@ -253,9 +255,10 @@ **************************} \makeatletter \input plcore.ltx -\makeatother \the\everyjob \let\dump\orgdump +\let\orgdump\@undefined +\makeatother \dump %\endinput % @@ -323,17 +326,18 @@ % % % \subsection{クラスファイルとパッケージファイル} -% クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた -% ものです。\LaTeX{}ではそれらを、レイアウトに関するものをクラスファイルと -% 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように -% なりました。 +% ^^A クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた +% ^^A ものです。\LaTeX{}ではそれらを、レイアウトに関するものをクラスファイルと +% ^^A 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように +% ^^A なりました。 % % p\LaTeXe{}が提供をする、クラスファイルやパッケージファイルのいくつかは、 % オリジナルのファイルを修正しています。 -% 修正箇所には``\texttt{platex}''条件が付けられています。 +% ^^A 修正箇所には``\texttt{platex}''条件が付けられています。 % % p\LaTeXe{}に付属のクラスファイルは、次のとおりです。 % \changes{v1.0d}{2016/01/27}{p\LaTeXe{}に付属するファイルの説明を更新} +% \changes{v1.0j}{2016/05/20}{pfltraceの説明を追加} % % \begin{itemize} % \item jbook.cls, jarticle.cls, jreport.cls\par @@ -343,26 +347,36 @@ % 縦組用の標準クラスファイル。\file{jclasses.dtx}から作成される。 % % \item jltxdoc.cls\par -% \file{.dtx}ファイルを組版するためのクラスファイル。 +% 日本語の\file{.dtx}ファイルを組版するためのクラスファイル。 % \file{jltxdoc.dtx}から作成される。 % \end{itemize} % % また、p\LaTeXe{}に付属のパッケージファイルは、次のとおりです。 % % \begin{itemize} +% \item plext.sty\par +% 縦組用の拡張コマンドなどが定義されているファイル。 +% % \item oldpfont.sty\par -% p\LaTeX~2.09のフォントコマンドを提供するパッケージ。 -% \file{pl209.dtx}から作成される。 +% p\LaTeX~2.09のフォントコマンドを提供するパッケージ。 +% \file{pl209.dtx}から作成される。 % % \item ptrace.sty\par -% \file{tracefnt.sty}で再定義された\NFSS2コマンドをp\LaTeXe{}用に -% 再々定義するためのパッケージ。 +% \LaTeX{}でフォント選択コマンドのトレースに使う\file{tracefnt.sty}が +% 再定義してしまう\NFSS2コマンドを、p\LaTeXe{}用に再々定義するための +% パッケージ。 +% \file{plfonts.dtx}から作成される。 % -% \item ascmac.sty, tascmac.sty\par -% 旧バージョンのp\LaTeX{}で配布されていたファイル。 +% \item pfltrace.sty\par +% \LaTeX{}でフロート関連コマンドのトレースに使う\file{fltrace.sty}% +% \footnote{\LaTeX\ 2014/05/01で追加されました。参考: +% \LaTeXe\ News Issue 21 (ltnews21.tex)}が再定義してしまうコマンド +% を、p\LaTeXe{}用に再々定義するためのパッケージ。 +% \file{plcore.dtx}から作成される。 % -% \item plext.sty\par -% 縦組用の拡張コマンドなどが定義されているファイル。 +% \item ascmac.sty, tascmac.sty\par +% \LaTeX{}の標準機能の範囲で、図や罫線で囲んだボックスを出力する命令 +% などを提供するパッケージ。旧バージョンのp\LaTeX{}でも配布されていた。 % % \item nidanfloat.sty\par % 二段組時に段抜きのフロートをページ下部にも配置可能にする @@ -402,6 +416,55 @@ % % \appendix % +% \section{\dst{}プログラムのためのオプション}\label{app:dst} +% この文書のソース(platex.dtx)を\dst{}プログラムによって処理することによって、 +% いくつかの異なるファイルを生成することができます。 +% \dst プログラムの詳細は、\file{docstrip.dtx}を参照してください。 +% +% この文書の\dst{}プログラムのためのオプションは、次のとおりです。 +% +% \DeleteShortVerb{\|} +% \begin{center} +% \begin{tabular}{l|p{.8\linewidth}} +% \emph{オプション} & \emph{意味}\\\hline +% plcore & フォーマットファイルを作るためのファイルを生成\\ +% pldoc & p\LaTeXe{}のソースファイルをまとめて組版するための +% 文書ファイルを生成\\[2mm] +% shprog & 上記のファイルを作成するためのshスクリプトを生成\\ +% plprog & 入れ子構造を調べる簡単なperlスクリプトを生成\\ +% Xins & 上記のshスクリプトやperlスクリプトを取り出すための +% \dst{}バッチファイルを生成\\ +% \end{tabular} +% \end{center} +% \MakeShortVerb{\|} +% +% \subsection{ファイルの取り出し方} +% +% たとえば、この文書の``plcore''の部分を``\file{platex.ltx}''という +% ファイルにするときの手順はつぎのようになります。 +% +% \begin{enumerate} +% \item platex docstrip +% \item 入力ファイルの拡張子(dtx)を入力する。 +% \item 出力ファイルの拡張子(ltx)を入力する。 +% \item \dst{}オプション(plcore)を入力する。 +% \item 入力ファイル名(platex)を入力する。 +% \item \file{platex.ltx}が存在する場合は、確認を求めてくるので、 +% ``y''を入力する。 +% \item 別の処理を行なうかを問われるので、``n''を入力する。 +% \end{enumerate} +% これで、\file{platex.ltx}が作られます。 +% +% あるいは、次のような内容のファイル\file{fmt.ins}を作成し、 +% |platex fmt.ins|することでも\file{platex.ltx}を作ることができます。 +% +% \begin{verbatim} +% \def\batchfile{fmt.ins} +% \input docstrip.tex +% \generateFile{platex.ltx}{t}{\from{platex.dtx}{plcore}} +% \end{verbatim} +% +% % \section{文書ファイル}\label{app:pldoc} % \changes{v1.0c}{1997/01/25}{Add to filecontents environment for pldoc.dic.} % ここでは、このパッケージに含まれているdtxファイルをまとめて組版をするための @@ -489,6 +552,7 @@ % \end{macrocode} % ここからが本文ページとなります。 % \changes{v1.0c}{1997/01/29}{Rename pltpatch to plpatch.} +% \changes{v1.0h}{2016/05/08}{ドキュメントから\file{plpatch.ltx}を除外} % \begin{macrocode} \begin{document} \title{The p\LaTeXe\ Sources} @@ -602,14 +666,10 @@ % \section{おまけプログラム}\label{app:omake} % % \subsection{シェルスクリプト\file{mkpldoc.sh}}\label{app:shprog} -% ここでは、p\LaTeXe{}のマクロ定義ファイルをまとめて組版するときに便利な、 -% シェルスクリプト\footnote{このシェルスクリプトはUNIX用です。 +% p\LaTeXe{}のマクロ定義ファイルをまとめて組版するときに便利なシェルスクリプトです。 +% このシェルスクリプト\footnote{このシェルスクリプトはUNIX用です。 % しかしrmコマンドをdeleteコマンドにするなどすれば、簡単にDOSなどのバッチ -% ファイルに修正することができます。}について説明をしています。 -% また、このシェルスクリプトを取り出すための、 -% \dst{}バッチファイルについても説明をしています。 -% -% このシェルスクリプトの使用方法は次のとおりです。 +% ファイルに修正することができます。}の使用方法は次のとおりです。 % \begin{verbatim} % sh mkpldoc.sh % \end{verbatim} diff --git a/Master/texmf-dist/source/platex/base/platexrelease.dtx b/Master/texmf-dist/source/platex/base/platexrelease.dtx index 4a047535049..650487e8343 100644 --- a/Master/texmf-dist/source/platex/base/platexrelease.dtx +++ b/Master/texmf-dist/source/platex/base/platexrelease.dtx @@ -8,7 +8,7 @@ % % \fi % -% \CheckSum{108} +% \CheckSum{122} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -31,6 +31,8 @@ % \changes{v1.0a}{2016/02/03}{latexreleaseをもとにplatexreleaseとして拡張} % \changes{v1.0b}{2016/02/16}{latexreleaseのバージョン確認を導入} % \changes{v1.0c}{2016/04/12}{ドキュメントを更新} +% \changes{v1.0d}{2016/06/08}{p\LaTeX\ \texttt{!<2016/04/17!>}版と +% p\LaTeX\ \texttt{!<2016/05/07!>}版に警告} % \fi % % \iffalse @@ -39,7 +41,7 @@ \ProvidesFile{platexrelease.dtx} % %\ProvidesPackage{platexrelease} - [2016/04/12 v1.0c latexrelease support for pLaTeX Kernel] + [2016/06/08 v1.0d latexrelease support for pLaTeX Kernel] %<*driver> \documentclass{jltxdoc} \GetFileInfo{platexrelease.dtx} @@ -296,6 +298,28 @@ of this package available from CTAN} % % このあとは、p\LaTeXe{}のカーネルの変更点を示すコードが入ります。 % +% \section{注意:p\LaTeXe{}のバグ情報} +% +% 以下の日付のp\LaTeXe{}にはcriticalなバグがあることを、 +% 日本語\TeX{}開発コミュニティが把握しています。 +% エミュレートしようと考えている場合は、注意してください。 +% \changes{v1.0d}{2016/06/08}{p\LaTeX\ \texttt{!<2016/04/17!>}版と +% p\LaTeX\ \texttt{!<2016/05/07!>}版に警告} +% +% \begin{macrocode} +\plIncludeInRelease{2016/06/10}{\PackageWarning}{pLaTeX Info}% +\plEndIncludeInRelease +\plIncludeInRelease{2016/04/17}{\PackageWarning}{pLaTeX Info}% + \PackageWarningNoLine{platexrelease}{% + You selected pLaTeX2e <\pfmtversion>, but\MessageBreak + this version of pLaTeX2e is known to have\MessageBreak + some critical bugs. We advise you to\MessageBreak + select another format date} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\PackageWarning}{pLaTeX Info}% +\plEndIncludeInRelease +% \end{macrocode} +% % \Finale % \endinput diff --git a/Master/texmf-dist/source/platex/base/platexrelease.ins b/Master/texmf-dist/source/platex/base/platexrelease.ins index 1d184f2a749..fccdc2ae146 100644 --- a/Master/texmf-dist/source/platex/base/platexrelease.ins +++ b/Master/texmf-dist/source/platex/base/platexrelease.ins @@ -7,7 +7,6 @@ \preamble -Copyright (c) 2010 ASCII MEDIA WORKS Copyright (c) 2016 Japanese TeX Development Community This file is part of the pLaTeX2e system (community edition). diff --git a/Master/texmf-dist/source/platex/base/plcore.dtx b/Master/texmf-dist/source/platex/base/plcore.dtx index 5ab84bf4a36..b0cb34d7e46 100644 --- a/Master/texmf-dist/source/platex/base/plcore.dtx +++ b/Master/texmf-dist/source/platex/base/plcore.dtx @@ -10,7 +10,7 @@ % % \fi % -% \CheckSum{1266} +% \CheckSum{1269} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -57,13 +57,15 @@ % \changes{v1.2c}{2016/02/28}{1.2bと同様の修正を % tabular環境、\cs{parbox}命令、\cs{underline}命令にも行った} % \changes{v1.2d}{2016/04/01}{multicolパッケージを使うとトンボの下端が縮む問題を修正} +% \changes{v1.2e}{2016/05/20}{\file{fltrace}パッケージのp\LaTeX{}版 +% として\file{pfltrace}パッケージを新設} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{plcore.dtx}[2016/04/01 v1.2d pLaTeX core file] +\ProvidesFile{plcore.dtx}[2016/05/20 v1.2e pLaTeX core file] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plcore.dtx} @@ -225,6 +227,7 @@ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null \ignorespaces \fi} +% % \end{macrocode} % % \subsection{オブジェクトの出力順序} @@ -236,11 +239,25 @@ % したがって、文書ファイルによっては\LaTeX{}の組版結果と異なる場合が % ありますので、注意をしてください。 % +% 2014年に\LaTeX{}に\file{fltrace}パッケージが追加されましたので、 +% そのp\LaTeX{}版として\file{pfltrace}パッケージを追加します。 +% この\file{pfltrace}パッケージは\LaTeX{}の\file{fltrace}パッケージに +% 依存します。 +% \changes{v1.2e}{2016/05/20}{\file{fltrace}パッケージのp\LaTeX{}版 +% として\file{pfltrace}パッケージを新設} +% \begin{macrocode} +%<*fltrace> +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{pfltrace} + [2016/05/20 v1.2e Standard pLaTeX package (float tracing)] +\RequirePackageWithOptions{fltrace} +% +% \end{macrocode} +% % \begin{macro}{\@makecol} % このマクロが組み立てる部分の中心となります。 % \file{ltoutput.dtx}で定義されているものです。 % \begin{macrocode} -% %\plIncludeInRelease{2016/04/17}{\@makecol}{\@makecol}% %<*plcore|platexrelease> \gdef\@makecol{% @@ -323,13 +340,13 @@ % |\@makespecialcolbox|コマンドも修正をします。 % やはり、\file{ltoutput.dtx}で定義されているものです。 % -% このマクロは、|\enlargedthispage|が使われたときに、 +% このマクロは、|\enlargethispage|が使われたときに、 % |\@makecol|マクロから呼び出されます。 % \begin{macrocode} %<*plcore|fltrace> \gdef\@makespecialcolbox{% %<*trace> - \tr@ce{Krudgeins ht \the\ht\@kludgeins\space + \fl@trace{Krudgeins ht \the\ht\@kludgeins\space dp \the\dp\@kludgeins\space wd \the\wd\@kludgeins}% % @@ -344,10 +361,10 @@ \advance \@tempdima -\ht\@outputbox \advance \@tempdima \pageshrink %<*trace> - \tr@ce {Natural ht of col: \the\ht\@outputbox}% - \tr@ce {\string \@colht: \the\@colht}% - \tr@ce {Pageshrink added: \the\pageshrink}% - \tr@ce {Hence, space added: \the\@tempdima}% + \fl@trace {Natural ht of col: \the\ht\@outputbox}% + \fl@trace {\string \@colht: \the\@colht}% + \fl@trace {Pageshrink added: \the\pageshrink}% + \fl@trace {Hence, space added: \the\@tempdima}% % \setbox\@outputbox \vbox to \@colht {% % \boxmaxdepth \maxdepth @@ -370,11 +387,11 @@ \else \advance \@tempdima -\ht\@kludgeins %<*trace> - \tr@ce {Natural ht of col: \the\ht\@outputbox}% - \tr@ce {\string \@colht: \the\@colht}% - \tr@ce {Extra size added: -\the \ht \@kludgeins}% - \tr@ce {Hence, height of inner box: \the\@tempdima}% - \tr@ce {Max? pageshrink available: \the\pageshrink}% + \fl@trace {Natural ht of col: \the\ht\@outputbox}% + \fl@trace {\string \@colht: \the\@colht}% + \fl@trace {Extra size added: -\the \ht \@kludgeins}% + \fl@trace {Hence, height of inner box: \the\@tempdima}% + \fl@trace {Max? pageshrink available: \the\pageshrink}% % \setbox \@outputbox \vbox to \@colht {% \vbox to \@tempdima {% diff --git a/Master/texmf-dist/source/platex/base/plfmt.ins b/Master/texmf-dist/source/platex/base/plfmt.ins index 526fb0b4e30..3d5689c16b6 100644 --- a/Master/texmf-dist/source/platex/base/plfmt.ins +++ b/Master/texmf-dist/source/platex/base/plfmt.ins @@ -29,6 +29,7 @@ This file is part of the pLaTeX2e system (community edition). \file{jt1gt.fd}{\from{plfonts.dtx}{JT1gt}} \file{plext.sty}{\from{plext.dtx}{package}} \file{ptrace.sty}{\from{plfonts.dtx}{trace}} + \file{pfltrace.sty}{\from{plcore.dtx}{fltrace,trace}} } \endbatchfile diff --git a/Master/texmf-dist/source/platex/base/plfonts.dtx b/Master/texmf-dist/source/platex/base/plfonts.dtx index e43b05c988d..1e63249ef9a 100644 --- a/Master/texmf-dist/source/platex/base/plfonts.dtx +++ b/Master/texmf-dist/source/platex/base/plfonts.dtx @@ -10,7 +10,7 @@ % % \fi % -% \CheckSum{1811} +% \CheckSum{2030} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -69,13 +69,15 @@ % \cs{AA}など一部の合成文字がおかしくなることへの対応。} % \changes{v1.6b}{2016/04/30}{ptrace.styの冒頭でtracefnt.styを % \cs{RequirePackageWithOptions}するようにした} +% \changes{v1.6c}{2016/06/06}{v1.6aでの修正で\'e など全てのアクセント付き文字で +% 周囲に\cs{xkanjiskip}が入らなくなっていたのを修正。} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{plfonts.dtx}[2016/04/30 v1.6b pLaTeX New Font Selection Scheme] +\ProvidesFile{plfonts.dtx}[2016/06/06 v1.6c pLaTeX New Font Selection Scheme] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plfonts.dtx} @@ -1637,51 +1639,152 @@ % \begin{macrocode} %<*pldefs> \ProvidesFile{pldefs.ltx} - [2016/04/01 v1.6a pLaTeX Kernel (Default settings)] + [2016/06/06 v1.6c pLaTeX Kernel (Default settings)] +% % \end{macrocode} % % \subsection{合成文字} -% \begin{macro}{\@text@composite} -% \begin{macro}{\@text@composite@x} % \LaTeXe{}のカーネルのコードをそのまま使うと、p\TeX{}のベースライン % 補正量がゼロでないときに合成文字がおかしくなっていたため、対策します。 -% \changes{v1.6a}{2016/04/01}{ベースライン補正量が0でないときに -% \cs{AA}など一部の合成文字がおかしくなることへの対応。} % \begin{macrocode} -% -%\plIncludeInRelease{2016/04/17}{\@text@composite} +%\plIncludeInRelease{2016/06/10}{\@text@composite} % {Fix for non-zero baselineshift}% %<*pldefs|platexrelease> -\def\@text@composite#1#2#3#{% - \begingroup - \setbox\z@=\hbox\bgroup% - \ybaselineshift\z@\tbaselineshift\z@ - \expandafter\@text@composite@x - \csname\string#1-\string#2\endcsname} +% \end{macrocode} +% \begin{macro}{\g@tlastchart@} +% \TeX\ Live 2015で追加された\cs{lastnodechar}を利用して、 +% 「直前の文字」の符号位置を得るコードです。\cs{lastnodechar}が未定義の場合は +% $-1$が返ります。 +% \changes{v1.6c}{2016/06/06}{マクロ追加} +% \begin{macrocode} +\def\g@tlastchart@#1{#1\ifx\lastnodechar\@undefined\m@ne\else\lastnodechar\fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pltx@isletter} +% 第一引数のマクロ(|#1|)の置換テキストが、カテゴリコード11か12の文字トークン1文字であった +% 場合に第二引数の内容に展開され、そうでない場合は第三引数の内容に展開されます。 +% \changes{v1.6c}{2016/06/06}{マクロ追加} +% \begin{macrocode} +\def\pltx@mark{\pltx@mark@} +\let\pltx@scanstop\relax +\long\def\pltx@cond#1\fi{% + #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} +\long\def\pltx@isletter#1{% + \expandafter\pltx@isletter@i\romannumeral-`0#1\pltx@scanstop} +\long\def\pltx@isletter@i#1\pltx@scanstop{% + \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}% + {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}} +\long\def\pltx@isletter@ii#1\pltx@scanstop#{% + \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi% + {\pltx@isletter@iii}{\pltx@isletter@iv}} +\long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo} +\long\def\pltx@isletter@iv#1#2#3\pltx@mark{% + \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{% + \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi + {\@firstoftwo}{\@secondoftwo}% + }{\@secondoftwo}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@text@composite} +% \begin{macro}{\@text@composite@x} +% \changes{v1.6a}{2016/04/01}{ベースライン補正量が0でないときに +% \cs{AA}など一部の合成文字がおかしくなることへの対応。} +% \changes{v1.6c}{2016/06/06}{v1.6aでの修正で\'e など全てのアクセント付き文字で +% 周囲に\cs{xkanjiskip}が入らなくなっていたのを修正。} +% \begin{macrocode} +%\def\@text@composite#1#2#3\@text@composite{% +% \expandafter\@text@composite@x +% \csname\string#1-\string#2\endcsname} \def\@text@composite@x#1#2{% \ifx#1\relax - \expandafter\@secondoftwo - \else - \expandafter\@firstoftwo - \fi - #1{#2}\egroup - \leavevmode - \expandafter\lower - \iftdir - \ifmdir - \ifmmode\tbaselineshift\else\ybaselineshift\fi - \else - \tbaselineshift - \fi + #2% + \else\pltx@isletter{#1}{#1}{% + \begingroup + \setbox\z@\hbox\bgroup% + \ybaselineshift\z@\tbaselineshift\z@ + #1% + \g@tlastchart@\@tempcntb + \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}% + \aftergroup\pltx@composite@temp + \egroup +% \end{macrocode} +% \begin{macrocode} + \ifnum\@tempcntb<\z@ + \@tempdima=\iftdir + \ifmdir + \ifmmode\tbaselineshift\else\ybaselineshift\fi + \else + \tbaselineshift + \fi + \else + \ybaselineshift + \fi + \@tempcntb=\@cclvi + \else\@tempdima=\z@ + \fi +% \end{macrocode} +% アクセントが付く「本体の文字」が欧文文字と推測される場合には、 +% 一旦数式モードに入ることによって\cs{xkanjiskip}が前後に入るようにします。 +% 必要なら、数式モードの前後に\cs{null}を補って\cs{xkanjiskip}の挿入を抑制します。 +% \begin{macrocode} + \ifnum\@tempcntb<\@cclvi + \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi + \ifodd\xspcode\@tempcntb\else\leavevmode\hbox{}\fi + \fi\fi + \begingroup\mathsurround\z@$% + \ifx\textbaselineshiftfactor\@undefined\else + \textbaselineshiftfactor\z@\fi + \box\z@ + $\endgroup% + \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi + \ifnum\xspcode\@tempcntb<2\hbox{}\fi + \fi\fi +% \end{macrocode} +% \begin{macrocode} \else - \ybaselineshift + \ifdim\@tempdima=\z@{\ybaselineshift\z@\tbaselineshift\z@#1}% + \else\lower\@tempdima\box\z@\fi \fi - \box\z@ - \endgroup} + \endgroup}% + \fi +} % %\plEndIncludeInRelease +%\plIncludeInRelease{2016/04/17}{\@text@composite} +% {Fix for non-zero baselineshift}% +%\let\g@tlastchart@\@undefined +%\let\pltx@isletter\@undefined +%\def\@text@composite#1#2#3#{% +% \begingroup +% \setbox\z@=\hbox\bgroup% +% \ybaselineshift\z@\tbaselineshift\z@ +% \expandafter\@text@composite@x +% \csname\string#1-\string#2\endcsname} +%\def\@text@composite@x#1#2{% +% \ifx#1\relax +% \expandafter\@secondoftwo +% \else +% \expandafter\@firstoftwo +% \fi +% #1{#2}\egroup +% \leavevmode +% \expandafter\lower +% \iftdir +% \ifmdir +% \ifmmode\tbaselineshift\else\ybaselineshift\fi +% \else +% \tbaselineshift +% \fi +% \else +% \ybaselineshift +% \fi +% \box\z@ +% \endgroup} +%\plEndIncludeInRelease %\plIncludeInRelease{0000/00/00}{\@text@composite} % {Fix for non-zero baselineshift}% +%\let\g@tlastchart@\@undefined +%\let\pltx@isletter\@undefined %\def\@text@composite#1#2#3\@text@composite{% % \expandafter\@text@composite@x % \csname\string#1-\string#2\endcsname} diff --git a/Master/texmf-dist/source/platex/base/plnewsc01.tex b/Master/texmf-dist/source/platex/base/plnewsc01.tex new file mode 100644 index 00000000000..a84f5016ba1 --- /dev/null +++ b/Master/texmf-dist/source/platex/base/plnewsc01.tex @@ -0,0 +1,150 @@ +%% <2016/05/07> +\documentclass{plnews} + +\publicationyear{2016}% 発行年 +\publicationmonth{05}% 発行月 +\publicationissue{c1}% 番号 +\author{日本語\TeX{}開発コミュニティ(\texttt{https://texjp.org/})} + +\def\pTeX{p\kern-.15em\TeX} +\def\epTeX{$\varepsilon$-\pTeX} +\def\pLaTeX{p\kern-.05em\LaTeX} +\def\pLaTeXe{p\kern-.05em\LaTeXe} + +\begin{document} + +\maketitle + +\section{この文書について} +この文書は\pLaTeXe\ \texttt{<2016/05/07>} community editionについて、 +アスキー版\texttt{<2006/11/10>}からの更新箇所をまとめたものです。 +以前のアスキー版の変更点については、 +\file{plnews*.tex}や\file{Changes\_asciimw.txt}を参照してください。 +今後のコミュニティ版の変更点については、\file{plnewsc*.tex}で説明します。 +\LaTeX{}レベルでの更新箇所は、\LaTeX{}に付属の\file{ltnews*.tex}などを +参照してください。 + + +\section{コミュニティ版p\LaTeX{}の説明} +元々の\pLaTeX{}は、株式会社アスキー(現アスキー・メディアワークス)が +日本語化した\pTeX{}エンジンとともに配布していた、日本語版\LaTeX{}です。 +ここでは、これを「アスキー版\pLaTeX{}」と呼びます。 + +\pTeX{}は横組だけでなく縦組にも対応した高品質の日本語組版ソフトウェアと +して、デファクトスタンダードの地位にあるといえます。 +この\pTeX{}やその上で動く\pLaTeX{}は長らく日本国内での利用にとどまってい +ましたが、2010年に国際的な\TeX\ Liveというディストリビューションに取り込 +まれ、世界中のユーザが簡単に日本語の組版に\pTeX{}と\pLaTeX{}を利用できる +環境が整いました。同時に、\pTeX{}もコミュニティベースで改良や仕様変更が +加えられるようになりました。 +最近の\TeX\ LiveやW32\TeX{}では、\pLaTeX{}も元々の\pTeX{}ではなく、その +拡張版\epTeX{}をエンジンとして用いるようになっています。また、\pLaTeX{}の +ベースとなっている\LaTeX{}も更新が進められ、特に2015年には相次いでカーネル +のコードが変更されました。 + +アスキー版\pLaTeX{}は\texttt{<2006/11/10>}の版を最後に更新が停止している +ようで、こうした変更の影響でいくつかの不整合が生じてしまいました。 +この不整合や残っていたバグを修正するのが、コミュニティ版\pLaTeX{}の目的 +です。コミュニティ版\pLaTeX{}はアスキー版\pLaTeX{}をベースに、 +日本語\TeX{}開発コミュニティによって開発されます。開発中の版はGitHubの +リポジトリ\footnote{\texttt{https://github.com/texjporg/platex}}で +管理しています。これにあわせ、\pTeX{}の内部コードをUnicode化した拡張版で +あるu\pTeX{}の上で動くu\pLaTeX{}も、コミュニティ版\pLaTeX{}と同期させて +あります。u\pLaTeX{}の開発中の版も\pLaTeX{}と同様に、GitHubの +リポジトリ\footnote{\texttt{https://github.com/texjporg/uplatex}}で +管理しています。 + + +\section{脚注番号前後やtabular前後などの不自然なアキの削除} +2013年の\pTeX{}の仕様変更で、脚注番号やtabular環境、 +|\parbox[c]{...}|(またはminipage環境)の前後\footnote{これらの命令は、 +内部的には\texttt{\char92hbox}の中でいったん数式モードに入るという処理 +を含んでいます。}に|\xkanjiskip|由来のアキが入るようになっていましたの +で、対策しました。 +(参考:\TeX\ Forum~913、\TeX\ Q\&A~57084、\TeX\ Forum~1783) + +また、|\underline{...}|の前後が和文文字である場合にも +一律に|\xkanjiskip|由来のアキが入っていました。 +これも不自然だと考え、アキを削除しました。 + + +\section{縦組でOverfull警告が出るバグの修正} +縦組時に|\@outputbox|の深さ分の補正が無効になっているバグのせいで +|Overfull \vbox|の警告が出ていましたので、修正しました。 +(参考:\TeX\ Forum 1442) + + +\section{縦組で「\AA{}」が乱れるバグの修正} +ベースライン補正量|\{y,t}baselineshift|がゼロでない場合に、合成文字が乱れ +ることがありました。特に「\AA{}」のアクセント位置が縦組で大きく乱れていた +ため、対策しました。 + + +\section{トンボが縮む問題への対処} +\LaTeX\ toolsバンドルに付属する\file{multicol}パッケージ(2015/03/07 v1.8j +-- 2016/02/08 v1.8o)を使うと、\pLaTeX{}のトンボが縮むという問題が発生して +いました。これは\file{multicol}側のバグ\footnote{これは2016/04/07 v1.8pで +修正されました。}によるものですが、何らかの理由で不用意に|\boxmaxdepth|が +小さく設定されてもトンボが正しく出るように修正しました。 + + +\section{\LaTeX\ \texttt{<2016/03/31>}への対応} +\LaTeX\ \texttt{<2015/01/01>}で追加された|\eminnershape|を\pLaTeX{}にも +採用しました。これは|{\em ...}|という強調命令を入れ子にした場合の書体を +ユーザが指定できるものです。\LaTeX{}によるデフォルトの定義は|\upshape|です +が、\pLaTeX{}では従来版に合わせた|\mcfamily \upshape|を採用しました。 + + +\section{\file{platexrelease}パッケージの追加} +\LaTeX\ \texttt{<2015/01/01>}で追加された|latexrelease|パッケージと +同等の\file{platexrelease}パッケージを導入しました。これは、過去 +(\texttt{<2006/11/10>}以降)の\pLaTeX{}をエミュレートするために用いる +ことができます。\pLaTeX{}の互換性が必要な場面で役に立つかもしれません。 +詳細はパッケージのドキュメントを参照してください。 + + +\section{\file{ascmac}パッケージの更新} +\file{ascmac}(\file{tascmac})パッケージのバグ修正と一部の仕様変更です。 + +\begin{itemize} +\item \file{pict2e}パッケージとの共存で出るエラーを解消 +\item itembox環境やscreen環境の角が理想値からずれていたのを修正 +\item |\maskbox|や|\Maskbox|が段落の先頭で正しく働かない不具合を修正 + (以上3点、\file{bxascmac}パッケージ% + \footnote{\texttt{http://zrbabbler.sp.land.to/bxptool.html}}より。 + ありがとうございます、ZRさん) +\item 環境直前の改段落:\par + shadebox環境の直前で改段落しないと版面をはみ出す不具合を修正。 + 併せてboxnote環境も|\par\vspace{.3\baselineskip}|で始めるよう変更。 +\item ベースライン補正:\par + |\tbaselineshift|だけでなく|\ybaselineshift|も退避・復帰。 + |\keytop{...}|を使うと以降すべてでベースライン補正がゼロになるバグの + 修正。itembox環境のタイトルとshadebox環境内でもベースライン補正を維持。 +\item その他: + |\keytop|の角が理想値からずれていたのを修正、 + |\keytop[c]{...}|前後の|\xkanjiskip|由来のアキを削除。 +\end{itemize} + + +\section{その他の変更点} +\pLaTeX{}の概要については\file{platex.pdf}を、実際のコードは\file{pldoc.pdf}を +参照してください。コードの変更履歴も\file{pldoc.pdf}の末尾で確認できます。 + +一般のユーザにはあまり関係ない変更として、\pLaTeX{}起動時のバナーを定義 +するコードを改良しました。従来は、読み込んだハイフネーション・パターン +の情報を起動時のバナーに表示するためだけに、コードを追加した独自 +の\file{hyphen.cfg}を使用していました\footnote{トノさんによるコードです。 +参考:\TeX\ Q\&A~31691}。この方法を廃止して\pLaTeX{}カーネル内で対処した +ため、今後は独自の\file{hyphen.cfg}が不要になりました。 + + +\section{開発版とバグレポート先} +コミュニティ版\pLaTeX{}とu\pLaTeX{}はアスキー版\pLaTeX{}とは異なります +ので、バグレポートはアスキー宛てではなく、日本語\TeX{}開発コミュニティ +に報告してください。\TeX\ ForumやGitHubのIssueシステムが利用できます。 +\begin{itemize} +\item \texttt{https://github.com/texjporg/platex} +\item \texttt{https://github.com/texjporg/uplatex} +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/source/platex/base/plnewsc02.tex b/Master/texmf-dist/source/platex/base/plnewsc02.tex new file mode 100644 index 00000000000..aecba9423c5 --- /dev/null +++ b/Master/texmf-dist/source/platex/base/plnewsc02.tex @@ -0,0 +1,79 @@ +%% <2016/06/10> +\documentclass{plnews} + +\publicationyear{2016}% 発行年 +\publicationmonth{06}% 発行月 +\publicationissue{c2}% 番号 +\author{日本語\TeX{}開発コミュニティ(\texttt{https://texjp.org/})} + +\def\pTeX{p\kern-.15em\TeX} +\def\epTeX{$\varepsilon$-\pTeX} +\def\pLaTeX{p\kern-.05em\LaTeX} +\def\pLaTeXe{p\kern-.05em\LaTeXe} + +\begin{document} + +\maketitle + +\section{この文書について} +この文書はコミュニティ版\pLaTeXe\ \texttt{<2016/06/10>}について、 +\pLaTeXe\ \texttt{<2016/05/07>}からの更新箇所をまとめたものです。 +以前のアスキー版の変更点については、 +\file{plnews*.tex}や\file{Changes\_asciimw.txt}を参照してください。 +コミュニティ版の変更点については、\file{plnewsc*.tex}を参照してください。 +\LaTeX{}レベルでの更新箇所は、\LaTeX{}に付属の\file{ltnews*.tex}などを +参照してください。 + + +\section{アクセント文字のバグ修正} +\pLaTeX\ \texttt{<2016/05/07>}で「縦組で「\AA{}」が乱れるバグの修正」を +導入しましたが、この変更で「すべての合成文字でリガチャやカーニングがきか +ない、周囲に|\xkanjiskip|が入らない、\file{ucs}パッケージが使えない」 +などという不具合が入ってしまいました。この問題を修正しました (Issue \#5) 。 + + +\section{8-bitフォントエンコーディングの欧文文字周囲のスペース} +アスキー版\pLaTeX{}が作られた頃に比べて、最近はT1エンコーディングなどの +8-bitフォントエンコーディングが多く用いられるようになりました。128--255の +文字は欧文文字ですので、新しいフォーマットでは周囲に|\xkanjiskip|が入る +ように\file{kinsoku.tex}で|\xspcode=3|に設定しました。これは、奥村さん +の\file{jsclasses}や田中さんのu\pLaTeX{}と同等の対処です (Issue \#6) 。 + + +\section{\file{pfltrace}パッケージの追加} +\LaTeX\ \texttt{<2014/05/01>}で、\file{fltrace}パッケージが追加されまし +た。これは\LaTeX{}カーネルのソースに隠れていたフロート配置アルゴリズムの +トレースに使うコードをパッケージの形に抽出したもの\footnote{参考: +\LaTeX\ News Issue 21、\file{ltnews21.tex}}で、実は\pLaTeX{}カーネルの +ソースにも同様に隠れていたコードがありました。これを取り出したものが +\file{pfltrace}パッケージです。 + +フロートアルゴリズムの動作を確認したい場合は +\begin{verbatim} + \usepackage{pfltrace} \tracefloats +\end{verbatim} +のように書きます。トレースを中断するには|\tracefloatsoff|を使い、 +現在のさまざまなフロートパラメータの値を確認するには|\tracefloatvals|を +使います。実際の処理は\file{fltrace}パッケージを読み込むことで行い、 +\pLaTeX{}特有の変更のみが\file{pfltrace}パッケージに書かれています +\footnote{フォント選択コマンドのトレースに使う\file{ptrace}パッケージ +と\file{tracefnt}パッケージ、過去の\pLaTeX{}のエミュレートに使う +\file{platex\-release}パッケージと\file{latex\-release}パッケージも、 +これと同様の関係になっています。}。 + + +\section{その他の変更点} +\pLaTeX{}の概要については\file{platex.pdf}を、実際のコードは\file{pldoc.pdf}を +参照してください。コードの変更履歴も\file{pldoc.pdf}の末尾で確認できます。 + + +\section{開発版とバグレポート先} +コミュニティ版\pLaTeX{}とu\pLaTeX{}はアスキー版\pLaTeX{}とは異なります +ので、バグレポートはアスキー宛てではなく、日本語\TeX{}開発コミュニティ +に報告してください。\TeX\ ForumやGitHubのIssueシステムが利用できます。 +\begin{itemize} +\item \texttt{https://github.com/texjporg/platex} +\item \texttt{https://github.com/texjporg/uplatex} +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/source/platex/base/plvers.dtx b/Master/texmf-dist/source/platex/base/plvers.dtx index c08355c420f..9f9281c2217 100644 --- a/Master/texmf-dist/source/platex/base/plvers.dtx +++ b/Master/texmf-dist/source/platex/base/plvers.dtx @@ -10,7 +10,7 @@ % % \fi % -% \CheckSum{204} +% \CheckSum{187} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -58,12 +58,16 @@ % \changes{v1.0u}{2016/04/17}{\LaTeX\ \texttt{!<2016/03/31!>}版対応確認} % \changes{v1.0v}{2016/05/07}{パッチファイルをロードするのをやめた。} % \changes{v1.0v}{2016/05/07}{起動時の文字列を最新の\LaTeX{}に合わせた。} +% \changes{v1.0w}{2016/05/12}{起動時の文字列に入れる\LaTeX{}のバージョンを +% 元の\LaTeX{}のバナーから引き継ぐように改良} +% \changes{v1.0w}{2016/05/12}{起動時の文字列に入れるBabelのバージョンを +% 元の\LaTeX{}のバナーから取得するコードを\file{platex.ini}から取り入れた} % \fi % % \iffalse %<*driver> % \fi -\ProvidesFile{plvers.dtx}[2016/05/07 v1.0v pLaTeX Kernel (Version Info)] +\ProvidesFile{plvers.dtx}[2016/05/12 v1.0w pLaTeX Kernel (Version Info)] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plvers.dtx} @@ -115,10 +119,9 @@ % % \end{macrocode} % -% p\LaTeXe{}のフォーマットファイル名とバージョンです。 -% % \begin{macro}{\pfmtname} % \begin{macro}{\pfmtversion} +% p\LaTeXe{}のフォーマットファイル名とバージョンです。 % \begin{macrocode} %<*plcore> \def\pfmtname{pLaTeX2e} @@ -126,7 +129,7 @@ % %\edef\platexreleaseversion %<*plcore|platexrelease> - {2016/05/07} + {2016/06/10} % % \end{macrocode} % \end{macro} @@ -178,46 +181,50 @@ % 起動時に表示される文字列です。 % \LaTeX{}にパッチがあてられている場合は、それも表示します。 % \changes{v1.0v}{2016/05/07}{起動時の文字列を最新の\LaTeX{}に合わせた。} +% \changes{v1.0w}{2016/05/12}{起動時の文字列に入れる\LaTeX{}のバージョンを +% 元の\LaTeX{}のバナーから引き継ぐように改良} % \begin{macrocode} \ifx\patch@level\@undefined % fallback if undefined in LaTeX \def\patch@level{0}\fi \ifx\ppatch@level\@undefined % fallback if undefined in pLaTeX \def\ppatch@level{0}\fi -\ifnum\patch@level=0 - \ifnum\ppatch@level=0 - \everyjob{\typeout{% - \pfmtname\space<\pfmtversion>\space - (based on \fmtname\space<\fmtversion>)}} - \else - \everyjob{\typeout{% - \pfmtname\space<\pfmtversion>+\ppatch@level\space - (based on \fmtname\space<\fmtversion>)}} - \fi -\else\ifnum\patch@level>0 - \ifnum\ppatch@level=0 - \everyjob{\typeout{% - \pfmtname\space<\pfmtversion>\space - (based on \fmtname\space<\fmtversion>\space - patch level \patch@level)}} - \else - \everyjob{\typeout{% - \pfmtname\space<\pfmtversion>+\ppatch@level\space - (based on \fmtname\space<\fmtversion>\space - patch level \patch@level)}} - \fi -\else - \ifnum\ppatch@level=0 - \everyjob{\typeout{% +\begingroup + \def\parse@BANNER#1{\expandafter\parse@@BANNER#1} + \def\parse@@BANNER#1#2#3#4{#2} + \edef\platexTMP{% + \ifnum\ppatch@level=0 + \everyjob{\noexpand\typeout{% \pfmtname\space<\pfmtversion>\space - (based on \fmtname\space<\fmtversion>\space - pre-release\patch@level)}} - \else - \everyjob{\typeout{% + (based on \parse@BANNER{\platexBANNER})}}% + \else + \everyjob{\noexpand\typeout{% \pfmtname\space<\pfmtversion>+\ppatch@level\space - (based on \fmtname\space<\fmtversion>\space - pre-release\patch@level)}} - \fi -\fi\fi + (based on \parse@BANNER{\platexBANNER})}}% + \fi + } +\expandafter +\endgroup \platexTMP +% \end{macrocode} +% +% p\LaTeX{}は、独自のハイフネーション・パターンを定義していません。 +% 代わりに、\LaTeX{}が読み込んでいるBabelパッケージのものが適用されます。 +% 起動時の文字列にも\file{hyphen.cfg}のバージョンを反映します。 +% \changes{v1.0w}{2016/05/12}{起動時の文字列に入れるBabelのバージョンを +% 元の\LaTeX{}のバナーから取得するコードを\file{platex.ini}から取り入れた} +% \begin{macrocode} +\begingroup + \def\parse@BANNER#1{\expandafter\parse@@BANNER#1} + \def\parse@@BANNER#1#2#3#4{#4} + \edef\platexTMP{% + \the\everyjob\noexpand\typeout{\parse@BANNER{\platexBANNER}}% + } + \everyjob=\expandafter{\platexTMP}% + \edef\platexTMP{% + \noexpand\let\noexpand\platexBANNER=\noexpand\@undefined + \noexpand\everyjob={\the\everyjob}% + } + \expandafter +\endgroup \platexTMP % % \end{macrocode} % -- cgit v1.2.3