diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/japanese/platex/platex.dtx |
Initial commit
Diffstat (limited to 'language/japanese/platex/platex.dtx')
-rw-r--r-- | language/japanese/platex/platex.dtx | 1793 |
1 files changed, 1793 insertions, 0 deletions
diff --git a/language/japanese/platex/platex.dtx b/language/japanese/platex/platex.dtx new file mode 100644 index 0000000000..e559bdc473 --- /dev/null +++ b/language/japanese/platex/platex.dtx @@ -0,0 +1,1793 @@ +% \iffalse meta-comment +%% File: platex.dtx +% +% Copyright 1995,1996 ASCII Corporation. +% Copyright (c) 2010 ASCII MEDIA WORKS +% Copyright (c) 2016-2018 Japanese TeX Development Community +% +% This file is part of the pLaTeX2e system (community edition). +% ------------------------------------------------------------- +% +% \fi +% +% \iffalse +%<*driver|pldoc> +\ifx\JAPANESEtrue\undefined + \expandafter\newif\csname ifJAPANESE\endcsname + \JAPANESEtrue +\fi +%</driver|pldoc> +% \fi +% +% \setcounter{StandardModuleDepth}{1} +% \makeatletter +%\ifJAPANESE +% \def\chuui{\@ifnextchar[{\@chuui}{\@chuui[$BCm0U!'(B]}} +%\else +% \def\chuui{\@ifnextchar[{\@chuui}{\@chuui[Attention: ]}} +%\fi +% \def\@chuui[#1]{\par\vskip.5\baselineskip +% \noindent{\em #1}\par\bgroup\gtfamily\sffamily} +% \def\endchuui{\egroup\vskip.5\baselineskip} +% \makeatother +% +% \iffalse +%<*driver|pldoc> +\def\eTeX{$\varepsilon$-\TeX} +\def\pTeX{p\kern-.15em\TeX} +\def\epTeX{$\varepsilon$-\pTeX} +\def\pLaTeX{p\kern-.05em\LaTeX} +\def\pLaTeXe{p\kern-.05em\LaTeXe} +%</driver|pldoc> +% \fi +% +% \StopEventually{} +% +% \iffalse +%\ifJAPANESE +% \changes{v1.0}{1995/05/08}{$B:G=i$N%P!<%8%g%s(B} +% \changes{v1.0a}{1995/08/25}{$B8_49@-$K$D$$$F!"(B\dst{}$B$N;H$$J}!";29MJ88%$rDI2C(B} +% \changes{v1.0b}{1996/02/01}{\file{omake-sh.ins}, \file{omake-pl.ins}$B$r(B +% \dst{}$B$NJQ99$K$H$b$J$&JQ99$r$7$?(B} +% \changes{v1.0c}{1997/01/23}{\dst{}$B$K$H$b$J$&JQ99(B} +% \changes{v1.0c}{1997/01/23}{\LaTeX\ \textt{!<1996/12/01!>}$B$K9g$o$;$F=$@5(B} +% \changes{v1.0c}{1997/01/23}{gind.ist$B$H(Bgglo.ist$B$r(B +% \$TEXMF/tex/latex2e/base$B%G%#%l%/%H%j$+$i%3%T!<$7$J$$$h$&$K$7$?(B} +% \changes{v1.0c}{1997/01/25}{pldoc.dic$B$r(Bfilecontents$B4D6-$K$h$j:n@.(B} +% \changes{v1.0c}{1997/01/29}{\file{pltpatch.ltx}$B$r(B\file{plpatch.ltx}$B$KL>>NJQ99(B} +% \changes{v1.0d}{2016/01/27}{\pLaTeXe{}$B$KIUB0$9$k%U%!%$%k$N@bL@$r99?7(B} +% \changes{v1.0d}{2016/01/27}{rm$B%3%^%s%I<B9TA0$KB8:_3NG'$9$k$h$&$K$7$?(B} +% \changes{v1.0e}{2016/02/16}{platexrelease$B$N@bL@$rDI2C(B} +% \changes{v1.0f}{2016/04/12}{$B%I%-%e%a%s%H$r99?7(B} +% \changes{v1.0g}{2016/05/07}{$B%U%)!<%^%C%H:n@.;~$K(B\LaTeX{}$B$N%P%J!<$r0lC6J]B8(B} +% \changes{v1.0h}{2016/05/08}{$B%I%-%e%a%s%H$+$i(B\file{plpatch.ltx}$B$r=|30(B} +% \changes{v1.0i}{2016/05/12}{$B0l;~%3%^%s%I(B\cs{orgdump}$B$r:G=*E*$KL$Dj5A$X(B} +% \changes{v1.0j}{2016/05/20}{pfltrace$B$N@bL@$rDI2C(B} +% \changes{v1.0k}{2016/05/21}{$BJQ99MzNr$b=PNO$9$k$h$&$K$7$?(B} +% \changes{v1.0l}{2016/06/19}{$B%Q%C%A%l%Y%k$r(B\file{plvers.dtx}$B$+$i<hF@(B} +% \changes{v1.0m}{2016/08/26}{\file{platex.cfg}$B$NFI$_9~$_$r(B +% \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B} +% \changes{v1.0n}{2016/09/14}{\LaTeX{}$B$N%P%J!<$NJ]B8$7$+$?$r2~NI(B} +% \changes{v1.0o}{2017/09/24}{$B%Q%C%A%l%Y%k$,Ii$N?t$N>l9g$r(Bpre-release$B07$$$X(B} +% \changes{v1.0p}{2017/11/11}{\LaTeX{}$B$N%P%J!<$rJ]B8$9$k%3!<%I$r(B +% \file{platex.ltx}$B$+$i(B\file{plcore.ltx}$B$X0\F0(B} +% \changes{v1.0q}{2017/11/29}{$B1Q8lHG%I%-%e%a%s%H$rDI2C(B} +% \changes{v1.0r}{2017/12/02}{$B1Q8l$N;29MJ88%$bDI2C(B} +% \changes{v1.0s}{2017/12/05}{$B%G%U%)%k%H@_Dj%U%!%$%k$NFI$_9~$_$r(B +% \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B} +% \changes{v1.0t}{2018/02/07}{ascmac$B%Q%C%1!<%8$rFHN)$5$;$?(B} +% \changes{v1.0u}{2018/02/18}{nidanfloat$B%Q%C%1!<%8$rFHN)$5$;$?(B} +% \changes{v1.0v}{2018/04/06}{$B:G?7$N(Bsource2e$B$X$NDI?o(B} +% \changes{v1.0w}{2018/04/08}{$B0BA4$N$?$a%U%)!<%^%C%H:n@.;~$N(B +% $B%P%J!<I=<($r$d$a$?(B} +% \changes{v1.0x}{2018/09/03}{$B%I%-%e%a%s%H$r99?7(B} +% \changes{v1.0x}{2018/09/03}{platexcheat$B$K8@5Z(B} +% \changes{v1.0x}{2018/09/03}{plautopatch$B$K8@5Z(B} +% \changes{v1.0y}{2018/09/22}{$B:G=*99?7F|$r(B\file{pldoc.pdf}$B$KI=<((B} +%\else +% \changes{v1.0}{1995/05/08}{first edition} +% \changes{v1.0a}{1995/08/25}{Added 'Compatibility', `Usage of \dst{}' +% and `References'} +% \changes{v1.0b}{1996/02/01}{Adjusted for the latest +% \dst\ (\file{omake-sh.ins} and \file{omake-pl.ins}.} +% \changes{v1.0c}{1997/01/23}{Adjusted for the latest \dst.} +% \changes{v1.0c}{1997/01/23}{Adjusted for \LaTeX\ \textt{!<1996/12/01!>}.} +% \changes{v1.0c}{1997/01/23}{Don't copy gind.ist and gglo.ist from +% \$TEXMF/tex/latex2e/base directory.} +% \changes{v1.0c}{1997/01/25}{Add to filecontents environment for pldoc.dic.} +% \changes{v1.0c}{1997/01/29}{Rename \file{pltpatch.ltx} to \file{plpatch.ltx}.} +% \changes{v1.0d}{2016/01/27}{Updated descriptions of \pLaTeXe\ files} +% \changes{v1.0d}{2016/01/27}{Add -e test before rm command} +% \changes{v1.0e}{2016/02/16}{Add a description of platexrelease} +% \changes{v1.0f}{2016/04/12}{Update document.} +% \changes{v1.0g}{2016/05/07}{Save \LaTeX\ banner} +% \changes{v1.0h}{2016/05/08}{Exclude \file{plpatch.ltx} from the document} +% \changes{v1.0i}{2016/05/12}{Undefine temporary command +% \cs{orgdump} in the end.} +% \changes{v1.0j}{2016/05/20}{Add description of `pfltrace'} +% \changes{v1.0k}{2016/05/21}{Print also changes.} +% \changes{v1.0l}{2016/06/19}{Get the patch level from \file{plvers.dtx}} +% \changes{v1.0m}{2016/08/26}{Moved loading \file{platex.cfg} +% from \file{plcore.ltx} to \file{platex.ltx}} +% \changes{v1.0n}{2016/09/14}{Improved banner saving method} +% \changes{v1.0o}{2017/09/24}{Allow negative patch level for pre-release} +% \changes{v1.0p}{2017/11/11}{Moved banner saving code from +% \file{platex.ltx} to \file{plcore.ltx}} +% \changes{v1.0q}{2017/11/29}{New English documentation added!} +% \changes{v1.0r}{2017/12/02}{English references added} +% \changes{v1.0s}{2017/12/05}{Moved loading default settings +% from \file{plcore.ltx} to \file{platex.ltx}} +% \changes{v1.0t}{2018/02/07}{Moved ascmac package to separate bundle} +% \changes{v1.0u}{2018/02/18}{Moved nidanfloat package to separate bundle} +% \changes{v1.0v}{2018/04/06}{Sync with the latest \file{source2e.tex}} +% \changes{v1.0w}{2018/04/08}{Stop showing banner during +% format generation for safety} +% \changes{v1.0x}{2018/09/03}{Update document.} +% \changes{v1.0x}{2018/09/03}{Mention platexcheat (Japanese only).} +% \changes{v1.0x}{2018/09/03}{Mention plautopatch.} +% \changes{v1.0y}{2018/09/22}{Show last update info on \file{pldoc.pdf}} +%\fi +% \fi +% +% \iffalse +%<*driver> +\NeedsTeXFormat{pLaTeX2e} +% \fi +\ProvidesFile{platex.dtx}[2018/09/22 v1.0y pLaTeX document file] +% \iffalse +\documentclass{jltxdoc} +\usepackage{plext} +\GetFileInfo{platex.dtx} +\ifJAPANESE +\title{\pLaTeXe{}$B$K$D$$$F(B} +\author{$BCfLn(B $B8-(B \& $BF|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#(B} +\date{$B:n@.F|!'(B\filedate} +\renewcommand{\refname}{$B;29MJ88%(B} +\GlossaryPrologue{\section*{$BJQ99MzNr(B}% + \markboth{$BJQ99MzNr(B}{$BJQ99MzNr(B}% + \addcontentsline{toc}{section}{$BJQ99MzNr(B}} +\else +\title{About \pLaTeXe{}} +\author{Ken Nakano \& Japanese \TeX\ Development Community} +\date{Date: \filedate} +\renewcommand{\refname}{References} +\GlossaryPrologue{\section*{Change History}% + \markboth{Change History}{Change History}% + \addcontentsline{toc}{section}{Change History}} +\fi +\makeatletter +\ifJAPANESE +\def\levelchar{>$B!&(B} +\fi +\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} +%</driver> +% \fi +% +% +%\ifJAPANESE +% \changes{v1.0f}{2016/04/12}{$B%I%-%e%a%s%H$r99?7(B} +% \changes{v1.0k}{2016/05/21}{$BJQ99MzNr$b=PNO$9$k$h$&$K$7$?(B} +% \changes{v1.0q}{2017/11/29}{$B1Q8lHG%I%-%e%a%s%H$rDI2C(B} +% \changes{v1.0x}{2018/09/03}{$B%I%-%e%a%s%H$r99?7(B} +%\else +% \changes{v1.0f}{2016/04/12}{Update document.} +% \changes{v1.0k}{2016/05/21}{Print also changes.} +% \changes{v1.0q}{2017/11/29}{New English documentation added!} +% \changes{v1.0x}{2018/09/03}{Update document.} +%\fi +%\ifJAPANESE +% \begin{chuui} +% $B$3$NJ8=q$G$O!V%3%_%e%K%F%#HG(B\pLaTeXe{}$B!W$K$D$$$F4JC1$K@bL@$7$^$9!#(B +% $B3t<02q<R%"%9%-!<!J8=%"%9%-!<!&%a%G%#%"%o!<%/%9(B +% \footnote{$B%"%9%-!<F|K\8l(B\TeX{}$B!J(B\pTeX{}$B!K!"(B +% \texttt{http://ascii.asciimw.jp/pb/ptex/}}$B!K$,G[I[$7$F$$$k(B +% \pLaTeXe{}$B!J0J2<!"%"%9%-!<HG(B\pLaTeXe{}$B!K$H$O0[$J$kFbMF$G$9$N$G!"(B +% $BCm0U$7$F$/$@$5$$!#(B +% \end{chuui} +%\else +% \begin{chuui}[] +% This document provides a brief description of \pLaTeXe, the Japanese +% extended version of \LaTeXe. Current maintainer of +% \pLaTeXe\ is Japanese \TeX\ Development Community. +% \end{chuui} +%\fi +% +%\ifJAPANESE +% 2010$BG/0J9_!"%"%9%-!<(B\pTeX{}$B$O!"9q:]E*$K9-$/;H$o$l$F$$$k(B\TeX\ Live$B$H$$$&(B +% $B%G%#%9%H%j%S%e!<%7%g%s$K<h$j9~$^$l!"$=$3$GFH<+$N2~NI$d;EMMJQ99$,2C$($i$l(B +% $B$F$-$^$7$?!#:G6a!J(B2011$BG/0J9_!K$N(B\TeX\ Live$B$d(BW32\TeX{}$B$G$O!"(B\pLaTeX{}$B$b(B +% $B85!9$N(B\pTeX{}$B$G$O$J$/!"$=$N3HD%HG(B\epTeX{}$B$r%(%s%8%s$KMQ$$$k$h$&$K$J$C$F(B +% $B$$$^$9!#$^$?!"(B\pLaTeX{}$B$N%Y!<%9$G$"$k(B\LaTeX{}$B$b99?7$,?J$a$i$l$F$$$^$9!#(B +% +% $B$3$&$7$?N.$l$K$"$o$;$??7$7$$(B\pLaTeX{}$B$H$7$F!"%"%9%-!<HG$+$i(Bfork$B$7$F(B +% $BF|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#(B (Japanese \TeX\ Development Community) $B$,(B +% $BG[I[$7$F$$$k$b$N$,!"%3%_%e%K%F%#HG(B\pLaTeX{}$B$G$9!#3+H/Cf$NHG$O(BGitHub$B$N(B +% $B%j%]%8%H%j(B\footnote{\texttt{https://github.com/texjporg/platex}}$B$G(B +% $B4IM}$7$F$$$^$9!#%3%_%e%K%F%#HG(B\pLaTeX{}$B$O%"%9%-!<HG$H$O0[$J$j$^$9$N$G!"(B +% $B%P%0%l%]!<%H$O%"%9%-!<08$F$G$O$J$/!"F|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#$KJs9p(B +% $B$7$F$/$@$5$$!#(B\TeX\ Forum$B$d(BGitHub$B$N(BIssue$B%7%9%F%`$,MxMQ$G$-$^$9!#(B +% +% $B$3$NJ8=q(B(platex.pdf)$B$O%3%_%e%K%F%#HG(B\pLaTeX{}$B$N35MW$r@bL@$7$?$b$N$G$9(B +% $B$,!"FbMF$O%"%9%-!<HG!J(B1995$BG/:"!K$+$i$[$H$s$IJQ$o$C$F$$$^$;$s$N$G!"(B +% $B:#$G$ONr;KE*$JJ8=q$H$$$&$3$H$K$7$F$*$-$^$9!#(B +% $B:G6a$N(B\pLaTeX{}$B$N99?7FbMF$O(B\pLaTeX{}$B%K%e!<%9!J%"%9%-!<HG!'(Bplnews*.pdf$B!"(B +% $B%3%_%e%K%F%#HG!'(Bplnewsc*.pdf$B!K$r;2>H$7$F$/$@$5$$!#$^$?!"(B +% $B<B:]$N(B\pLaTeX{}$B$N%=!<%9%3!<%I$O(Bpldoc.pdf$B$G@bL@$7$F$$$^$9!#(B +%\else +% \def\JLaTeX{\leavevmode\lower.5ex\hbox{J}\kern-.15em\LaTeX} +% \pLaTeX\ is a Japanese \LaTeX\ format, which is adjusted/extended +% to be more suitable for writing Japanese documents. +% It requires \pTeX, a \TeX\ engine with extensions for +% Japanese typesetting, which is designed for high-quality +% Japanese book ``p''ublishing.\footnote{There is another +% old implementation of Japanese \LaTeX, called +% \JLaTeX\ (not available in \TeX\ Live). +% Also, MiK\TeX\ has another program \texttt{platex}, but +% it has nothing to do with our Japanese \pLaTeX!} The developent of +% both \pTeX\ and \pLaTeX\ was done by ASCII Corporation (and its +% successor ASCII Media Works\footnote{The \pTeX\ website: +% \texttt{http://ascii.asciimw.jp/pb/ptex/} (closed in 2016).}), +% so they are often refered to as ``ASCII \pTeX'' and ``ASCII \pLaTeX'' +% respectively. +% +% In 2010, ASCII \pTeX\ was incorporated into the +% world-wide \TeX\ distribution, \TeX\ Live. Since then, \pTeX\ has +% been maintained/improved/changed along with \TeX\ Live sources. +% In recent versions of \TeX\ Live and W32\TeX\ (arround 2011), +% the default engine of \pLaTeX\ changed from original \pTeX\ to +% \epTeX\ (\pTeX\ with \eTeX\ extension). +% Also, the original \LaTeX\ itself is also frequently updated. +% On the other hand, \pLaTeX\ remained unchanged since 2006, +% which resulted in some incompatibility and limitations. +% +% To follow these upstream changes, we (Japanese \TeX\ Development +% Community\footnote{\texttt{https://texjp.org}}) decided to fork +% ASCII \pLaTeX\ and distribute the ``community edition.'' +% The development version is available from +% GitHub repository\footnote{\texttt{https://github.com/texjporg/platex}}. +% The forked community edition is different from the original ASCII +% edition, so any bug reports and requests should be sent to +% Japanese \TeX\ Development Community, using GitHub Issue system. +% +% This document (platex-en.pdf) is a brief explanation of +% the \pLaTeXe\ community edition. It is somewhat of a historical +% document now, since \pLaTeXe\ came into existence in 1995 +% (although the English translation has been done by +% Japanese \TeX\ Development Community since 2017). +% The detail of source codes are described separately in pldoc-en.pdf. +%\fi +% +% +% \clearpage +% +%\ifJAPANESE +% \section{$B$3$NJ8=q$K$D$$$F(B}\label{platex:intro} +% $B$3$NJ8=q$O(B\pLaTeXe{}$B$N35MW$r<($7$F$$$^$9$,!";H$$J}$N%,%$%I$G$O$"$j$^$;$s!#(B +% \pLaTeXe{}$B$N5!G=A4HL$K$D$$$F$O!"(B\cite{platex2e-book}$B$r;2>H$7$F$/$@$5$$!#(B +% $B$^$?!"(B\cite{tate-book}$B$G@bL@$5$l$F$$$?=DAH8~$1$N3HD%%3%^%s%I$K(B +% $B$D$$$F$O!"(B\file{pldoc.pdf}$B$NCf$N(B\file{plext.dtx}$B$N9`L\$r;2>H$7$F$/$@$5$$!#(B +% +% $BF|K\8l$NAHHG=hM}$K$D$$$F$O!"(B +% \pTeX{}$B!J$"$k$$$O$=$NA0?H$N!VF|K\8l(B\TeX{}$B!W!K$K4X$9$kJ88%(B +% \cite{jtex-tech}$B$d(B\cite{ajt2008okumura}$B!J1Q8l!K(B, \cite{tb29hamano}$B!J1Q8l!K$b(B +% $BJ;$;$F$4;2>H$/$@$5$$!#(B +% +% \LaTeX{}$B$N5!G=$K$D$$$F$O!"(B\cite{latex-book2}$B$d(B\cite{latex-comp}$B$J$I$r(B +% $B;2>H$7$F$/$@$5$$!#?7$7$$5!G=$K$D$$$F$O(B\file{usrguide.tex}$B$r;2>H$7$F$/$@$5$$!#(B +% \pLaTeX{}$B$N%3%^%s%I0lMw$O!V(B\pLaTeXe{}$B%A!<%H%7!<%H!W(B(platexsheet.pdf) $B$^$?$O(B +% $B$=$N(B\textsf{jsclasses}$BHG(B (platexsheet-jsclasses.pdf) $B$,;29M$K(B +% $B$J$k$G$7$g$&(B\footnote{$BN><T$N(BPDF$B$H$b!"%3%^%s%I%i%$%s$G(B +% \texttt{texdoc -l platexcheat}$B$r<B9T$9$k$HI=<($5$l$^$9!#(B}$B!#(B +% \changes{v1.0}{1995/05/08}{$B:G=i$N%P!<%8%g%s(B} +% \changes{v1.0a}{1995/08/25}{$B8_49@-$K$D$$$F!"(B\dst{}$B$N;H$$J}!";29MJ88%$rDI2C(B} +% \changes{v1.0r}{2017/12/02}{$B1Q8l$N;29MJ88%$bDI2C(B} +% \changes{v1.0x}{2018/09/03}{platexcheat$B$K8@5Z(B} +%\else +% \section{Introduction to this document}\label{platex:intro} +% This document briefly describes \pLaTeXe, but is not a manual of \pLaTeXe. +% For the basic functions of \pLaTeXe, see \cite{platex2e-book} (in Japanese). +% For extensions of some commands for vertical writing (which were first +% described in \cite{tate-book} in Japanese), see \file{plext.dtx} section +% in \file{pldoc-en.pdf}. +% +% For Japanese typesetting, please refer to the documentation of \pTeX\ (or +% ``Japanese \TeX''; the preliminary version of \pTeX), +% \cite{jtex-tech} (in Japanese), \cite{ajt2008okumura} (in English) +% and \cite{tb29hamano} (in English). +% \changes{v1.0}{1995/05/08}{first edition} +% \changes{v1.0a}{1995/08/25}{Added 'Compatibility', `Usage of \dst{}' +% and `References'} +% \changes{v1.0r}{2017/12/02}{English references added} +% \changes{v1.0x}{2018/09/03}{Mention platexcheat (Japanese only).} +%\fi +% +%\ifJAPANESE +% $B$3$NJ8=q$N9=@.$O<!$N$h$&$K$J$C$F$$$^$9!#(B +% +% \begin{quote} +% \begin{description} +% \item[$BBh(B\ref{platex:intro}$B@a(B] +% $B$3$N@a$G$9!#$3$NJ8=q$K$D$$$F$N35MW$r=R$Y$F$$$^$9!#(B +% +% \item[$BBh(B\ref{platex:plcore}$B@a(B] +% \pLaTeXe{}$B$G3HD%$7$?5!G=$K$D$$$F$N35MW$G$9!#(B +% $BIUB0$N%/%i%9%U%!%$%k$d%Q%C%1!<%8%U%!%$%k$K$D$$$F$b4JC1$K(B +% $B@bL@$7$F$$$^$9!#(B +% +% \item[$BBh(B\ref{platex:compatibility}$B@a(B] +% $B8=:_$N%P!<%8%g%s$N(B\pLaTeX{}$B$H5l%P!<%8%g%s!"$"$k$$$O85$H$J$C$F$$$k(B +% \LaTeX{}$B$H$N8_49@-$K$D$$$F=R$Y$F$$$^$9!#(B +% +% \item[$BIUO?(B\ref{app:dst}] +% $B$3$NJ8=q%=!<%9(B(platex.dtx)$B$N(B +% \dst{}$B$N$?$a$N%*%W%7%g%s$K$D$$$F=R$Y$F$$$^$9!#(B +% +% \item[$BIUO?(B\ref{app:pldoc}] +% \pLaTeXe{}$B$N(Bdtx$B%U%!%$%k$r$^$H$a$F!"0l$D$N%=!<%9%3!<%I@bL@=q$K(B +% $B$9$k$?$a$NJ8=q%U%!%$%k$N@bL@$r$7$F$$$^$9!#(B +% +% \item[$BIUO?(B\ref{app:omake}] +% $BIUO?(B\ref{app:pldoc}$B$G@bL@$7$?J8=q%U%!%$%k$r=hM}$9$k(Bsh$B%9%/%j%W%H!J<j=g!K!"(B +% \dst{}$BJ8=q%U%!%$%kFb$NF~$l;R$NBP1~$rD4$Y$k(Bperl$B%9%/%j%W%H$J$I$K$D$$$F(B +% $B@bL@$7$F$$$^$9!#(B +% \end{description} +% \end{quote} +%\else +% This document consists of following parts: +% +% \begin{quote} +% \begin{description} +% \item[Section \ref{platex:intro}] +% This section; describes this document itself. +% +% \item[Section \ref{platex:plcore}] +% Brief explanation of extensions in \pLaTeXe. +% Also describes the standard classes and packages. +% +% \item[Section \ref{platex:compatibility}] +% The compatibility note for users of the old version of +% \pLaTeXe\ or those of the original \LaTeXe. +% +% \item[Appendix \ref{app:dst}] +% Describes \dst\ Options for this document. +% +% \item[Appendix \ref{app:pldoc}] +% Description of `pldoc.tex' (counterpart for `source2e.tex' in \LaTeXe). +% +% \item[Appendix \ref{app:omake}] +% Description of a shell script to process `pldoc.tex', and +% a tiny perl program to check \dst\ guards, etc. +% \end{description} +% \end{quote} +%\fi +% +% +%\ifJAPANESE +% \section{\pLaTeXe{}$B$N5!G=$K$D$$$F(B}\label{platex:plcore} +% \pLaTeXe{}$B$,Ds6!$9$k%U%!%$%k$O!"<!$N(B3$B<oN`$KJ,N`$9$k$3$H$,$G$-$^$9!#(B +% +% \begin{itemize} +% \item $B%U%)!<%^%C%H%U%!%$%k(B +% \item $B%/%i%9%U%!%$%k(B +% \item $B%Q%C%1!<%8%U%!%$%k(B +% \end{itemize} +% +% $B%U%)!<%^%C%H%U%!%$%k$K$O!"4pK\E*$J5!G=$,Dj5A$5$l$F$*$j!"(B +% \pLaTeXe{}$B$N3K$H$J$k%U%!%$%k$G$9!#(B +% $B$3$N%U%!%$%k$KDj5A$5$l$F$$$k%^%/%m$O!"<B9T;~$NB.EY$r9b$a$k$?$a$K!"(B +% $B$"$i$+$8$a(B\TeX{}$B$NFbIt7A<0$N7A$GJ]B8$5$l$F$$$^$9!#(B +% +% $B%/%i%9%U%!%$%k$OJ8=q$N%l%$%"%&%H$r@_Dj$9$k%U%!%$%k!"(B +% $B%Q%C%1!<%8%U%!%$%k$O%^%/%m$N3HD%$rDj5A$9$k%U%!%$%k$G$9!#(B +% $BA0<T$O(B|\documentclass|$B%3%^%s%I$rMQ$$$FFI$_9~$_!"(B +% $B8e<T$O(B|\usepackage|$B%3%^%s%I$rMQ$$$FFI$_9~$_$^$9!#(B +% +% \begin{chuui}[$B8E$$(B\pLaTeX~2.09$B%f!<%6$X$NCm0U!'(B]\normalfont +% $B%/%i%9%U%!%$%k$H%Q%C%1!<%8%U%!%$%k$O!"=>Mh!"%9%?%$%k%U%!%$%k$H8F$P$l$F$$$?(B +% $B$b$N$G$9!#(B\LaTeXe{}$B$G$O$=$l$i$r!"%l%$%"%&%H$K4X$9$k$b$N$r%/%i%9%U%!%$%k$H(B +% $B8F$S!"%^%/%m$N3HD%$r$9$k$b$N$r%Q%C%1!<%8%U%!%$%k$H8F$s$G6hJL$9$k$h$&$K(B +% $B$J$j$^$7$?!#(B +% \end{chuui} +%\else +% \section{About Functions of \pLaTeXe}\label{platex:plcore} +% The structure of \pLaTeXe\ is similar to that of \LaTeXe; +% it consists of 3 types of files: a format (platex.ltx), +% classes and packages. +%\fi +% +%\ifJAPANESE +% \subsection{$B%U%)!<%^%C%H%U%!%$%k(B} +% \pLaTeX{}$B$N%U%)!<%^%C%H%U%!%$%k$r:n@.$9$k$K$O!"(B +% $B%=!<%9%U%!%$%k(B``platex.ltx''$B$r(B\epTeX{}$B$N(BINI$B%b!<%I$G=hM}$7$^$9(B +% \footnote{2016$BG/0JA0$O(B\pTeX{}$B$H(B\epTeX{}$B$N$I$A$i$G$b%U%)!<%^%C%H$r:n@.$9$k(B +% $B$3$H$,$G$-$^$7$?$,!"(B2017$BG/$K(B\LaTeX{}$B$,(B\eTeX{}$BI,?\$H$J$C$?$3$H$KH<$$!"(B +% \pLaTeX{}$B$b(B\epTeX{}$B$,I,?\$H$J$j$^$7$?!#(B}$B!#(B +% $B$?$@$7!"(B\TeX\ Live$B$d(BW32\TeX{}$B$G$O$3$N=hM}$r4JC1$K$9$k(B|fmtutil-sys|$B$"$k$$$O(B +% |fmtutil|$B$H$$$&%W%m%0%i%`$,MQ0U$5$l$F$$$^$9!#(B +% $B0J2<$r<B9T$9$l$P!"%U%)!<%^%C%H%U%!%$%k(B\file{platex.fmt}$B$,:n@.$5$l$^$9!#(B +%\else +% \subsection{About the Format} +% To make a format for \pLaTeX, +% process ``platex.ltx'' with INI mode of \epTeX.\footnote{Formerly +% both \pTeX\ and \epTeX\ can make the format file for \pLaTeX, however, +% it's not true anymore because \LaTeX\ requires \eTeX\ since 2017.} +% A handy command `fmtutil-sys' (or `fmtutil') for this purpose +% is available in \TeX\ Live. The following command generates \file{platex.fmt}. +%\fi +%\begin{verbatim} +% fmtutil-sys --byfmt platex +%\end{verbatim} +% +%\ifJAPANESE +% $B<!$N%j%9%H$,!"(B\file{platex.ltx}$B$NFbMF$G$9!#(B +% $B$?$@$7!"$3$N%P!<%8%g%s$G$O!"(B\LaTeX{}$B$+$i(B\pLaTeX{}$B$X$N3HD%$r(B +% \file{plcore.ltx}$B$r%m!<%I$9$k$3$H$G9T$J$$!"(B +% \file{latex.ltx}$B$K$OD>@\!"<j$r2C$($J$$$h$&$K$7$F$$$^$9!#(B +% $B$7$?$,$C$F(B\file{platex.ltx}$B$O$H$F$bC;$$$b$N$H$J$C$F$$$^$9!#(B +% \file{latex.ltx}$B$K$O(B\LaTeX{}$B$N%3%^%s%I$,!"(B +% \file{plcore.ltx}$B$K$O(B\pLaTeX{}$B$G3HD%$7$?%3%^%s%I$,Dj5A$5$l$F$$$^$9!#(B +%\else +% The content of \file{platex.ltx} is shown below. +% In the current version of \pLaTeX, +% first we simply load \file{latex.ltx} and +% modify/extend some definitions by loading \file{plcore.ltx}. +%\fi +% \begin{macrocode} +%<*plcore> +% \end{macrocode} +% +%\ifJAPANESE +% \file{latex.ltx}$B$NKvHx$G;H$o$l$F$$$k(B|\dump|$B$r$$$C$?$sL58z2=$7$^$9!#(B +%\else +% Temporarily disable |\dump| at the end of \file{latex.ltx}. +%\fi +% \begin{macrocode} +\let\orgdump\dump +\let\dump\relax +% \end{macrocode} +% +%\ifJAPANESE +% \file{latex.ltx}$B$rFI$_9~$_$^$9!#(B +% \TeX\ Live$B$NI8=`E*%$%s%9%H!<%k$G$O!"$3$NCf$G(BBabel$BM3Mh$N%O%$%U%M!<%7%g%s!&(B +% $B%Q%?!<%s(B\file{hyphen.cfg}$B$,FI$_9~$^$l$k$O$:$G$9!#(B +% \changes{v1.0g}{2016/05/07}{$B%U%)!<%^%C%H:n@.;~$K(B\LaTeX{}$B$N%P%J!<$r0lC6J]B8(B} +% \changes{v1.0n}{2016/09/14}{\LaTeX{}$B$N%P%J!<$NJ]B8$7$+$?$r2~NI(B} +% \changes{v1.0p}{2017/11/11}{\LaTeX{}$B$N%P%J!<$rJ]B8$9$k%3!<%I$r(B +% \file{platex.ltx}$B$+$i(B\file{plcore.ltx}$B$X0\F0(B} +%\else +% Load \file{latex.ltx} here. +% Within the standard installation of \TeX\ Live, \file{hyphen.cfg} +% provided by ``Babel'' package will be used. +% \changes{v1.0g}{2016/05/07}{Save \LaTeX\ banner} +% \changes{v1.0n}{2016/09/14}{Improved banner saving method} +% \changes{v1.0p}{2017/11/11}{Moved banner saving code from +% \file{platex.ltx} to \file{plcore.ltx}} +%\fi +% \begin{macrocode} +\input latex.ltx +% \end{macrocode} +% +%\ifJAPANESE +% \file{plcore.ltx}$B$rFI$_9~$_$^$9!#(B +%\else +% Load \file{plcore.ltx}. +%\fi +% \begin{macrocode} +\typeout{**************************^^J% + *^^J% + * making pLaTeX format^^J% + *^^J% + **************************} +\makeatletter +\input plcore.ltx +% \end{macrocode} +% +%\ifJAPANESE +% $B%U%)%s%H4XO"$N%G%U%)%k%H@_Dj%U%!%$%k$G$"$k!"(B +% \file{pldefs.ltx}$B$rFI$_9~$_$^$9!#(B +% \TeX{}$B$NF~NO%U%!%$%k8!:w%Q%9$K@_Dj$5$l$F$$$k(B +% $B%G%#%l%/%H%j$K(B\file{pldefs.cfg}$B%U%!%$%k$,$"$k>l9g$O!"(B +% $B$=$N%U%!%$%k$r;H$$$^$9!#(B +% \changes{v1.0s}{2017/12/05}{$B%G%U%)%k%H@_Dj%U%!%$%k$NFI$_9~$_$r(B +% \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B} +%\else +% Load font-related default settings, \file{pldefs.ltx}. +% If a file \file{pldefs.cfg} is found, then that file will be +% used instead. +% \changes{v1.0s}{2017/12/05}{Moved loading default settings +% from \file{plcore.ltx} to \file{platex.ltx}} +%\fi +% \begin{macrocode} +\InputIfFileExists{pldefs.cfg} + {\typeout{*************************************^^J% + * Local config file pldefs.cfg used^^J% + *************************************}}% + {\input{pldefs.ltx}} +% \end{macrocode} +% +%\ifJAPANESE +% $B0JA0$N%P!<%8%g%s$G$O!"%U%)!<%^%C%H:n@.;~$K(B\pLaTeX{}$B$N%P!<%8%g%s$,(B +% $B$o$+$k$h$&$K!"C<Kv$KI=<($7$F$$$^$7$?$,!"(B|\everyjob| $B$K%P%J!<I=<((B +% $B0J30$N%3!<%I$,4^$^$l$k2DG=@-$r9MN8$7!"0BA4$N$?$a$d$a$^$7$?!#(B +% \changes{v1.0w}{2018/04/08}{$B0BA4$N$?$a%U%)!<%^%C%H:n@.;~$N(B +% $B%P%J!<I=<($r$d$a$?(B} +%\else +% In the previous version, we displayed \pLaTeX\ version +% on the terminal, so that it can be easily recognized +% during format creation; however |\everyjob| can contain +% any code other than showing a banner, so now disabled. +% \changes{v1.0w}{2018/04/08}{Stop showing banner during +% format generation for safety} +%\fi +% \begin{macrocode} +%\the\everyjob +% \end{macrocode} +% +%\ifJAPANESE +% \pLaTeXe{}$B$N5/F0;~$K(B\file{platex.cfg}$B$,$"$k>l9g!"$=$l$rFI$_9~$`(B +% $B$h$&$K$7$^$9!#(B +% $B%P!<%8%g%s(B2016/07/01$B$G$O%3!<%I$r(B\file{plcore.ltx}$B$KF~$l$F$$$^$7$?(B +% $B$,!"(B\file{platex.ltx}$B$X0\F0$7$^$7$?!#(B +% \changes{v1.0m}{2016/08/26}{\file{platex.cfg}$B$NFI$_9~$_$r(B +% \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B} +%\else +% Load \file{platex.cfg} if it exists at runtime. +% \changes{v1.0m}{2016/08/26}{Moved loading \file{platex.cfg} +% from \file{plcore.ltx} to \file{platex.ltx}} +%\fi +% \begin{macrocode} +\everyjob\expandafter{% + \the\everyjob + \IfFileExists{platex.cfg}{% + \typeout{*************************^^J% + * Loading platex.cfg.^^J% + *************************}% + \input{platex.cfg}}{}% +} +% \end{macrocode} +% +%\ifJAPANESE +% $B%U%)!<%^%C%H%U%!%$%k$K%@%s%W$7$^$9!#(B +% \changes{v1.0i}{2016/05/12}{$B0l;~%3%^%s%I(B\cs{orgdump}$B$r:G=*E*$KL$Dj5A$X(B} +%\else +% Dump to the format file. +% \changes{v1.0i}{2016/05/12}{Undefine temporary command +% \cs{orgdump} in the end.} +%\fi +% \begin{macrocode} +\let\dump\orgdump +\let\orgdump\@undefined +\makeatother +\dump +%\endinput +% \end{macrocode} +% +% \begin{macrocode} +%</plcore> +% \end{macrocode} +% +%\ifJAPANESE +% $B<B:]$K(B\pLaTeXe{}$B$X$N3HD%$r9T$J$C$F$$$k(B\file{plcore.ltx}$B$O!"(B +% \dst{}$B%W%m%0%i%`$K$h$C$F!"<!$N%U%!%$%k$NCGJR$,O"7k$5$l$?$b$N$G$9!#(B +% +% \begin{itemize} +% \item \file{plvers.dtx}$B$O!"(B\pLaTeXe{}$B$N%U%)!<%^%C%H%P!<%8%g%s$r(B +% $BDj5A$7$F$$$^$9!#(B +% \item \file{plfonts.dtx}$B$O!"(B\NFSS2$B$r3HD%$7$F$$$^$9!#(B +% \item \file{plcore.dtx}$B$O!">e5-0J30$N%3%^%s%I$G%U%)!<%^%C%H%U%!%$%k$K(B +% $B3JG<$5$l$k%3%^%s%I$rDj5A$7$F$$$^$9!#(B +% \end{itemize} +% +% $B$^$?!"%W%j%m!<%I%U%)%s%H$dAHHG%Q%i%a!<%?$J$I$N%G%U%)%k%H@_Dj$O!"(B +% \file{platex.ltx}$B$NCf$G(B\file{pldefs.ltx}$B$r%m!<%I$9$k$3$H$K$h$j9T$$$^$9(B +% \footnote{$B%"%9%-!<HG$G$O(B\file{plcore.ltx}$B$NCf$G%m!<%I$7$F$$$^$7$?$,!"(B +% 2018$BG/0J9_$N?7$7$$%3%_%e%K%F%#HG(B\pLaTeX{}$B$G$O(B +% \file{platex.ltx}$B$+$iFI$_9~$`$3$H$K$7$^$7$?!#(B}$B!#(B +% $B$3$N%U%!%$%k(B\file{pldefs.ltx}$B$b(B\file{plfonts.dtx}$B$+$i@8@.$5$l$^$9!#(B +% \begin{chuui} +% $B$3$N%U%!%$%k$K5-=R$5$l$F$$$k@_Dj$rJQ99$9$l$P(B +% \pLaTeXe{}$B$r%+%9%?%^%$%:$9$k$3$H$,$G$-$^$9$,!"(B +% $B$=$N>l9g$O(B\file{pldefs.ltx}$B$rD>@\=$@5$9$k$N$G$O$J$/!"$$$C$?$s(B +% \file{pldefs.cfg}$B$H$$$&L>A0$G%3%T!<$7$F!"$=$N%U%!%$%k$rJT=8$7$F$/$@$5$$!#(B +% $B%U%)!<%^%C%H:n@.;~$K(B\file{pldefs.cfg}$B$,B8:_$7$?>l9g$O!"$=$A$i$,(B +% \file{pldefs.ltx}$B$NBe$o$j$KFI$_9~$^$l$^$9!#(B +% \end{chuui} +%\else +% The file \file{plcore.ltx}, which provides modifications/extensions +% to make \pLaTeXe, is a concatenation of stripped files below +% using \dst\ program. +% +% \begin{itemize} +% \item \file{plvers.dtx} defines the format version of \pLaTeXe. +% \item \file{plfonts.dtx} extends \NFSS2 for Japanese font selection. +% \item \file{plcore.dtx} defines other modifications to \LaTeXe. +% \end{itemize} +% +% Moreover, default settings of pre-loaded fonts and typesetting parameters +% are done by loading \file{pldefs.ltx} inside +% \file{platex.ltx}.\footnote{ASCII \pLaTeX\ loaded \file{pldefs.ltx} +% inside \file{plcore.ltx}; however, \pLaTeX\ community edition newer than +% 2018 loads \file{pldefs.ltx} inside \file{platex.ltx}.} +% This file \file{pldefs.ltx} is also stripped from \file{plfonts.dtx}. +% \begin{chuui} +% You can customize \pLaTeXe\ by tuning these settings. +% If you need to do that, copy/rename it as \file{pldefs.cfg} and edit it, +% instead of overwriting \file{pldefs.ltx} itself. +% If a file named \file{pldefs.cfg} is found at a format creation +% time, it will be read as a substitute of \file{pldefs.ltx}. +% \end{chuui} +%\fi +% +% +%\ifJAPANESE +% \subsubsection{$B%P!<%8%g%s(B} +% \pLaTeXe{}$B$N%P!<%8%g%s$d%U%)!<%^%C%H%U%!%$%kL>$O!"(B +% \file{plvers.dtx}$B$GDj5A$7$F$$$^$9!#(B +%\else +% \subsubsection{Version} +% The version (like ``\pfmtversion'') and the format name +% (``\pfmtname'') of \pLaTeXe\ are defined in \file{plvers.dtx}. +%\fi +% +% +%\ifJAPANESE +% \subsubsection{\NFSS2$B%3%^%s%I(B} +% \LaTeXe{}$B$G$O!"%U%)%s%HA*Br5!9=$H$7$F(B\NFSS2$B$rMQ$$$F$$$^$9!#(B +% \pLaTeXe{}$B$G$O!"%*%j%8%J%k$N(B\NFSS2$B$HF1MM$N%$%s%?!<%U%'%$%9$G!"(B +% $BOBJ8%U%)%s%H$rA*Br$G$-$k$h$&$K!"(B\file{plfonts.dtx}$B$G(B\NFSS2$B$r3HD%$7$F$$$^$9!#(B +% +% \pLaTeXe{}$B$N(B\NFSS2$B$O!"%U%)%s%H$r@ZBX$($k%3%^%s%I$r;XDj$9$k$H$-$K!"(B +% $B$=$l$,2$J8=qBN$+OBJ8=qBN$N$$$:$l$+$rBP>]$H$9$k$b$N$+$r!"(B +% $B$G$-$k$@$10U<1$7$J$$$h$&$K$9$kJ}8~$G3HD%$7$F$$$^$9!#(B +% $B$$$$$+$($l$P!"%3%^%s%I$,!J2DG=$J8B$j$N!KH=CG$r$7$^$9!#(B +% $B$7$?$,$C$F?tB?$/$"$k1Q8lHG$N%/%i%9%U%!%$%k$d%Q%C%1!<%8%U%!%$%k$J$I$G(B +% $B=qBN$NJQ99$r9T$C$F$$$k2U=j$r=$@5$9$kI,MW$O$"$^$j$"$j$^$;$s!#(B +% +% \NFSS2$B$K$D$$$F$N>\:Y$O!"(B\LaTeXe{}$B$KIUB0$N(B\file{fntguide.tex}$B$r;2>H$7$F(B +% $B$/$@$5$$!#(B +%\else +% \subsubsection{\NFSS2 Commands} +% \LaTeXe\ uses \NFSS2 as a font selection scheme, however, it +% supports only alphabetic fonts. +% \pLaTeXe\ extends \NFSS2 to enable selection of Japanese fonts in +% a consistent manner with the original \NFSS2. +% +% Most of the interface commands are defined to be clever enough, +% so that it can automatically judge whether it is going to +% change alphpabetic fonts or Japanese fonts. +% It works almost fine with most of the widely used classes and +% packages, without any modification. +% +% For the defail of (the original) \NFSS2, please refer to +% \file{fntguide.tex} in \LaTeXe. +%\fi +% +% +%\ifJAPANESE +% \subsubsection{$B=PNO%k!<%A%s$H%U%m!<%H(B} +% \file{plcore.dtx}$B$O!"<!$N9`L\$K4X$9$k%3%^%s%I$rF|K\8l=hM}MQ$K=$@5$d3HD%(B +% $B$r$7$F$$$^$9!#(B +% +% \begin{itemize} +% \item $B%W%j%"%s%V%k%3%^%s%I(B +% \item $B2~%Z!<%8(B +% \item $B2~9T(B +% \item $B%*%V%8%'%/%H$N=PNO=g=x(B +% \item $B%H%s%\(B +% \item $B5SCm%^%/%m(B +% \item $BAj8_;2>H(B +% \item $B5?;w%?%$%WF~NO(B +% \end{itemize} +%\else +% \subsubsection{Output Routine and Floats} +% \file{plcore.dtx} modifies and extends some \LaTeXe\ commands +% for Japanese processing. +% +% \begin{itemize} +% \item Preamble commands +% \item Page breaking +% \item Line breaking +% \item The order of float objects +% \item Crop marks (``tombow'') +% \item Footnote macros +% \item Cross-referencing +% \item Verbatim +% \end{itemize} +%\fi +% +% +%\ifJAPANESE +% \subsection{$B%/%i%9%U%!%$%k$H%Q%C%1!<%8%U%!%$%k(B} +% +% \pLaTeXe{}$B$,Ds6!$r$9$k%/%i%9%U%!%$%k$d%Q%C%1!<%8%U%!%$%k$O!"(B +% $B%*%j%8%J%k$N%U%!%$%k$r4p$K$7$F$$$^$9!#(B +% +% \pLaTeXe{}$B$KIUB0$N%/%i%9%U%!%$%k$O!"<!$N$H$*$j$G$9!#(B +% +% \begin{itemize} +% \item jarticle.cls, jbook.cls, jreport.cls\par +% $B2#AHMQ$NI8=`%/%i%9%U%!%$%k!#(B +% \file{jclasses.dtx}$B$+$i:n@.$5$l$k!#(B +% +% \item tarticle.cls, tbook.cls, treport.cls\par +% $B=DAHMQ$NI8=`%/%i%9%U%!%$%k!#(B +% \file{jclasses.dtx}$B$+$i:n@.$5$l$k!#(B +% +% \item jltxdoc.cls\par +% $BF|K\8l$N(B\file{.dtx}$B%U%!%$%k$rAHHG$9$k$?$a$N%/%i%9%U%!%$%k!#(B +% \file{jltxdoc.dtx}$B$+$i:n@.$5$l$k!#(B +% \end{itemize} +%\else +% \subsection{Classes and Packages} +% +% Classes and packages bundled with \pLaTeXe\ are based on +% those in original \LaTeXe, with some Japanese localization. +% +% \pLaTeXe\ classes: +% +% \begin{itemize} +% \item jarticle.cls, jbook.cls, jreport.cls\par +% Standard \emph{yoko-kumi} (horizontal writing) classes; +% stripped from \file{jclasses.dtx}. +% +% \item tarticle.cls, tbook.cls, treport.cls\par +% Standard \emph{tate-kumi} (vertical writing) classes; +% stripped from \file{jclasses.dtx}. +% +% \item jltxdoc.cls\par +% Class for typesetting Japanese \file{.dtx} file; +% stripped from \file{jltxdoc.dtx}. +% \end{itemize} +%\fi +% +%\ifJAPANESE +% $B$^$?!"(B\pLaTeXe{}$B$KIUB0$N%Q%C%1!<%8%U%!%$%k$O!"<!$N$H$*$j$G$9!#(B +% \changes{v1.0d}{2016/01/27}{\pLaTeXe{}$B$KIUB0$9$k%U%!%$%k$N@bL@$r99?7(B} +% \changes{v1.0j}{2016/05/20}{pfltrace$B$N@bL@$rDI2C(B} +% +% \begin{itemize} +% \item plext.sty\par +% $B=DAHMQ$N3HD%%3%^%s%I$J$I$,Dj5A$5$l$F$$$k%U%!%$%k!#(B +% \file{plext.dtx}$B$+$i:n@.$5$l$k!#(B +% +% \item ptrace.sty\par +% \LaTeX{}$B$G%U%)%s%HA*Br%3%^%s%I$N%H%l!<%9$K;H$&(B\file{tracefnt.sty}$B$,(B +% $B:FDj5A$7$F$7$^$&(B\NFSS2$B%3%^%s%I$r!"(B\pLaTeXe{}$BMQ$K:F!9Dj5A$9$k$?$a$N(B +% $B%Q%C%1!<%8!#(B +% \file{plfonts.dtx}$B$+$i:n@.$5$l$k!#(B +% +% \item pfltrace.sty\par +% \LaTeX{}$B$G%U%m!<%H4XO"%3%^%s%I$N%H%l!<%9$K;H$&(B\file{fltrace.sty}% +% \footnote{\LaTeXe\ 2014/05/01$B$GDI2C$5$l$^$7$?!#;29M!'(B +% \LaTeXe\ News Issue 21 (ltnews21.tex)}$B$,:FDj5A$7$F$7$^$&%3%^%s%I(B +% $B$r!"(B\pLaTeXe{}$BMQ$K:F!9Dj5A$9$k$?$a$N%Q%C%1!<%8!#(B +% \file{plcore.dtx}$B$+$i:n@.$5$l$k!#(B +% +% \item oldpfont.sty\par +% \pLaTeX~2.09$B$N%U%)%s%H%3%^%s%I$rDs6!$9$k%Q%C%1!<%8!#(B +% \file{pl209.dtx}$B$+$i:n@.$5$l$k!#(B +% \end{itemize} +% +% $B$J$*!"0JA0$N%P!<%8%g%s$KF1:-$7$F$$$?(Bascmac$B%Q%C%1!<%8$H(B +% nidanfloat$B%Q%C%1!<%8$O!"JL$N%P%s%I%k$H$7$FFHN)$5$;$^$7$?!#(B +% \changes{v1.0t}{2018/02/07}{ascmac$B%Q%C%1!<%8$rFHN)$5$;$?(B} +% \changes{v1.0u}{2018/02/18}{nidanfloat$B%Q%C%1!<%8$rFHN)$5$;$?(B} +%\else +% \pLaTeXe\ packages: +% \changes{v1.0d}{2016/01/27}{Updated descriptions of \pLaTeXe\ files} +% \changes{v1.0j}{2016/05/20}{Add description of `pfltrace'} +% +% \begin{itemize} +% \item plext.sty\par +% Useful macros and extensions for vertical writing; +% stripped from \file{plext.dtx}. +% +% \item ptrace.sty\par +% \pLaTeXe\ version of \file{tracefnt.sty}; +% the package \file{tracefnt.sty} overwrites \pLaTeXe-style \NFSS2 +% commands, so \file{ptrace.sty} provides redefinitions to recover +% \pLaTeXe\ extensions. +% Stripped from \file{plfonts.dtx}. +% +% \item pfltrace.sty\par +% \pLaTeXe\ version of \file{fltrace.sty} (introduced in +% \LaTeXe\ 2014/05/01); +% stripped from \file{plcore.dtx}. +% +% \item oldpfont.sty\par +% Provides \pLaTeX~2.09 font commands; +% stripped from \file{pl209.dtx}. +% \end{itemize} +% +% The packages ``ascmac.sty'' and ``nidanfloat.sty'', +% which had been included in previous versions of \pLaTeX, +% is now distributed as a separate bundle. +% \changes{v1.0t}{2018/02/07}{Moved ascmac package to separate bundle} +% \changes{v1.0u}{2018/02/18}{Moved nidanfloat package to separate bundle} +%\fi +% +% +%\ifJAPANESE +% \section{$BB>$N%U%)!<%^%C%H!&5l%P!<%8%g%s$H$N8_49@-(B} +% \label{platex:compatibility} +% $B$3$3$G$O!"$3$N(B\pLaTeXe{}$B$N%P!<%8%g%s$H0JA0$N%P!<%8%g%s!"$"$k$$$O(B +% \LaTeXe{}$B$H$N8_49@-$K$D$$$F@bL@$r$7$F$$$^$9!#(B +% +% \subsection{\LaTeXe{}$B$H$N8_49@-(B} +% \pLaTeXe{}$B$O!"(B\LaTeXe{}$B$N>e0L8_49$H$$$&7A$r<h$C$F$$$^$9$,!"(B +% $B$$$/$D$+$NL?Na$NDj5A$d%Q%i%a!<%?$J$I$bJQ99$7$F$$$^$9!#(B +% $B$7$?$,$C$F1QJ8=q$J$I!"(B\LaTeXe{}$B$G$b=hM}$G$-$k%U%!%$%k$r(B +% \pLaTeXe{}$B$G=hM}$7$F$b!"40A4$KF1$87k2L$K$J$k$H$O8B$j$^$;$s!#(B +% +% \LaTeXe{}$B8~$1$K=q$+$l$?B?$/$N%/%i%9%U%!%$%k$d%Q%C%1!<%8%U%!%$%k$O!"(B +% $B$=$N$^$^;H$($k$H;W$$$^$9!#(B +% $B$?$@$7!"$=$l$i$,(B\pLaTeXe{}$B$G3HD%$7$F$$$k%3%^%s%I$HF1$8L>A0$N(B +% $B%3%^%s%I$r:FDj5A$7$F$$$k>l9g$O!"(B +% $B$=$N3HD%$N;EJ}$K$h$C$F$O%(%i!<$K$J$k$3$H$b$"$j$^$9!#(B +% $BMQ$$$h$&$H$7$F$$$k%/%i%9%U%!%$%k$d%Q%C%1!<%8%U%!%$%k$,(B +% $B$&$^$/F0$/$+$I$&$+$r!"40A4$K3N$+$a$kJ}K!$O;DG0$J$,$i$"$j$^$;$s!#(B +% $B0lHV4JC1$J$N$O!"F0$+$7$F$_$k$3$H$G$9!#IT9,$K$b$&$^$/F0$+$J$$>l9g$O!"(B +% $B%m%0%U%!%$%k$dIUB0$NJ8=q%U%!%$%k$r;29M$K860x$rD4$Y$F$/$@$5$$!#(B +% +% $B$J$*!"$$$/$D$+$N(B\LaTeX{}$B%Q%C%1!<%8$K$D$$$F$O!"(B\pLaTeX{}$B8~$1$N(B +% $B%Q%C%A$,MQ0U$5$l$F$$$^$9!#$=$N0lMw$O!"(B +% \texttt{plautopatch}$B%Q%C%1!<%8!J(BHironobu Yamashita$B:n!K$N(B +% $B%I%-%e%a%s%H!JF|K\8lHG$O(Bplautopatch-ja.pdf$B!K$K5-:\$5$l$F$$$^$9!#(B +% \changes{v1.0x}{2018/09/03}{plautopatch$B$K8@5Z(B} +%\else +% \section{Compatibility with Other Formats and Older Versions} +% \label{platex:compatibility} +% Here we provide some information about the compatibility between +% current \pLaTeXe\ and older versions or original \LaTeXe. +% +% \subsection{Compatibility with \LaTeXe} +% \pLaTeXe\ is in most part upper compatible with \LaTeXe, +% but some parameters are adjusted to be suitable for Japanese. +% Therefore, you should not expect identical output, even though +% the same source can be processed on both \LaTeXe\ and \pLaTeXe. +% +% We hope that most classes and packages meant for \LaTeXe\ works +% also for \pLaTeXe\ without any modification. However for example, +% if a class or a package redefines a command which is already +% modified by \pLaTeXe, it might cause an error at the worst case. +% We cannot tell whether a class or a package works fine with +% \pLaTeXe\ beforehand; the easiest way is to try to use it. +% If it fails, please refer to the log file or a package manual. +% +% Some \LaTeX\ packages are known to be incompatible with \pLaTeX. +% For those packages, \pLaTeX-specific patches might be available. +% Please refer to the documentation of the \texttt{plautopatch} +% package (by Hironobu Yamashita). +% \changes{v1.0x}{2018/09/03}{Mention plautopatch.} +%\fi +% +%\ifJAPANESE +% \subsection{\pLaTeX~2.09$B$H$N8_49@-(B} +% \pLaTeXe{}$B$G$O!"J8=q$,;HMQ$9$k%/%i%9$r!"(B +% $B%W%j%"%s%V%k$G(B|\documentclass|$B%3%^%s%I$K$h$j;XDj$7$^$9!#(B +% $B$3$3$G(B|\documentclass|$B$NBe$o$j$K(B|\documentstyle|$B$r(B +% $BMQ$$$k$H!"(B\pLaTeXe{}$B$O<+F0E*$K(B\emph{2.09$B8_49%b!<%I(B}$B$KF~$j$^$9!#(B +% $B$3$l$O(B\LaTeXe{}$B$,(B\LaTeX~2.09$B8_49%b!<%I$KF~$k$N$HF1MM$G!"(B +% $B8_49%b!<%I$O8E$$J8=q$rAHHG$9$k$?$a$@$1$K:n$i$l$F$$$^$9!#(B +% $B?7$7$/J8=q$r:n@.$9$k>l9g$O!"(B|\documentclass|$B%3%^%s%I$rMQ$$$F$/$@$5$$!#(B +% +% $B8_49%b!<%I$G$O(B(p)\LaTeXe{}$B$N?7$7$$5!G=$rMxMQ$G$-$:!"(B +% $B$^$?8E$$%M%$%F%#%V$J(B\pLaTeX~2.09$B4D6-$HHyL/$K0[$J$k7k2L$K$J$k(B +% $B2DG=@-$b$"$k$H$$$&E@$O!"1Q8lHG$N(B\LaTeXe{}$B$G$bF1$8$G$9!#(B +% $B>\:Y$O!"(B\LaTeXe $B$KIUB0$N(B\file{usrguide.tex}$B$r;2>H$7$F$/$@$5$$!#(B +%\else +% \subsection{Compatibility with \pLaTeX~2.09} +% \pLaTeXe\ has `\pLaTeX~2.09 compatibility mode'; use +% |\documentstyle| to enter it, but the support might be limited. +% Note that the 2.09 compatibility mode is provided solely to +% allow you to process very old documents, +% which were written for a very old system. +%\fi +% +% +%\ifJAPANESE +% \subsection{latexrelease$B%Q%C%1!<%8$X$NBP1~(B} +% \changes{v1.0e}{2016/02/16}{platexrelease$B$N@bL@$rDI2C(B} +% \LaTeX\ \texttt{<2015/01/01>}$B$GF3F~$5$l$?(Blatexrelease$B%Q%C%1!<%8$r(B +% $B$b$H$K!"?7$7$$(B\pLaTeX{}$B$G$O(Bplatexrelease$B%Q%C%1!<%8$rMQ0U$7$^$7$?!#(B +% platexrelease$B%Q%C%1!<%8$rMQ$$$k$H!"2a5n$N(B\pLaTeX{}$B$r%(%_%e%l!<%H(B +% $B$7$?$j!"%U%)!<%^%C%H$r:n$jD>$9$3$H$J$/?7$7$$(B\pLaTeX{}$B$r;n$7$?$j$9$k(B +% $B$3$H$,$G$-$^$9!#>\:Y$O(Bplatexrelease$B$N%I%-%e%a%s%H$r;2>H$7$F$/$@$5$$!#(B +%\else +% \subsection{Support for Package `latexrelease'} +% \changes{v1.0e}{2016/02/16}{Add a description of platexrelease} +% \pLaTeX\ provides `platexrelease' package, which is based on +% `latexrelease' package (introduced in \LaTeX\ \texttt{<2015/01/01>}). +% It may be used to ensure stability where needed, by emulating +% the specified format date without regenerating the format file. +% For more detail, please refer to its documentation. +%\fi +% +% +% +% \appendix +% +%\ifJAPANESE +% \section{\dst{}$B%W%m%0%i%`$N$?$a$N%*%W%7%g%s(B}\label{app:dst} +% $B$3$NJ8=q$N%=!<%9(B(\file{platex.dtx})$B$r(B\dst{}$B%W%m%0%i%`$G(B +% $B=hM}$9$k$3$H$K$h$C$F!"(B +% $B$$$/$D$+$N0[$J$k%U%!%$%k$r@8@.$9$k$3$H$,$G$-$^$9!#(B +% \dst{}$B%W%m%0%i%`$N>\:Y$O!"(B\file{docstrip.dtx}$B$r;2>H$7$F$/$@$5$$!#(B +% +% $B$3$NJ8=q$N(B\dst{}$B%W%m%0%i%`$N$?$a$N%*%W%7%g%s$O!"<!$N$H$*$j$G$9!#(B +% +% \DeleteShortVerb{\|} +% \begin{center} +% \begin{tabular}{l|p{.8\linewidth}} +% \emph{$B%*%W%7%g%s(B} & \emph{$B0UL#(B}\\\hline +% plcore & $B%U%)!<%^%C%H%U%!%$%k$r:n$k$?$a$N%U%!%$%k$r@8@.(B\\ +% pldoc & \pLaTeXe{}$B$N%=!<%9%U%!%$%k$r$^$H$a$FAHHG$9$k$?$a$N(B +% $BJ8=q%U%!%$%k(B(pldoc.tex)$B$r@8@.(B\\[2mm] +% shprog & $B>e5-$N%U%!%$%k$r:n@.$9$k$?$a$N(Bsh$B%9%/%j%W%H$r@8@.(B\\ +% plprog & $BF~$l;R9=B$$rD4$Y$k4JC1$J(Bperl$B%9%/%j%W%H$r@8@.(B\\ +% Xins & $B>e5-$N(Bsh$B%9%/%j%W%H$d(Bperl$B%9%/%j%W%H$r<h$j=P$9$?$a$N(B +% \dst{}$B%P%C%A%U%!%$%k(B(Xins.ins)$B$r@8@.(B\\ +% \end{tabular} +% \end{center} +% \MakeShortVerb{\|} +%\else +% \section{\dst\ Options}\label{app:dst} +% By processing \file{platex.dtx} with \dst\ program, +% different files can be generated. +% Here are the \dst\ options for this document: +% +% \DeleteShortVerb{\|} +% \begin{center} +% \begin{tabular}{l|p{.8\linewidth}} +% \emph{Option} & \emph{Function}\\\hline +% plcore & Generates a fragment of format sources\\ +% pldoc & Generates `pldoc.tex' for typesetting +% \pLaTeXe\ sources\\[2mm] +% shprog & Generates a shell script to process `pldoc.tex'\\ +% plprog & Generates a tiny perl program to check +% \dst\ guards nesting\\ +% Xins & Generates a \dst\ batch file `Xins.ins' for +% generating the above shell/perl scripts\\ +% \end{tabular} +% \end{center} +% \MakeShortVerb{\|} +%\fi +% +%\ifJAPANESE +% \subsection{$B%U%!%$%k$N<h$j=P$7J}(B} +% +% $B$?$H$($P!"$3$NJ8=q$N(B``plcore''$B$NItJ,$r(B``\file{platex.ltx}''$B$H$$$&(B +% $B%U%!%$%k$K$9$k$H$-$N<j=g$O$D$.$N$h$&$K$J$j$^$9!#(B +% +% \begin{enumerate} +% \item platex docstrip +% \item $BF~NO%U%!%$%k$N3HD%;R!J(Bdtx$B!K$rF~NO$9$k!#(B +% \item $B=PNO%U%!%$%k$N3HD%;R!J(Bltx$B!K$rF~NO$9$k!#(B +% \item \dst{}$B%*%W%7%g%s!J(Bplcore$B!K$rF~NO$9$k!#(B +% \item $BF~NO%U%!%$%kL>!J(Bplatex$B!K$rF~NO$9$k!#(B +% \item \file{platex.ltx}$B$,B8:_$9$k>l9g$O!"3NG'$r5a$a$F$/$k$N$G!"(B +% ``y''$B$rF~NO$9$k!#(B +% \item $BJL$N=hM}$r9T$J$&$+$rLd$o$l$k$N$G!"(B``n''$B$rF~NO$9$k!#(B +% \end{enumerate} +% $B$3$l$G!"(B\file{platex.ltx}$B$,:n$i$l$^$9!#(B +% +% $B$"$k$$$O!"<!$N$h$&$JFbMF$N%U%!%$%k(B\file{fmt.ins}$B$r:n@.$7!"(B +% |platex fmt.ins|$B$9$k$3$H$G$b(B\file{platex.ltx}$B$r:n$k$3$H$,$G$-$^$9!#(B +% +%\begin{verbatim} +% \def\batchfile{fmt.ins} +% \input docstrip.tex +% \generateFile{platex.ltx}{t}{\from{platex.dtx}{plcore}} +%\end{verbatim} +%\else +% ^^A (- English version omitted, not so useful -) +%\fi +% +% +%\ifJAPANESE +% \section{$BJ8=q%U%!%$%k(B}\label{app:pldoc} +% \changes{v1.0c}{1997/01/25}{pldoc.dic$B$r(Bfilecontents$B4D6-$K$h$j:n@.(B} +% $B$3$3$G$O!"$3$N%Q%C%1!<%8$K4^$^$l$F$$$k(Bdtx$B%U%!%$%k$r$^$H$a$FAHHG$7!"(B +% $B%=!<%9%3!<%I@bL@=q$rF@$k$?$a$NJ8=q%U%!%$%k(B\file{pldoc.tex}$B$K$D$$$F(B +% $B@bL@$r$7$F$$$^$9!#8DJL$K=hM}$7$?>l9g$H0[$J$j!"(B +% $BJQ99MzNr$d:w0z$bIU$-$^$9!#A4BN$G!"$*$h$=(B200$B%Z!<%8DxEY$K$J$j$^$9!#(B +% +% $B%G%U%)%k%H$G$O%=!<%9%3!<%I$N@bL@$,F|K\8l$G=q$+$l$^$9!#(B +% $B$b$71Q8l$N@bL@=q$rFI$_$?$$>l9g$O!"(B\par\medskip +% \begin{minipage}{.5\textwidth}\ttfamily +% | |\cs{newif}\cs{ifJAPANESE} +% \end{minipage}\par\medskip\noindent +% $B$H$$$&FbMF$N(B\file{platex.cfg}$B$rM=$aMQ0U$7$F$+$i(B\file{pldoc.tex}$B$r(B +% $B=hM}$7$F$/$@$5$$!J(B2016$BG/(B7$B7n(B1$BF|0J9_$N%3%_%e%K%F%#HG(B\pLaTeXe{}$B$,I,MW!K!#(B +%\else +% \section{Documentation of \pLaTeXe\ sources}\label{app:pldoc} +% \changes{v1.0c}{1997/01/25}{Add to filecontents environment for pldoc.dic.} +% The contents of `pldoc.tex' for typesetting \pLaTeXe\ sources +% is described here. Compared to individual processings, +% batch processing using `pldoc.tex' prints also changes and an index. +% The whole document will have about 200 pages. +% +% By default, the description of \pLaTeXe\ sources is written in +% Japanese. If you need English version, first save\par\medskip +% \begin{minipage}{.5\textwidth}\ttfamily +% | |\cs{newif}\cs{ifJAPANESE} +% \end{minipage}\par\medskip\noindent +% as \file{platex.cfg}, and process \file{pldoc.tex} +% (\pLaTeXe\ Community Edition newer than July 2016 is required). +%\fi +% +%\ifJAPANESE +% |filecontents|$B4D6-$O!"0z?t$K;XDj$5$l$?%U%!%$%k$,B8:_$9$k$H$-$O2?$b(B +% $B$7$^$;$s$,!"B8:_$7$J$$$H$-$O!"4D6-Fb$NFbMF$G%U%!%$%k$r:n@.$7$^$9!#(B +% \file{pldoc.dic}$B%U%!%$%k$O!"(Bmendex$B%W%m%0%i%`$G:w0z$r=hM}$9$k$H$-$K(B +% \cs{$B@>Nq(B}, \cs{$BOBNq(B}$B$KBP$9$k!VFI$_!W$rIU$1$k$?$a$KI,MW$G$9!#(B +%\else +% First, create \file{pldoc.dic}; it serves as a dictionary +% for `mendex' (Japanese index processor\footnote{Developed by +% ASCII Corporation; the program `makeindex' cannot handle +% Japanese characters properly, especially Kanji characters +% which should be sorted by its readings.}), which is necessary +% for indexing control sequences containing Japanese characters +% (\cs{$B@>Nq(B} and \cs{$BOBNq(B}). +%\fi +% \begin{macrocode} +%<*pldoc> +\begin{filecontents}{pldoc.dic} +$B@>Nq(B $B$;$$$l$-(B +$BOBNq(B $B$o$l$-(B +\end{filecontents} +% \end{macrocode} +% +%\ifJAPANESE +% $BJ8=q%/%i%9$K$O!"(B\file{jltxdoc}$B%/%i%9$rMQ$$$^$9!#(B +% \file{plext.dtx}$B$NCf$G%5%s%W%k$rAH$_N)$F$F$$$^$9$N$G!"(B +% \file{plext}$B%Q%C%1!<%8$,I,MW$G$9!#(B +%\else +% We use \file{jltxdoc} class; we also require \file{plext} package, +% since \file{plext.dtx} contains several examples of partial +% vertical writing. +%\fi +% \begin{macrocode} +\documentclass{jltxdoc} +\usepackage{plext} +\listfiles + +% \end{macrocode} +%\ifJAPANESE +% $B$$$/$D$+$N(B\TeX{}$B%W%j%_%F%#%V$H(Bplain \TeX{}$B%3%^%s%I$r(B +% $B:w0z$K=PNO$7$J$$$h$&$K$7$^$9!#(B +%\else +% Do not index some \TeX\ primitives, and some common +% plain \TeX\ commands. +%\fi +% \begin{macrocode} +\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global} +\DoNotIndex{\if,\ifnum,\ifdim,\ifcat,\ifmmode,\ifvmode,\ifhmode,% + \iftrue,\iffalse,\ifvoid,\ifx,\ifeof,\ifcase,\else,\or,\fi} +\DoNotIndex{\box,\copy,\setbox,\unvbox,\unhbox,\hbox,% + \vbox,\vtop,\vcenter} +\DoNotIndex{\@empty,\immediate,\write} +\DoNotIndex{\egroup,\bgroup,\expandafter,\begingroup,\endgroup} +\DoNotIndex{\divide,\advance,\multiply,\count,\dimen} +\DoNotIndex{\relax,\space,\string} +\DoNotIndex{\csname,\endcsname,\@spaces,\openin,\openout,% + \closein,\closeout} +\DoNotIndex{\catcode,\endinput} +\DoNotIndex{\jobname,\message,\read,\the,\m@ne,\noexpand} +\DoNotIndex{\hsize,\vsize,\hskip,\vskip,\kern,\hfil,\hfill,\hss,\vss,\unskip} +\DoNotIndex{\m@ne,\z@,\z@skip,\@ne,\tw@,\p@,\@minus,\@plus} +\DoNotIndex{\dp,\wd,\ht,\setlength,\addtolength} +\DoNotIndex{\newcommand, \renewcommand} + +% \end{macrocode} +%\ifJAPANESE +% $B:w0z$HJQ99MzNr$N8+=P$7$K(B|\part|$B$rMQ$$$k$h$&$K@_Dj$r$7$^$9!#(B +%\else +% Set up the Index and Change History to use |\part|. +%\fi +% \begin{macrocode} +\ifJAPANESE +\IndexPrologue{\part*{$B:w(B $B0z(B}% + \markboth{$B:w(B $B0z(B}{$B:w(B $B0z(B}% + \addcontentsline{toc}{part}{$B:w(B $B0z(B}% +$B%$%?%j%C%/BN$N?t;z$O!"$=$N9`L\$,@bL@$5$l$F$$$k%Z!<%8$r<($7$F$$$^$9!#(B +$B2<@~$N0z$+$l$??t;z$O!"Dj5A$5$l$F$$$k%Z!<%8$r<($7$F$$$^$9!#(B +$B$=$NB>$N?t;z$O!"$=$N9`L\$,;H$o$l$F$$$k%Z!<%8$r<($7$F$$$^$9!#(B} +\else +\IndexPrologue{\part*{Index}% + \markboth{Index}{Index}% + \addcontentsline{toc}{part}{Index}% +The italic numbers denote the pages where the corresponding entry +is described, numbers underlined point to the definition, +all others indicate the places where it is used.} +\fi +% +\ifJAPANESE +\GlossaryPrologue{\part*{$BJQ99MzNr(B}% + \markboth{$BJQ99MzNr(B}{$BJQ99MzNr(B}% + \addcontentsline{toc}{part}{$BJQ99MzNr(B}} +\else +\GlossaryPrologue{\part*{Change History}% + \markboth{Change History}{Change History}% + \addcontentsline{toc}{part}{Change History}} +\fi + +% \end{macrocode} +%\ifJAPANESE +% $BI8=`$N(B|\changes|$B%3%^%s%I$r!"J#?t%U%!%$%k$NJ8=q$K9g$&$h$&$K=$@5$7$F$$$^$9!#(B +%\else +% Modify the standard |\changes| command slightly, to better cope with +% this multiple file document. +%\fi +% \begin{macrocode} +\makeatletter +\def\changes@#1#2#3{% + \let\protect\@unexpandable@protect + \edef\@tempa{\noexpand\glossary{#2\space + \currentfile\space#1\levelchar + \ifx\saved@macroname\@empty + \space\actualchar\generalname + \else + \expandafter\@gobble + \saved@macroname\actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar + \fi + :\levelchar #3}}% + \@tempa\endgroup\@esphack} +% \end{macrocode} +%\ifJAPANESE +% $B%3!<%I9T$G$O!">/$7$N(BOverfull$B$r7Y9pL5$7$K5vMF$7$^$9!#(B +% \changes{v1.0v}{2018/04/06}{$B:G?7$N(Bsource2e$B$X$NDI?o(B} +%\else +% Codelines are allowed to run over a bit without +% showing up as overfull. +% \changes{v1.0v}{2018/04/06}{Sync with the latest \file{source2e.tex}} +%\fi +% \begin{macrocode} +\renewcommand*\MacroFont{\fontencoding\encodingdefault + \fontfamily\ttdefault + \fontseries\mddefault + \fontshape\updefault + \small + \hfuzz 6pt\relax} +% \end{macrocode} +%\ifJAPANESE +% $B>OHV9f$N7e?t$,B?$$>l9g$r9MN8$7!"L\<!$G$N%9%Z!<%9$r>/$7A}$d$7$^$9!#(B +%\else +% Section numbers now reach eg 19.12 which need more space. +%\fi +% \begin{macrocode} +\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.8em}} +\renewcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.4em}} +\makeatother +% \end{macrocode} +%\ifJAPANESE +% $BJQ99MzNr$H(B2$BCJAH$N:w0z$r:n@.$7$^$9!#(B +%\else +% Produce a Change Log and (2 column) Index. +%\fi +% \begin{macrocode} +\RecordChanges +\CodelineIndex +\EnableCrossrefs +\setcounter{IndexColumns}{2} +\settowidth\MacroIndent{\ttfamily\scriptsize 000\ } +% \end{macrocode} +%\ifJAPANESE +% $B$3$NJ8=q$N%?%$%H%k!&Cx<T!&F|IU$r@_Dj$7$^$9!#(B +% \changes{v1.0c}{1997/01/29}{\file{pltpatch.ltx}$B$r(B\file{plpatch.ltx}$B$KL>>NJQ99(B} +% \changes{v1.0h}{2016/05/08}{$B%I%-%e%a%s%H$+$i(B\file{plpatch.ltx}$B$r=|30(B} +% \changes{v1.0l}{2016/06/19}{$B%Q%C%A%l%Y%k$r(B\file{plvers.dtx}$B$+$i<hF@(B} +% \changes{v1.0o}{2017/09/24}{$B%Q%C%A%l%Y%k$,Ii$N?t$N>l9g$r(Bpre-release$B07$$$X(B} +% \changes{v1.0y}{2018/09/22}{$B:G=*99?7F|$r(B\file{pldoc.pdf}$B$KI=<((B} +%\else +% Set the title, authors and the date for this document. +% \changes{v1.0c}{1997/01/29}{Rename \file{pltpatch.ltx} to \file{plpatch.ltx}.} +% \changes{v1.0h}{2016/05/08}{Exclude \file{plpatch.ltx} from the document} +% \changes{v1.0l}{2016/06/19}{Get the patch level from \file{plvers.dtx}} +% \changes{v1.0o}{2017/09/24}{Allow negative patch level for pre-release} +% \changes{v1.0y}{2018/09/22}{Show last update info on \file{pldoc.pdf}} +%\fi +% \begin{macrocode} + \title{The \pLaTeXe\ Sources} + \author{Ken Nakano \& Japanese \TeX\ Development Community} + +% Get the date and patch level from plvers.dtx +\makeatletter +\let\patchdate=\@empty +\begingroup + \def\ProvidesFile#1\pfmtversion#2#3\ppatch@level#4{% + \date{#2}\xdef\patchdate{#4}\endinput} + \input{plvers.dtx} +\endgroup + +% Add the patch version if available. +\def\Xpatch{0} +\ifx\patchdate\Xpatch\else +% number is assumed +\ifnum\patchdate>0 + \edef\@date{\@date\space Patch level\space\patchdate} +\else + \edef\@date{\@date\space Pre-Release\patchdate} +\fi\fi + +% Add the last update info, in case formate date unchanged +% Note: \@ifl@t@r can be used only in preamble. +\def\lastupd@te{0000/00/00} +\begingroup + \def\ProvidesFile#1[#2 #3]{% + \def\@tempd@te{#2}\endinput + \@ifl@t@r{\@tempd@te}{\lastupd@te}{% + \global\let\lastupd@te\@tempd@te + }{}} + \let\ProvidesClass\ProvidesFile + \let\ProvidesPackage\ProvidesFile + \input{plvers.dtx} + \input{plfonts.dtx} + \input{plcore.dtx} + \input{plext.dtx} + \input{pl209.dtx} + \input{kinsoku.dtx} + \input{jclasses.dtx} + \input{jltxdoc.cls} +\endgroup +\@ifl@t@r{\lastupd@te}{\pfmtversion}{% + \edef\@date{\@date\break (last updated: \lastupd@te)}% +}{} +\makeatother +% \end{macrocode} +%\ifJAPANESE +% $B$3$3$+$i$,K\J8%Z!<%8$H$J$j$^$9!#(B +%\else +% Here starts the document body. +%\fi +% \begin{macrocode} +\begin{document} +\pagenumbering{roman} +\maketitle +\renewcommand\maketitle{} +\tableofcontents +\clearpage +\pagenumbering{arabic} + +\DocInclude{plvers} % pLaTeX version + +\DocInclude{plfonts} % NFSS2 commands + +\DocInclude{plcore} % kernel commands + +\DocInclude{plext} % external commands + +\DocInclude{pl209} % 2.09 compatibility mode commands + +\DocInclude{kinsoku} % kinsoku parameter + +\DocInclude{jclasses} % Standard class + +\DocInclude{jltxdoc} % dtx documents class + +% \end{macrocode} +%\ifJAPANESE +% \file{ltxdoc.cfg}$B$K(B|\AtEndOfClass{\OnlyDescription}|$B$,;XDj$5$l$F$$$k>l9g$O!"(B +% $B$3$3$G=*N;$7$^$9!#(B +%\else +% Stop here if \file{ltxdoc.cfg} says |\AtEndOfClass{\OnlyDescription}|. +%\fi +% \begin{macrocode} +\StopEventually{\end{document}} + +% \end{macrocode} +%\ifJAPANESE +% $BJQ99MzNr$H:w0z$rAHHG$7$^$9!#(B +% $BJQ99MzNr%U%!%$%k$H:w0z$N:n$jJ}$N>\:Y$K$D$$$F$O!"(B +% $B$*$^$1(B\ref{app:shprog}$B$r;2>H$7$F$/$@$5$$!#(B +%\else +% Print Change History and Index. +% Please refer to Appendix \ref{app:shprog} for +% processing of Change History and Index. +%\fi +% \begin{macrocode} +\clearpage +\pagestyle{headings} +% Make TeX shut up. +\hbadness=10000 +\newcount\hbadness +\hfuzz=\maxdimen +% +\PrintChanges +\clearpage +% +\begingroup + \def\endash{--} + \catcode`\-\active + \def-{\futurelet\temp\indexdash} + \def\indexdash{\ifx\temp-\endash\fi} + + \PrintIndex +\endgroup +% \end{macrocode} +%\ifJAPANESE +% \file{ltxdoc.cfg}$B$K(B2$BEYL\$N(B|\PrintIndex|$B$,;XDj$5$l$F$$$k$+$b$7$l$^$;$s!#(B +% $B$=$3$G!":G8e$K!"JQ99MzNr$d:w0z$,(B2$BEYAHHG$5$l$J$$$h$&$K(B|\PrintChanges|$B$*$h$S(B +% |\PrintIndex|$B%3%^%s%I$r2?$b<B9T$7$J$$$h$&$K$7$^$9!#(B +%\else +% Make sure that the index is not printed twice +% (ltxdoc.cfg might have a second \PrintIndex command). +%\fi +% \begin{macrocode} +\let\PrintChanges\relax +\let\PrintIndex\relax +\end{document} +%</pldoc> +% \end{macrocode} +% +% +% +%\ifJAPANESE +% \section{$B$*$^$1%W%m%0%i%`(B}\label{app:omake} +% +% \subsection{$B%7%'%k%9%/%j%W%H(B\file{mkpldoc.sh}}\label{app:shprog} +% \pLaTeXe{}$B$N%^%/%mDj5A%U%!%$%k$r$^$H$a$FAHHG$7!"JQ99MzNr$H:w0z$b(B +% $BIU$1$k$H$-$KJXMx$J%7%'%k%9%/%j%W%H$G$9!#(B +% $B$3$N%7%'%k%9%/%j%W%H(B\footnote{$B$3$N%7%'%k%9%/%j%W%H$O(BUNIX$BMQ$G$9!#(B +% $B$7$+$7(Brm$B%3%^%s%I$r(Bdelete$B%3%^%s%I$K$9$k$J$I$9$l$P!"4JC1$K(BDOS$B$J$I$N%P%C%A(B +% $B%U%!%$%k$K=$@5$9$k$3$H$,$G$-$^$9!#(B}$B$N;HMQJ}K!$O<!$N$H$*$j$G$9!#(B +%\begin{verbatim} +% sh mkpldoc.sh +%\end{verbatim} +%\else +% \section{Additional Utility Programs}\label{app:omake} +% +% \subsection{Shell Script \file{mkpldoc.sh}}\label{app:shprog} +% A shell script to process `pldoc.tex' and produce a fully indexed +% source code description. Run |sh mkpldoc.sh| to use it. +%\fi +% +%\ifJAPANESE +% \subsubsection{\file{mkpldoc.sh}$B$NFbMF(B} +% $B$^$:!"0JA0$K(B\file{pldoc.tex}$B$r=hM}$7$?$H$-$K:n@.$5$l$?!"(B +% $BL\<!%U%!%$%k$d:w0z%U%!%$%k$J$I$r:o=|$7$^$9!#(B +% \changes{v1.0c}{1997/01/23}{gind.ist$B$H(Bgglo.ist$B$r(B +% \$TEXMF/tex/latex2e/base$B%G%#%l%/%H%j$+$i%3%T!<$7$J$$$h$&$K$7$?(B} +% \changes{v1.0d}{2016/01/27}{rm$B%3%^%s%I<B9TA0$KB8:_3NG'$9$k$h$&$K$7$?(B} +%\else +% \subsubsection{Content of \file{mkpldoc.sh}} +% First, delete auxiliary files which might be created in the +% previous runs. +% \changes{v1.0c}{1997/01/23}{Don't copy gind.ist and gglo.ist from +% \$TEXMF/tex/latex2e/base directory.} +% \changes{v1.0d}{2016/01/27}{Add -e test before rm command} +%\fi +% \begin{macrocode} +%<*shprog> +%<ja>rm -f pldoc.toc pldoc.idx pldoc.glo +%<en>rm -f pldoc-en.toc pldoc-en.idx pldoc-en.glo +% \end{macrocode} +%\ifJAPANESE +% $B$=$7$F!"(B\file{ltxdoc.cfg}$B$r6u$K$7$^$9!#(B +% $B$3$N%U%!%$%k$O!"(B\file{jltxdoc.cls}$B$NDj5A$rJQ99$9$k$b$N$G$9$,!"(B +% $B$3$3$G$O!"JQ99$5$l$?$/$"$j$^$;$s!#(B +%\else +% First run: empty the config file \file{ltxdoc.cfg}. +%\fi +% \begin{macrocode} +echo "" > ltxdoc.cfg +% \end{macrocode} +%\ifJAPANESE +% $B$=$7$F!"(B\file{pldoc.tex}$B$r=hM}$7$^$9!#(B +%\else +% Now process \file{pldoc.tex}. +%\fi +% \begin{macrocode} +%<ja>platex pldoc.tex +%<en>platex -jobname=pldoc-en pldoc.tex +% \end{macrocode} +%\ifJAPANESE +% $B:w0z$HJQ99MzNr$r:n@.$7$^$9!#(B +% $B$3$N%9%/%j%W%H$G$O!"JQ99MzNr$d:w0z$r@8@.$9$k$N$K(Bmendex$B%W%m%0%i%`$rMQ$$$F(B +% $B$$$^$9!#(Bmendex$B$O(Bmakeindex$B$N>e0L8_49$N%U%!%$%k@07A%3%^%s%I$G!"(B +% $B:w0z8l$NFI$_$r<+F0E*$KIU$1$k$J$I$N5!G=$,$"$j$^$9!#(B +% +% |-s|$B%*%W%7%g%s$O!":w0z%U%!%$%k$r@07A$9$k$?$a$N%9%?%$%k%*%W%7%g%s$G$9!#(B +% $B:w0zMQ$N(B\file{gind.ist}$B$HJQ99MzNrMQ$N(B\file{gglo.ist}$B$O!"(B +% \LaTeX{}$B$N%G%#%9%H%j%S%e!<%7%g%s$KIUB0$7$F$$$^$9!#(B +% +% |-o|$B$O!"=PNO$9$k%U%!%$%kL>$r;XDj$9$k%*%W%7%g%s$G$9!#(B +% +% |-f|$B$O!"9`L\$K(B``$BFI$_(B''$B$,$J$/$F$b%(%i!<$H$7$J$$%*%W%7%g%s$G$9!#(B +% makeindex$B%3%^%s%I$K$O!"$3$N%*%W%7%g%s$,$"$j$^$;$s!#(B +%\else +% Make the Change log and Glossary (Change History) using mendex. +% `Mendex' is a Japanese index processor, which is mostly upper +% compatible with `makeindex' and automatically handles readings +% of Kanji words. +% +% Option |-s| employs a style file for formatting. +% Here we use \file{gind.ist} and \file{gglo.ist} from \LaTeXe. +% +% Option |-o| specifies output index file name. +% +% Option |-f| forces to output Kanji characters even non-existent +% in dictionaries. (Makeindex does not have this option.) +%\fi +% \begin{macrocode} +%<ja>mendex -s gind.ist -d pldoc.dic -o pldoc.ind pldoc.idx +%<en>mendex -s gind.ist -d pldoc.dic -o pldoc-en.ind pldoc-en.idx +%<ja>mendex -f -s gglo.ist -o pldoc.gls pldoc.glo +%<en>mendex -f -s gglo.ist -o pldoc-en.gls pldoc-en.glo +% \end{macrocode} +%\ifJAPANESE +% \file{ltxdoc.cfg}$B$NFbMF$r(B|\includeonly{}|$B$K$7!"(B\file{pldoc.tex}$B$r=hM}$7$^$9!#(B +% $B$3$N%3%^%s%I$O!"0z?t$K;XDj$5$l$?%U%!%$%k$@$1$r(B``|\include|''$B$9$k$?$a$N(B +% $B%3%^%s%I$G$9$,!"$3$3$G$O2?$b(B|\include|$B$7$?$/(B\emph{$B$J$$(B}$B$N$G!"(B +% $B0z?t$K$O2?$b;XDj$r$7$^$;$s!#(B +% $B$7$+$7!"(B|\input|$B$G;XDj$5$l$F$$$k%U%!%$%k$OFI$_9~$^$l$^$9!#(B +% $B$7$?$,$C$F!"L\<!$d:w0z$dJQ99MzNr$N%U%!%$%k$,=hM}$5$l$^$9!#(B +% $B$3$N=hM}$O!"<g$K!"$3$l$i$G%(%i!<$,=P$k$+$I$&$+$N3NG'$G$9!#(B +%\else +% Second run: append |\includeonly{}| to \file{ltxdoc.cfg} to +% speed up things. This run is needed only to get changes and index +% listed in \file{.toc} file. +%\fi +% \begin{macrocode} +echo "\includeonly{}" > ltxdoc.cfg +%<ja>platex pldoc.tex +%<en>platex -jobname=pldoc-en pldoc.tex +% \end{macrocode} +%\ifJAPANESE +% $B:G8e$K!":F$S(B\file{ltxdoc.cfg}$B$r6u$K$7$F!"(B\file{pldoc.tex}$B$r=hM}$r$7$^$9!#(B +% $BK\J8$r(B1$B%Z!<%8$+$i3+;O$7$F$$$^$9$N$G!"$3$N8e!"$b$&0lEY=hM}$r$9$k(B +% $BI,MW$O$"$j$^$;$s!#(B +%\else +% Third and final run: restore the cfg file to put +% everything together. +%\fi +% \begin{macrocode} +echo "" > ltxdoc.cfg +%<ja>platex pldoc.tex +%<en>platex -jobname=pldoc-en pldoc.tex +# EOT +%</shprog> +% \end{macrocode} +% +% +%\ifJAPANESE +% \subsection{Perl$B%9%/%j%W%H(B\file{dstcheck.pl}}\label{app:plprog} +% \dst{}$BJ8=q%U%!%$%k$O!"(B\LaTeX{}$B$N%=!<%9$H$=$NJ8=q$rF1;~$K4IM}$9$kJ}K!$H$7$F!"(B +% $B$H$F$b$9$0$l$F$$$k$H;W$$$^$9!#$7$+$7!"$?$H$($P(B\file{jclasses.dtx}$B$N$h$&$K!"(B +% $B>r7o$,B?$/$J$k$H!"F~$l;R9=B$$,$o$+$i$J$/$J$C$F$7$^$$$,$A$G$9!#(B +% \LaTeX{}$B$G=hM}$9$l$P!"%(%i!<$K$h$C$F$o$+$j$^$9$,!"(B +% $BJ8=q%U%!%$%k$,Bg$-$/$J$k$HLLE]$G$9!#(B +% +% $B$3$3$G$O!"(B\dst{}$BJ8=q%U%!%$%k$NF~$l;R9=B$$rD4$Y$k$N$KJXMx$J!"(B +% perl$B%9%/%j%W%H$K$D$$$F@bL@$r$7$F$$$^$9!#(B +% +% $B$3$N(Bperl$B%9%/%j%W%H$N;HMQJ}K!$O<!$N$H$*$j$G$9!#(B +%\else +% \subsection{Perl Script \file{dstcheck.pl}}\label{app:plprog} +% Here we provide a perl script which helps checking the nested +% \dst\ guards. Usage: +%\fi +% +%\begin{verbatim} +% perl dstcheck.pl <file-name> +%\end{verbatim} +% +%\ifJAPANESE +%\else +% The description of this script itself is available only in Japanese. +%\fi +% +%\ifJAPANESE +% \subsubsection{\file{dstcheck.pl}$B$NFbMF(B} +% $B:G=i$K!"$3$N(Bperl$B%9%/%j%W%H$,2?$r$9$k$N$+$r4JC1$K5-=R$7$?%3%a%s%H$r(B +% $BIU$1$^$9!#(B +%\fi +% \begin{macrocode} +%<*plprog> +## +## DOCSTRIP $BJ8=qFb$N4D6-$d>r7o$NF~$l;R$rD4$Y$k(B perl $B%9%/%j%W%H(B +## +% \end{macrocode} +%\ifJAPANESE +% $B$3$N%9%/%j%W%H$O!"F~$l;R$NBP1~$rD4$Y$k$?$a$K!"<!$N%9%?%C%/$rMQ$$$^$9!#(B +% \meta{$B>r7o(B}$B$"$k$$$O(B\meta{$B4D6-(B}$B$r3+;O$9$k%3!<%I$,8=$l$?$H$-$K!"(B +% $B$=$l$i$O%9%?%C%/$K%W%C%7%e$5$l!"=*N;$9$k%3!<%I$G%]%C%W$5$l$^$9!#(B +% $B$7$?$,$C$F!"8=:_$N(B\meta{$B>r7o(B}$B$"$k$$$O(B\meta{$B4D6-(B}$B$H!"(B +% $B%9%?%C%/$+$i<h$j=P$7$?(B\meta{$B>r7o(B}$B$"$k$$$O(B\meta{$B4D6-(B}$B$H0lCW$9$l$P!"(B +% $BBP1~$,<h$l$F$$$k$H$$$($^$9!#$=$&$G$J$1$l$P%(%i!<$G$9!#(B +% +% |@dst|$B%9%?%C%/$K$O!"(B\meta{$B>r7o(B}$B$,F~$j$^$9!#(B +% $B>r7o$N3+;O$O!"(B``|%<*|\meta{$B>r7o(B}|>|''$B$G$9!#(B +% $B>r7o$N=*N;$O!"(B``|%</|\meta{$B>r7o(B}|>|''$B$G$9!#(B +% \meta{$B>r7o(B}$B$K$O!"(B|>|$BJ8;z$,4^$^$l$^$;$s!#(B +% |@env|$B%9%?%C%/$K$O!"(B\meta{$B4D6-(B}$B$,F~$j$^$9!#(B +% +% $B@hF,$rL@<(E*$K<($9$?$a$K!"%@%_!<$NCM$r=i4|CM$H$7$FMQ$$$^$9!#(B +% $B%9%?%C%/$O!"(B\meta{$B>r7o(B}$B$"$k$$$O(B\meta{$B4D6-(B}$B$NL>A0$H!"$=$N9THV9f$r%Z%"$K$7$F(B +% $BA`:n$r$7$^$9!#(B +%\fi +% \begin{macrocode} +push(@dst,"DUMMY"); push(@dst,"000"); +push(@env,"DUMMY"); push(@env,"000"); +% \end{macrocode} +%\ifJAPANESE +% $B$3$N(B|while|$B%k!<%W$NCf$N%9%/%j%W%H$O!"J8=q%U%!%$%k$N#19T$4$H$K<B9T$r$7$^$9!#(B +%\fi +% \begin{macrocode} +while (<>) { +% \end{macrocode} +%\ifJAPANESE +% $BF~NO9T$,>r7o$r3+;O$9$k9T$J$N$+$rD4$Y$^$9!#(B +% $B>r7o$N3+;O9T$J$i$P!"(B|@dst|$B%9%?%C%/$K(B\meta{$B>r7o(B}$B$H9THV9f$r%W%C%7%e$7$^$9!#(B +%\fi +% \begin{macrocode} + if (/^%<\*([^>]+)>/) { # check conditions + push(@dst,$1); + push(@dst,$.); +% \end{macrocode} +%\ifJAPANESE +% $B$=$&$G$J$1$l$P!">r7o$N=*N;9T$J$N$+$rD4$Y$^$9!#(B +% $B8=:_9T$,>r7o$N=*N;$r<($7$F$$$k>l9g$O!"(B|@dst|$B%9%?%C%/$r%]%C%W$7$^$9!#(B +%\fi +% \begin{macrocode} + } elsif (/^%<\/([^>]+)>/) { + $linenum = pop(@dst); + $conditions = pop(@dst); +% \end{macrocode} +%\ifJAPANESE +% $B8=:_9T$N(B\meta{$B>r7o(B}$B$H!"%9%?%C%/$+$i<h$j=P$7$?(B\meta{$B>r7o(B}$B$,0lCW$7$J$$>l9g!"(B +% $B$=$N;]$N%a%C%;!<%8$r=PNO$7$^$9!#(B +% +% $B$J$*!"(B|DUMMY|$B$H0lCW$7$?>l9g$O!"0lHV30B&$N%k!<%W$,9g$C$F$$$J$$$H(B +% $B$$$&$3$H$r<($7$F$$$^$9!#$3$N$H$-!"$3$l$i$N%@%_!<CM$r%9%?%C%/$KLa$7$^$9!#(B +% $B$$$D$G$b%9%?%C%/$N@hF,$r%@%_!<CM$K$9$k$?$a$G$9!#(B +%\fi +% \begin{macrocode} + if ($1 ne $conditions) { + if ($conditions eq "DUMMY") { + print "$ARGV: `</$1>' (l.$.) is not started.\n"; + push(@dst,"DUMMY"); + push(@dst,"000"); + } else { + print "$ARGV: `<*$conditions>' (l.$linenum) is ended "; + print "by `<*$1>' (l.$.)\n"; + } + } + } +% \end{macrocode} +%\ifJAPANESE +% $B4D6-$NF~$l;R$b>r7o$HF1$8$h$&$KD4$Y$^$9!#(B +% +% verbatim$B4D6-$N$H$-$K!"$=$NFbB&$r%9%-%C%W$7$F$$$k$3$H$KCm0U$r$7$F$/$@$5$$!#(B +%\fi +% \begin{macrocode} + if (/^% *\\begin\{verbatim\}/) { # check environments + while(<>) { + last if (/^% *\\end\{verbatim\}/); + } + } elsif (/^% *\\begin\{([^{}]+)\}\{(.*)\}/) { + push(@env,$1); + push(@env,$.); + } elsif (/^% *\\begin\{([^{}]+)\}/) { + push(@env,$1); + push(@env,$.); + } elsif (/^% *\\end\{([^{}]+)\}/) { + $linenum = pop(@env); + $environment = pop(@env); + if ($1 ne $environment) { + if ($environment eq "DUMMY") { + print "$ARGV: `\\end{$1}' (l.$.) is not started.\n"; + push(@env,"DUMMY"); + push(@env,"000"); + } else { + print "$ARGV: \\begin{$environement} (l.$linenum) is ended "; + print "by \\end{$1} (l.$.)\n"; + } + } + } +% \end{macrocode} +%\ifJAPANESE +% $B$3$3$^$G$,!":G=i$N(B|while|$B%k!<%W$G$9!#(B +%\fi +% \begin{macrocode} +} +% \end{macrocode} +%\ifJAPANESE +% $BJ8=q%U%!%$%k$rFI$_9~$s$@8e!"=*N;$7$F$$$J$$>r7o$,$"$k$+$I$&$+$r3NG'$7$^$9!#(B +% $B$9$Y$F$N>r7o$NBP1~$,$H$l$F$$$l$P!"$3$N;~E@$G$N(B|@dst|$B%9%?%C%/$K$O(B +% $B%@%_!<CM$7$+F~$C$F$$$^$;$s!#$7$?$,$C$F!"BP1~$,<h$l$F$$$k>l9g$O!"(B +% $B:G=i$N#2$D$N%]%C%W$K$h$C$F!"%@%_!<CM$,@_Dj$5$l$^$9!#(B +% $B%@%_!<CM$G$J$1$l$P!"%@%_!<CM$K$J$k$^$G!"<h$j=P$7$?CM$r=PNO$7$^$9!#(B +%\fi +% \begin{macrocode} +$linenum = pop(@dst); +$conditions = pop(@dst); +while ($conditions ne "DUMMY") { + print "$ARGV: `<*$conditions>' (l.$linenum) is not ended.\n"; + $linenum = pop(@dst); + $conditions = pop(@dst); +} +% \end{macrocode} +%\ifJAPANESE +% $B4D6-$NF~$l;R$K$D$$$F$b!">r7o$NF~$l;R$HF1MM$K3NG'$r$7$^$9!#(B +%\fi +% \begin{macrocode} +$linenum = pop(@env); +$environment = pop(@env); +while ($environment ne "DUMMY") { + print "$ARGV: `\\begin{$environment}' (l.$linenum) is not ended.\n"; + $linenum = pop(@env); + $environment = pop(@env); +} +exit; +%</plprog> +% \end{macrocode} +% +%\ifJAPANESE +% \subsection{\dst{}$B%P%C%A%U%!%$%k(B} +% \changes{v1.0b}{1996/02/01}{\file{omake-sh.ins}, \file{omake-pl.ins}$B$r(B +% \dst{}$B$NJQ99$K$H$b$J$&JQ99$r$7$?(B} +% \changes{v1.0c}{1997/01/23}{\dst{}$B$K$H$b$J$&JQ99(B} +% $B$3$3$G$O!"IUO?(B\ref{app:shprog}$B$HIUO?(B\ref{app:plprog}$B$G@bL@$r$7$?Fs$D$N(B +% $B%9%/%j%W%H$r!"$3$N%U%!%$%k$+$i<h$j=P$9$?$a$N(B\dst{}$B%P%C%A%U%!%$%k$K$D$$$F(B +% $B@bL@$r$7$F$$$^$9!#(B +%\else +% \subsection{\dst{} Batch file} +% \changes{v1.0b}{1996/02/01}{Adjusted for the latest +% \dst\ (\file{omake-sh.ins} and \file{omake-pl.ins}.} +% \changes{v1.0c}{1997/01/23}{Adjusted for the latest \dst.} +% Here we introduce a \dst\ batch file `Xins.ins,' which generates the +% scripts described in Appendix \ref{app:shprog} and \ref{app:plprog}. +%\fi +% +%\ifJAPANESE +% $B$^$:!"(B\dst{}$B%Q%C%1!<%8$r%m!<%I$7$^$9!#(B +% $B$^$?!"<B9T7P2a$N%a%C%;!<%8$r=PNO$7$J$$$h$&$K$7$F$$$^$9!#(B +%\fi +% \begin{macrocode} +%<*Xins> +\input docstrip +\keepsilent +% \end{macrocode} +%\ifJAPANESE +% \dst{}$B%W%m%0%i%`$O!"O"B3$9$kFs$D$N%Q!<%;%s%H5-9f(B(\%\%)$B$G$O$8$^$k9T$r(B +% $B%a%?%3%a%s%H$H$_$J$7!">r7o$K$h$i$:=PNO$r$7$^$9!#(B +% $B$7$+$7!"(B``\%''$B$O(B\TeX{}$B$G$O%3%a%s%H$G$"$C$F$b!"(Bsh$B$d(Bperl$B$K$H$C$F$O%3%a%s%H(B +% $B$G$O$"$j$^$;$s!#$=$3$G!"%a%?%3%a%s%H$H$7$F=PNO$9$kJ8;z$r(B``\#\#''$B$H(B +% $BJQ99$7$^$9!#(B +%\fi +% \begin{macrocode} +{\catcode`#=12 \gdef\MetaPrefix{## }} +% \end{macrocode} +%\ifJAPANESE +% $B$=$7$F!"%W%j%"%s%V%k$K=PNO$5$l$k%a%C%;!<%8$r@k8@$7$^$9!#(B +% $B$3$3$G$O!"$H$/$K2?$b;XDj$7$F$$$^$;$s$,!"@k8@$r$7$J$$$H%G%U%)%k%H$N5-=R$,(B +% `\%\%'$BIU$-$G=PNO$5$l$F$7$^$&$?$a!"$=$l$rM^@)$9$kL\E*$G;HMQ$7$F$$$^$9!#(B +%\fi +% \begin{macrocode} +\declarepreamble\thispre +\endpreamble +\usepreamble\thispre +% \end{macrocode} +%\ifJAPANESE +% $B%]%9%H%"%s%V%k$bF1MM$K!"@k8@$r$7$J$$$H(B`|\endinput|'$B$,=PNO$5$l$^$9!#(B +%\fi +% \begin{macrocode} +\declarepostamble\thispost +\endpostamble +\usepostamble\thispost +% \end{macrocode} +%\ifJAPANESE +% |\generate|$B%3%^%s%I$G!"$I$N%U%!%$%k$K!"$I$N%U%!%$%k$N$I$NItJ,$r=PNO$9$k$N$+(B +% $B$r;XDj$7$^$9!#(B +%\fi +% \begin{macrocode} +\generate{ + \file{dstcheck.pl}{\from{platex.dtx}{plprog}} + \file{mkpldoc.sh}{\from{platex.dtx}{shprog,ja}} + \file{mkpldoc-en.sh}{\from{platex.dtx}{shprog,en}} +} +\endbatchfile +%</Xins> +% \end{macrocode} +% +% \newpage +% \begin{thebibliography}{99} +% \bibitem{platex2e-book} +% $BCfLn(B $B8-(B +% \newblock $B!XF|K\8l(B\LaTeXe $B%V%C%/!Y(B +% \newblock $B%"%9%-!<(B, 1996. +% +% \bibitem{tate-book} +% $B%$%s%W%l%9!&%i%\4F=$(B, $B%"%9%-!<=q@RJT=8ItJT(B +% \newblock $B!X=DAHBP1~(B $B%Q!<%=%J%kF|K\8l(B\TeX{}$B!Y(B +% \newblock $B%"%9%-!<=PHG6I(B, 1994 +% +% \bibitem{jtex-tech} +% $B%"%9%-!<=PHG5;=QIt@UG$JT=8(B +% \newblock $B!XF|K\8l(B\TeX $B%F%/%K%+%k%V%C%/(BI$B!Y(B +% \newblock $B%"%9%-!<(B, 1990. +% +% \bibitem{ajt2008okumura} +% Haruhiko Okumura, +% \newblock \pTeX\ and Japanese Typesetting +% \newblock The Asian Journal of \TeX, Volume~2, No.~1, 2008.\\ +% (\texttt{http://ajt.ktug.org/2008/0201okumura.pdf}) +% +% \bibitem{tb29hamano} +% Hisato Hamano, +% \newblock Vertical Typesetting with \TeX. +% \newblock TUGboat issue 11:3, 1990.\\ +% (\texttt{https://tug.org/TUGboat/tb11-3/tb29hamano.pdf}) +% +% \bibitem{tex-book} +% Donald~E. Knuth. +% \newblock ``{\em The \TeX book}''. +% \newblock Addison-Wesley, 1984. +% \newblock ($BK.Lu!':XF#?.CK4F=$(B, $B:mC+9%51Lu(B, +% \TeX $B%V%C%/(B $B2~D{?7HG(B, $B%"%9%-!<=PHG6I(B, 1989) +% +% \bibitem{latex-book2} +% Laslie Lamport. +% \newblock ``{\em {\LaTeX:} A Document Preparation System}''. +% \newblock Addison-Wesley, second edition, 1994. +% +% \bibitem{latex-book} +% Laslie Lamport. +% \newblock ``{\em {\LaTeX:} A Document Preparation System}''. +% \newblock Addison-Wesley, 1986. +% \newblock ($BK.Lu!'ARBtNI0l4F=$(B, $BBgLn=S<#!&>.JkGnDL!&F#1:$O$kH~Lu(B, +% $BJ8=q=hM}%7%9%F%`(B \LaTeX, $B%"%9%-!<(B, 1990) +% +% \bibitem{latex-comp} +% Michel Goossens, Frank Mittelbach, Alexander Samarin. +% \newblock ``{\em The {\LaTeX} Companion}''. +% \newblock Addison-Wesley, 1994. +% +% \bibitem{perl} +% $B2OLn(B $B??<#(B +% \newblock $B!XF~Lg(BPerl$B!Y(B +% \newblock $B%"%9%-!<=PHG6I(B, 1994 +% \end{thebibliography} +% +% \iffalse +% $B$3$3$G!"$3$N$"$H$KAHHG$5$l$k$+$b$7$l$J$$J8=q$N$?$a$K!"(B +% $B@a8+=P$7$NHV9f$r;;MQ?t;z$KLa$7$^$9!#(B +% \fi +% +% \renewcommand{\thesection}{\arabic{section}} +% +% \Finale +% +\endinput |