diff options
author | Karl Berry <karl@freefriends.org> | 2016-06-11 23:06:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-06-11 23:06:28 +0000 |
commit | a880c715c123c4ecf8da826a5283895cec739b42 (patch) | |
tree | d0950d1b4dbc38cdd8eec296333da8ed9b42d5d2 | |
parent | 95b471835523e634d7a1a09c433dbd827d3af0ef (diff) |
uplatex (11jun16)
git-svn-id: svn://tug.org/texlive/trunk@41370 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/uplatex/base/README.md | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/uplatex/base/uplatex.pdf | bin | 244496 -> 226921 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/uplatex/base/upldoc.pdf | bin | 561785 -> 570711 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/uplatex/base/Makefile | 22 | ||||
-rw-r--r-- | Master/texmf-dist/source/uplatex/base/plcore.dtx | 45 | ||||
-rw-r--r-- | Master/texmf-dist/source/uplatex/base/uplatex.dtx | 534 | ||||
-rw-r--r-- | Master/texmf-dist/source/uplatex/base/uplfonts.dtx | 166 | ||||
-rw-r--r-- | Master/texmf-dist/source/uplatex/base/uplvers.dtx | 103 | ||||
-rw-r--r-- | Master/texmf-dist/tex/uplatex/base/uplatex.ltx | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/uplatex/base/uplcore.ltx | 65 | ||||
-rw-r--r-- | Master/texmf-dist/tex/uplatex/base/upldefs.ltx | 83 | ||||
-rw-r--r-- | Master/texmf-dist/tex/uplatex/config/uplatex.ini | 31 |
12 files changed, 667 insertions, 389 deletions
diff --git a/Master/texmf-dist/doc/uplatex/base/README.md b/Master/texmf-dist/doc/uplatex/base/README.md index ec3035b6033..99f77760f89 100644 --- a/Master/texmf-dist/doc/uplatex/base/README.md +++ b/Master/texmf-dist/doc/uplatex/base/README.md @@ -13,10 +13,10 @@ If you have issues, please let us know from the above page. ## License The bundle may be distributed and/or modified under the terms of -the 3-clause BSD license (see LICENSE). +the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2016-05-08 +2016-06-10 Japanese TeX Development Community diff --git a/Master/texmf-dist/doc/uplatex/base/uplatex.pdf b/Master/texmf-dist/doc/uplatex/base/uplatex.pdf Binary files differindex c6934b43de4..64aba657fd5 100644 --- a/Master/texmf-dist/doc/uplatex/base/uplatex.pdf +++ b/Master/texmf-dist/doc/uplatex/base/uplatex.pdf diff --git a/Master/texmf-dist/doc/uplatex/base/upldoc.pdf b/Master/texmf-dist/doc/uplatex/base/upldoc.pdf Binary files differindex 9d46220cd87..8c77108b7d7 100644 --- a/Master/texmf-dist/doc/uplatex/base/upldoc.pdf +++ b/Master/texmf-dist/doc/uplatex/base/upldoc.pdf diff --git a/Master/texmf-dist/source/uplatex/base/Makefile b/Master/texmf-dist/source/uplatex/base/Makefile index e0bfa12bdc1..b7e5b3a1b29 100644 --- a/Master/texmf-dist/source/uplatex/base/Makefile +++ b/Master/texmf-dist/source/uplatex/base/Makefile @@ -1,5 +1,6 @@ TARGET1 = uplatex.ltx ujarticle.cls TARGET2 = uplatex.pdf upldoc.pdf +KANJI = -kanji=utf8 FONTMAP = -f ipaex.map -f uptex-ipaex.map all: $(TARGET1) $(TARGET2) @@ -23,25 +24,34 @@ PLDOC_SRC = uplatex.dtx uplvers.dtx uplfonts.dtx \ ukinsoku.dtx ujclasses.dtx uplatex.ltx: $(PLFMT_SRC) - uplatex --kanji=utf8 uplfmt.ins + for x in $(PLFMT); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + uplatex $(KANJI) uplfmt.ins rm uplfmt.log ujarticle.cls: $(PLCLS_SRC) - uplatex --kanji=utf8 uplcls.ins + for x in $(PLCLS); do \ + if [ -e $$x ]; then rm $$x; fi \ + done + uplatex $(KANJI) uplcls.ins rm uplcls.log uplatex.pdf: $(INTRODOC_SRC) - uplatex --kanji=utf8 uplatex.dtx && \ - uplatex --kanji=utf8 uplatex.dtx && \ + uplatex $(KANJI) uplatex.dtx + mendex -U -f -s gglo.ist -o uplatex.gls uplatex.glo + uplatex $(KANJI) uplatex.dtx dvipdfmx $(FONTMAP) uplatex.dvi rm uplatex.aux uplatex.log uplatex.dvi + rm uplatex.glo uplatex.gls uplatex.ilg upldoc.pdf: $(PLDOC_SRC) for x in upldoc.tex Xins.ins; do \ if [ -e $$x ]; then rm $$x; fi \ done - uplatex --kanji=utf8 upldocs.ins && \ - uplatex --kanji=utf8 Xins.ins && sh mkpldoc.sh && \ + uplatex $(KANJI) upldocs.ins + uplatex $(KANJI) Xins.ins + sh mkpldoc.sh dvipdfmx $(FONTMAP) upldoc.dvi rm *.aux *.log upldoc.toc upldoc.idx upldoc.ind upldoc.ilg rm upldoc.glo upldoc.gls *.dvi upldoc.tex Xins.ins diff --git a/Master/texmf-dist/source/uplatex/base/plcore.dtx b/Master/texmf-dist/source/uplatex/base/plcore.dtx index 5ab84bf4a36..b0cb34d7e46 100644 --- a/Master/texmf-dist/source/uplatex/base/plcore.dtx +++ b/Master/texmf-dist/source/uplatex/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$B$HF1MM$N=$@5$r(B % tabular$B4D6-!"(B\cs{parbox}$BL?Na!"(B\cs{underline}$BL?Na$K$b9T$C$?(B} % \changes{v1.2d}{2016/04/01}{multicol$B%Q%C%1!<%8$r;H$&$H%H%s%\$N2<C<$,=L$`LdBj$r=$@5(B} +% \changes{v1.2e}{2016/05/20}{\file{fltrace}$B%Q%C%1!<%8$N(Bp\LaTeX{}$BHG(B +% $B$H$7$F(B\file{pfltrace}$B%Q%C%1!<%8$r?7@_(B} % \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} +%</plcore> % \end{macrocode} % % \subsection{$B%*%V%8%'%/%H$N=PNO=g=x(B} @@ -236,11 +239,25 @@ % $B$7$?$,$C$F!"J8=q%U%!%$%k$K$h$C$F$O(B\LaTeX{}$B$NAHHG7k2L$H0[$J$k>l9g$,(B % $B$"$j$^$9$N$G!"Cm0U$r$7$F$/$@$5$$!#(B % +% 2014$BG/$K(B\LaTeX{}$B$K(B\file{fltrace}$B%Q%C%1!<%8$,DI2C$5$l$^$7$?$N$G!"(B +% $B$=$N(Bp\LaTeX{}$BHG$H$7$F(B\file{pfltrace}$B%Q%C%1!<%8$rDI2C$7$^$9!#(B +% $B$3$N(B\file{pfltrace}$B%Q%C%1!<%8$O(B\LaTeX{}$B$N(B\file{fltrace}$B%Q%C%1!<%8$K(B +% $B0MB8$7$^$9!#(B +% \changes{v1.2e}{2016/05/20}{\file{fltrace}$B%Q%C%1!<%8$N(Bp\LaTeX{}$BHG(B +% $B$H$7$F(B\file{pfltrace}$B%Q%C%1!<%8$r?7@_(B} +% \begin{macrocode} +%<*fltrace> +\NeedsTeXFormat{pLaTeX2e} +\ProvidesPackage{pfltrace} + [2016/05/20 v1.2e Standard pLaTeX package (float tracing)] +\RequirePackageWithOptions{fltrace} +%</fltrace> +% \end{macrocode} +% % \begin{macro}{\@makecol} % $B$3$N%^%/%m$,AH$_N)$F$kItJ,$NCf?4$H$J$j$^$9!#(B % \file{ltoutput.dtx}$B$GDj5A$5$l$F$$$k$b$N$G$9!#(B % \begin{macrocode} -%</plcore> %<platexrelease>\plIncludeInRelease{2016/04/17}{\@makecol}{\@makecol}% %<*plcore|platexrelease> \gdef\@makecol{% @@ -323,13 +340,13 @@ % |\@makespecialcolbox|$B%3%^%s%I$b=$@5$r$7$^$9!#(B % $B$d$O$j!"(B\file{ltoutput.dtx}$B$GDj5A$5$l$F$$$k$b$N$G$9!#(B % -% $B$3$N%^%/%m$O!"(B|\enlargedthispage|$B$,;H$o$l$?$H$-$K!"(B +% $B$3$N%^%/%m$O!"(B|\enlargethispage|$B$,;H$o$l$?$H$-$K!"(B % |\@makecol|$B%^%/%m$+$i8F$S=P$5$l$^$9!#(B % \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}% %</trace> @@ -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}% %</trace> \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}% %</trace> \setbox \@outputbox \vbox to \@colht {% \vbox to \@tempdima {% diff --git a/Master/texmf-dist/source/uplatex/base/uplatex.dtx b/Master/texmf-dist/source/uplatex/base/uplatex.dtx index 28f88253e0e..33da8539d7a 100644 --- a/Master/texmf-dist/source/uplatex/base/uplatex.dtx +++ b/Master/texmf-dist/source/uplatex/base/uplatex.dtx @@ -14,7 +14,7 @@ % % \fi % -% \CheckSum{374} +% \CheckSum{377} %% \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 @@ -33,10 +33,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} @@ -58,16 +60,21 @@ % p\LaTeXe{}に付属するファイルの説明を更新} % \changes{v1.0e}{2016/02/16}{platexreleaseの説明を追加} % \changes{v1.0e-u00}{2016/04/06}{p\LaTeX{}の変更に追随。} -% \changes{v1.0f-u00}{2016/04/12}{ドキュメントを更新} +% \changes{v1.0f}{2016/04/12}{ドキュメントを更新} % \changes{v1.0g-u00}{2016/05/07}{フォーマット作成時に\LaTeX{}のバナーを一旦保存} % \changes{v1.0h-u00}{2016/05/08}{ドキュメントから\file{uplpatch.ltx}を除外} +% \changes{v1.0i-u00}{2016/05/12}{一時コマンド\cs{orgdump}を最終的に未定義へ} +% \changes{v1.0j}{2016/05/20}{pfltraceの説明を追加} +% \changes{v1.0k}{2016/05/21}{変更履歴も出力するようにした} +% \changes{v1.0k-u00}{2016/05/21}{p\LaTeX{}の変更に追随。} +% \changes{v1.0k-u01}{2016/06/06}{up\LaTeX{}用にドキュメントを全体的に改訂} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{uplatex.dtx}[2016/05/08 v1.0h-u00 upLaTeX document file] +\ProvidesFile{uplatex.dtx}[2016/06/06 v1.0k-u01 upLaTeX document file] % \iffalse \documentclass{jltxdoc} \usepackage{plext} @@ -75,19 +82,54 @@ \title{up\LaTeXe{}について} \author{Ken Nakano \& Japanese \TeX\ Development Community \& TTK} \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 (uplatex.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 % % +% \changes{v1.0c-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。} +% \changes{v1.0e-u00}{2016/04/06}{p\LaTeX{}の変更に追随。} +% ^^A \changes{v1.0f}{2016/04/12}{ドキュメントを更新} +% ^^A \changes{v1.0k}{2016/05/21}{変更履歴も出力するようにした} +% \changes{v1.0k-u00}{2016/05/21}{p\LaTeX{}の変更に追随。} +% \changes{v1.0k-u01}{2016/06/06}{up\LaTeX{}用にドキュメントを全体的に改訂} % \begin{chuui} % これは、アスキーのオリジナル版からforkしたコミュニティ版\pLaTeXe{}の -% 付属文書を\upLaTeXe{}用に書き換えたものですが、内容はソースコード部分 -% を除いて元の\pLaTeXe{}の文書と全く同一です。 +% 付属文書を\upLaTeXe{}用に書き換えたものです。 % \end{chuui} % % アスキー\pTeX{}には、高品質の日本語組版ソフトウェアとしてデファクト @@ -115,36 +157,42 @@ % \clearpage % % \section{概要}\label{platex:intro} -% この文書は、p\LaTeXe{}の概要を示していますが、使い方のガイドでは -% ありません。p\LaTeXe{}の機能についての説明は、\cite{platex2e-book}を -% 参照してください。日本語\TeX{}については\cite{jtex-tech}を参照してください。 -% -% p\LaTeXe{}では\cite{tate-book}で説明されている、いくつかの拡張コマンドの -% 動作を修正しています。その詳細については、\file{plext.dtx}を参照して -% ください。 -% -% \LaTeX{}の機能については、\cite{latex-book2}や\cite{latex-comp}などを -% 参照してください。新しい機能については\file{usrguide.tex}を参照してください。 +% この文書は、up\LaTeXe{}の概要を示していますが、使い方のガイドではありません。 +% 元となっているp\LaTeXe{}や\LaTeXe{}については、それぞれp\LaTeXe{}と +% \LaTeXe{}の付属文書を参照してください。 +% ^^A 元となっているp\LaTeXe{}の機能についての説明は、\cite{platex2e-book}を +% ^^A 参照してください。日本語\TeX{}については\cite{jtex-tech}を参照してください。 +% ^^A \changes{v1.0}{1995/05/08}{first edition} +% ^^A \changes{v1.0a}{1995/08/25}{互換性について、\dst{}の使い方、参考文献を追加} +% ^^A +% ^^A p\LaTeXe{}では\cite{tate-book}で説明されている、いくつかの拡張コマンドの +% ^^A 動作を修正しています。その詳細については、\file{plext.dtx}を参照して +% ^^A ください。 +% ^^A +% ^^A \LaTeX{}の機能については、\cite{latex-book2}や\cite{latex-comp}などを +% ^^A 参照してください。新しい機能については\file{usrguide.tex}を参照してください。 % % この文書の構成は次のようになっています。 % % \begin{quote} % \begin{description} % \item[第\ref{platex:intro}節] -% この節です。この文書についての概要と、 -% \dst{}のためのオプションについて述べています。 +% この節です。この文書についての概要を述べています。 % % \item[第\ref{platex:plcore}節] -% p\LaTeXe{}で拡張した機能についての概要です。 +% up\LaTeXe{}で拡張した機能についての概要です。 % 付属のクラスファイルやパッケージファイルについても簡単に % 説明しています。 % -% \item[第\ref{platex:compatibility}節] -% 旧バージョンのp\LaTeX{}との互換性について述べています。 +% ^^A \item[第\ref{platex:compatibility}節] +% ^^A 旧バージョンのp\LaTeX{}との互換性について述べています。 +% +% \item[付録\ref{app:dst}] +% この文書ソースの\dst{}のためのオプションについて述べています。 % % \item[付録\ref{app:pldoc}] -% p\LaTeXe{}のdtxファイルをまとめて一つのDVIファイルにするための -% 文書ファイル説明をしています。 +% up\LaTeXe{}のdtxファイルをまとめて一つのDVIファイルにするための +% 文書ファイルの説明をしています。 % % \item[付録\ref{app:omake}] % 付録\ref{app:pldoc}で説明をした文書ファイルを処理するshスクリプト(手順)、 @@ -154,59 +202,9 @@ % \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{}の機能は、いくつものファイルに分割されて実装されています。 +% \section{up\LaTeXe{}の機能について}\label{platex:plcore} +% up\LaTeXe{}の機能は、いくつものファイルに分割されて実装されています。 % これらのファイルはつぎの3種類に分類することができます。 % % \begin{itemize} @@ -216,39 +214,55 @@ % \end{itemize} % % フォーマットファイルには、基本的な機能が定義されており、 -% p\LaTeXe{}の核となるファイルです。このファイルに定義されているマクロは、 +% up\LaTeXe{}の核となるファイルです。このファイルに定義されているマクロは、 % 実行時の速度を高めるために、あらかじめ\TeX の内部形式の形で保存されて % います。 % -% クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた -% ものです。\LaTeXe{}ではそれらを、レイアウトに関するものをクラスファイルと -% 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように -% なりました。 -% -% \TeX{}文書が使用するクラスは、文書のプリアンブルで|\documentclass|コマンド -% を用いて指定します。|\documentclass|ではなく、旧版の|\documentstyle|を -% 用いると、自動的に\emph{2.09互換モード}に入ります。 -% 互換モードは旧版の文書を組版するためだけに作られていますので、 -% 新しく文書を作成する場合は、|\documentclass|コマンドを用いてください。 -% 互換モードでは\LaTeX{}の新機能も使えなくなります。 -% -% 旧版では、|\documentstyle|のオプションでマクロファイルを読み込んで -% いましたが、\LaTeX{}では、|\usepackage|コマンドを用いて読み込みます。 +% クラスファイルは文書のレイアウトを設定するファイル、 +% パッケージファイルはマクロの拡張を定義するファイルです。 +% 前者は|\documentclass|コマンドを用いて読み込み、 +% 後者は|\usepackage|コマンドを用いて読み込みます。 +% +% \begin{chuui}[古いp\LaTeX~2.09ユーザへの注意:]%\normalfont +% u\pLaTeX{}は新しいマクロパッケージですので、2.09互換モードはサポートして +% いません。\LaTeXe{}の仕様に従ってドキュメントを作成してください。 +% ^^A クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた +% ^^A ものです。\LaTeXe{}ではそれらを、レイアウトに関するものをクラスファイルと +% ^^A 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように +% ^^A なりました。 +% +% ^^A \TeX{}文書が使用するクラスは、文書のプリアンブルで|\documentclass|コマンド +% ^^A を用いて指定します。|\documentclass|ではなく、旧版の|\documentstyle|を +% ^^A 用いると、自動的に\emph{2.09互換モード}に入ります。 +% ^^A 互換モードは旧版の文書を組版するためだけに作られていますので、 +% ^^A 新しく文書を作成する場合は、|\documentclass|コマンドを用いてください。 +% ^^A 互換モードでは\LaTeX{}の新機能も使えなくなります。 +% +% ^^A 旧版では、|\documentstyle|のオプションでマクロファイルを読み込んで +% ^^A いましたが、\LaTeX{}では、|\usepackage|コマンドを用いて読み込みます。 +% \end{chuui} % % \subsection{フォーマットファイル} % フォーマットファイルには、基本的な機能が定義されていますが、 % これらは\TeX{}の内部形式に変換された形式となっています。 % フォーマットファイルを作成するには、 -% ソースファイル``platex.ltx''を|iniptex|プログラムで処理します。 +% ソースファイル``uplatex.ltx''を|iniuptex|プログラムで処理します。 +% ただし、\TeX\ LiveやW32\TeX{}ではこの処理を簡単にする|fmtutil|あるいは +% |fmtutil-sys|というプログラムが用意されています。 +% 以下を実行すれば、フォーマットファイル\file{uplatex.fmt}が作成されます。 +% \begin{verbatim} +% fmtutil --byfmt uplatex +% \end{verbatim} % -% 次のリストが、その内容です。 -% ただし、このバージョンでは、\LaTeX{}からp\LaTeXe{}への拡張を -% \file{plcore.ltx}をロードすることで行ない、 +% 次のリストが、``uplatex.ltx''のの内容です。 +% ただし、このバージョンでは、\LaTeX{}からup\LaTeXe{}への拡張を +% \file{uplcore.ltx}をロードすることで行ない、 % \file{latex.ltx}には直接、手を加えないようにしています。 -% したがって\file{platex.ltx}はとても短いものとなっています。 +% したがって\file{uplatex.ltx}はとても短いものとなっています。 % \file{latex.ltx}には\LaTeX{}のコマンドが、 -% \file{plcore.ltx}にはp\LaTeXe{}で拡張したコマンドが定義されています。 +% \file{uplcore.ltx}にはup\LaTeXe{}で拡張したコマンドが定義されています。 % \changes{v1.0g-u00}{2016/05/07}{フォーマット作成時に\LaTeX{}のバナーを一旦保存} +% \changes{v1.0i-u00}{2016/05/12}{一時コマンド\cs{orgdump}を最終的に未定義へ} % % \begin{macrocode} %<*plcore> @@ -263,120 +277,135 @@ **************************} \makeatletter \input uplcore.ltx -\makeatother \the\everyjob \let\dump\orgdump +\let\orgdump\@undefined +\makeatother \dump %<plcore>\endinput %</plcore> % \end{macrocode} % -% 実際にp\LaTeXe{}への拡張を行なっている\file{plcore.ltx}は、 +% 実際にup\LaTeXe{}への拡張を行なっている\file{uplcore.ltx}は、 % \dst{}プログラムによって、次のファイルの断片が連結されたものです。 % % \begin{itemize} -% \item \file{plvers.dtx}は、p\LaTeXe{}のフォーマットバージョンを +% \item \file{uplvers.dtx}は、up\LaTeXe{}のフォーマットバージョンを % 定義しています。 -% \item \file{plfonts.dtx}は、\NFSS2を拡張しています。 -% \item \file{plcore.dtx}は、上記以外のコマンドでフォーマットファイルに +% \item \file{uplfonts.dtx}は、\NFSS2を拡張しています。 +% \item このほか、p\LaTeXe{}に含まれる\file{plcore.dtx}をそのまま利用 +% しています。これは、上記以外のコマンドでフォーマットファイルに % 格納されるコマンドを定義しています。 % \end{itemize} % % プリロードフォントや組版パラメータなどの設定は、 -% \file{pldefs.ltx}をロードすることで行なっています。 +% \file{upldefs.ltx}をロードすることで行なっています。 % このファイルに記述されている設定を変更すれば、 -% p\LaTeXe{}をカスタマイズすることができます。 +% up\LaTeXe{}をカスタマイズすることができます。 % カスタマイズする場合は、このファイルを直接、修正するのではなく、 -% \file{pldefs.cfg}という名前でコピーをして、そのファイルを編集します。 -% \file{pldefs.cfg}は\file{pldefs.ltx}の代わりに読み込まれます。 +% \file{upldefs.cfg}という名前でコピーをして、そのファイルを編集します。 +% \file{upldefs.cfg}は\file{upldefs.ltx}の代わりに読み込まれます。 % % % \subsubsection{バージョン} -% p\LaTeXe{}のバージョンやフォーマットファイル名は、 -% \file{plvers.dtx}で定義しています。 +% up\LaTeXe{}のバージョンやフォーマットファイル名は、 +% \file{uplvers.dtx}で定義しています。これは、p\LaTeXe{}のバージョンや +% フォーマットファイル名が\file{plvers.dtx}で定義されているのと同じです。 % % % \subsubsection{\NFSS2コマンド} % \LaTeX{}では、フォント選択機構として\NFSS2を用いています。 % p\LaTeXe{}では、オリジナルの\NFSS2 と同様のインターフェイスで、 -% 和文フォントを選択できるように、\file{plfonts.dtx}で\NFSS2を拡張しています。 +% 和文フォントを選択できるように、\file{plfonts.dtx}で\NFSS2を拡張して +% いますので、up\LaTeXe{}も\file{uplfonts.dtx}で同じ方式を採用しています。 % -% p\LaTeXe{}の\NFSS2は、フォントを切替えるコマンドを指定するときに、 -% それが欧文書体か和文書体のいずれかを対象とするものかを、 -% できるだけ意識しないようにする方向で拡張しています。 -% いいかえれば、コマンドが(可能な限りの)判断をします。 -% したがって数多くある英語版のクラスファイルやパッケージファイルなどで -% 書体の変更を行っている箇所を修正する必要はあまりありません。 +% ^^A p\LaTeXe{}の\NFSS2は、フォントを切替えるコマンドを指定するときに、 +% ^^A それが欧文書体か和文書体のいずれかを対象とするものかを、 +% ^^A できるだけ意識しないようにする方向で拡張しています。 +% ^^A いいかえれば、コマンドが(可能な限りの)判断をします。 +% ^^A したがって数多くある英語版のクラスファイルやパッケージファイルなどで +% ^^A 書体の変更を行っている箇所を修正する必要はあまりありません。 % -% \file{plfonts.dtx}ファイルでは、\NFSS2コマンドの定義のほか、プリロード +% \file{uplfonts.dtx}ファイルでは、\NFSS2コマンドの定義のほか、プリロード % フォントの設定、和文エンコードの定義、組版パラメータなどの設定、 % フォント定義ファイルなどの記述も含まれています。 % -% \NFSS2についての詳細は、\LaTeXe に付属の\file{fntguide.tex}を参照して -% ください。 -% +% ^^A \NFSS2についての詳細は、\LaTeXe に付属の\file{fntguide.tex}を参照して +% ^^A ください。 % -% \subsubsection{出力ルーチンとフロート} -% \file{plcore.dtx}は、次の項目に関するコマンドを日本語処理用に修正や拡張 -% をしています。 % -% \begin{itemize} -% \item プリアンブルコマンド -% \item 改ページ -% \item 改行 -% \item オブジェクトの出力順序 -% \item トンボ -% \item 脚注マクロ -% \item 相互参照 -% \item 疑似タイプ入力 -% \end{itemize} +% ^^A \subsubsection{出力ルーチンとフロート} +% ^^A \file{plcore.dtx}は、次の項目に関するコマンドを日本語処理用に修正や拡張 +% ^^A をしています。 +% ^^A +% ^^A \begin{itemize} +% ^^A \item プリアンブルコマンド +% ^^A \item 改ページ +% ^^A \item 改行 +% ^^A \item オブジェクトの出力順序 +% ^^A \item トンボ +% ^^A \item 脚注マクロ +% ^^A \item 相互参照 +% ^^A \item 疑似タイプ入力 +% ^^A \end{itemize} % % % \subsection{クラスファイルとパッケージファイル} -% クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた -% ものです。\LaTeX{}ではそれらを、レイアウトに関するものをクラスファイルと -% 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように -% なりました。 +% ^^A クラスファイルとパッケージファイルは、従来、スタイルファイルと呼ばれていた +% ^^A ものです。\LaTeX{}ではそれらを、レイアウトに関するものをクラスファイルと +% ^^A 呼び、マクロの拡張をするものをパッケージファイルと呼んで区別するように +% ^^A なりました。 % -% p\LaTeXe{}が提供をする、クラスファイルやパッケージファイルのいくつかは、 -% オリジナルのファイルを修正しています。 -% 修正箇所には``\texttt{platex}''条件が付けられています。 +% up\LaTeXe{}が提供をする、クラスファイルやパッケージファイルのいくつかは、 +% p\LaTeXe{}に含まれるファイルを修正しています。 +% ^^A 修正箇所には``\texttt{platex}''条件が付けられています。 % -% p\LaTeXe{}に付属のクラスファイルは、次のとおりです。 -% \changes{v1.0d}{2016/01/27}{p\LaTeXe{}に付属するファイルの説明を更新} +% up\LaTeXe{}に付属のクラスファイルは、次のとおりです。 +% ^^A \changes{v1.0d}{2016/01/27}{p\LaTeXe{}に付属するファイルの説明を更新} +% ^^A \changes{v1.0j}{2016/05/20}{pfltraceの説明を追加} % % \begin{itemize} -% \item jbook.cls, jarticle.cls, jreport.cls\par -% 横組用の標準クラスファイル。\file{jclasses.dtx}から作成される。 +% \item ujbook.cls, ujarticle.cls, ujreport.cls\par +% 横組用の標準クラスファイル。\file{ujclasses.dtx}から作成される。 % -% \item tbook.cls, tarticle.cls, treport.cls\par -% 縦組用の標準クラスファイル。\file{jclasses.dtx}から作成される。 +% \item utbook.cls, utarticle.cls, utreport.cls\par +% 縦組用の標準クラスファイル。\file{ujclasses.dtx}から作成される。 % -% \item jltxdoc.cls\par -% \file{.dtx}ファイルを組版するためのクラスファイル。 -% \file{jltxdoc.dtx}から作成される。 +% ^^A \item jltxdoc.cls\par +% ^^A 日本語の\file{.dtx}ファイルを組版するためのクラスファイル。 +% ^^A \file{jltxdoc.dtx}から作成される。 % \end{itemize} % -% また、p\LaTeXe{}に付属のパッケージファイルは、次のとおりです。 +% また、up\LaTeXe{}に付属のパッケージファイルは、次のとおりです。 % % \begin{itemize} -% \item oldpfont.sty\par -% p\LaTeX~2.09のフォントコマンドを提供するパッケージ。 -% \file{pl209.dtx}から作成される。 -% -% \item ptrace.sty\par -% \file{tracefnt.sty}で再定義された\NFSS2コマンドをp\LaTeXe{}用に -% 再々定義するためのパッケージ。 -% -% \item ascmac.sty, tascmac.sty\par -% 旧バージョンのp\LaTeX{}で配布されていたファイル。 -% -% \item plext.sty\par -% 縦組用の拡張コマンドなどが定義されているファイル。 -% -% \item nidanfloat.sty\par -% 二段組時に段抜きのフロートをページ下部にも配置可能にする +% ^^A \item plext.sty\par +% ^^A 縦組用の拡張コマンドなどが定義されているファイル。 +% ^^A +% ^^A \item oldpfont.sty\par +% ^^A p\LaTeX~2.09のフォントコマンドを提供するパッケージ。 +% ^^A \file{pl209.dtx}から作成される。 +% +% \item uptrace.sty\par +% \LaTeX{}でフォント選択コマンドのトレースに使う\file{tracefnt.sty}が +% 再定義してしまう\NFSS2コマンドを、up\LaTeXe{}用に再々定義するための % パッケージ。 +% \file{uplfonts.dtx}から作成される。 +% +% ^^A \item pfltrace.sty\par +% ^^A \LaTeX{}でフロート関連コマンドのトレースに使う\file{fltrace.sty}% +% ^^A \footnote{\LaTeX\ 2014/05/01で追加されました。参考: +% ^^A \LaTeXe\ News Issue 21 (ltnews21.tex)}が再定義してしまうコマンド +% ^^A を、p\LaTeXe{}用に再々定義するためのパッケージ。 +% ^^A \file{plcore.dtx}から作成される。 +% ^^A +% ^^A \item ascmac.sty, tascmac.sty\par +% ^^A \LaTeX{}の標準機能の範囲で、図や罫線で囲んだボックスを出力する命令 +% ^^A などを提供するパッケージ。旧バージョンのp\LaTeX{}でも配布されていた。 +% ^^A +% ^^A \item nidanfloat.sty\par +% ^^A 二段組時に段抜きのフロートをページ下部にも配置可能にする +% ^^A パッケージ。 % \end{itemize} % % @@ -384,43 +413,116 @@ % ここでは、このバージョンと以前のバージョンとの互換性や拡張部分について % 説明をしています。 % -% \subsection{p\LaTeX~2.09との互換性} -% p\LaTeXe{}は、\LaTeX{}の上位互換という形を取っていますが、 -% いくつかのパラメータなども変更しています。 -% したがって英文書など、\LaTeX{}でも処理できるファイルを -% p\LaTeXe{}で処理しても、完全に同じ結果になるとは限りません。 -% これは、英語版の\LaTeX{}でも同じです。 -% 詳細は、\LaTeXe に付属の\file{usrguide.tex}を参照してください。 -% -% 多くのクラスファイルやパッケージファイルはそのまま使えると思います。 -% ただし、それらがp\LaTeXe{}で拡張しているコマンドと同じ名前のコマンドを -% 再定義している場合は、コマンドの拡張の仕方によってはエラーになることも -% あります。用いようとしている、クラスファイルやパッケージファイルが +% \subsection{p\LaTeX{}との互換性} +% up\LaTeXe{}は、p\LaTeX{}の上位互換という形を取っていますので、 +% クラスファイルやいくつかのコマンドを置き換えるだけで、 +% たいていのp\LaTeX{}文書を簡単にup\LaTeX{}文書に変更することができます。 +% ただし、up\LaTeX{}ではp\LaTeX{}で問題が指摘されていたフォントメトリックの +% 不都合などいくつかのパラメータを変更していますので、レイアウトが変化 +% することがあります。 +% +% また、u\pLaTeX{}は新しいマクロパッケージですので、2.09互換モードを +% サポートしていません。\LaTeXe{}の仕様に従ってドキュメントを作成して +% ください。 +% +% ^^A \subsection{p\LaTeX~2.09との互換性} +% ^^A p\LaTeXe{}は、\LaTeX{}の上位互換という形を取っていますが、 +% ^^A いくつかのパラメータなども変更しています。 +% ^^A したがって英文書など、\LaTeX{}でも処理できるファイルを +% ^^A p\LaTeXe{}で処理しても、完全に同じ結果になるとは限りません。 +% ^^A これは、英語版の\LaTeX{}でも同じです。 +% ^^A 詳細は、\LaTeXe に付属の\file{usrguide.tex}を参照してください。 +% +% p\LaTeX{}向けあるいは\LaTeX{}向けに作られた多くのクラスファイルや +% パッケージファイルはそのまま使えると思います。ただし、p\LaTeX{}標準の +% 漢字エンコーディング(JY1, JT1)を前提としたものがup\LaTeX{}で採用した +% 漢字エンコーディング(JY2, JT2)と合致しないといったエラーが発生すること +% もあります。用いようとしているクラスファイルやパッケージファイルが % うまく動くかどうかを、完全に確かめる方法は残念ながらありません。 % 一番簡単なのは、動かしてみることです。不幸にもうまく動かない場合は、 % ログファイルや付属の文書ファイルを参考に原因を調べてください。 +% ^^A 多くのクラスファイルやパッケージファイルはそのまま使えると思います。 +% ^^A ただし、それらがp\LaTeXe{}で拡張しているコマンドと同じ名前のコマンドを +% ^^A 再定義している場合は、コマンドの拡張の仕方によってはエラーになることも +% ^^A あります。用いようとしている、クラスファイルやパッケージファイルが +% ^^A うまく動くかどうかを、完全に確かめる方法は残念ながらありません。 +% ^^A 一番簡単なのは、動かしてみることです。不幸にもうまく動かない場合は、 +% ^^A ログファイルや付属の文書ファイルを参考に原因を調べてください。 % % \subsection{latexreleaseパッケージへの対応} -% \changes{v1.0e}{2016/02/16}{platexreleaseの説明を追加} +% ^^A \changes{v1.0e}{2016/02/16}{platexreleaseの説明を追加} % \LaTeX\ \texttt{<2015/01/01>}で導入されたlatexreleaseパッケージを -% もとに、新しいp\LaTeX{}ではplatexreleaseパッケージを用意しました。 -% platexreleaseパッケージを用いると、過去のp\LaTeX{}をエミュレート -% したり、フォーマットを作り直すことなく新しいp\LaTeX{}を試したりする +% もとに、新しいp\LaTeX{}ではplatexreleaseパッケージが用意されました。 +% 本来はup\LaTeX{}でも同様のパッケージを用意するのがよいのですが、 +% 現在はp\LaTeX{}からup\LaTeX{}への変更点が含まれていませんので、 +% 幸いplatexreleaseパッケージをそのまま用いることができます。 +% このため、up\LaTeX{}で独自のパッケージを用意することはしていません。 +% platexreleaseパッケージを用いると、過去のup\LaTeX{}をエミュレート +% したり、フォーマットを作り直すことなく新しいup\LaTeX{}を試したりする % ことができます。詳細はplatexreleaseのドキュメントを参照してください。 % % % % \appendix % +% \section{\dst{}プログラムのためのオプション}\label{app:dst} +% この文書のソース(uplatex.dtx)を\dst{}プログラムによって処理することによって、 +% いくつかの異なるファイルを生成することができます。 +% \dst プログラムの詳細は、\file{docstrip.dtx}を参照してください。 +% +% この文書の\dst{}プログラムのためのオプションは、次のとおりです。 +% +% \DeleteShortVerb{\|} +% \begin{center} +% \begin{tabular}{l|p{.8\linewidth}} +% \emph{オプション} & \emph{意味}\\\hline +% plcore & フォーマットファイルを作るためのファイルを生成\\ +% pldoc & up\LaTeXe{}のソースファイルをまとめて組版するための +% 文書ファイルを生成\\[2mm] +% shprog & 上記のファイルを作成するためのshスクリプトを生成\\ +% plprog & 入れ子構造を調べる簡単なperlスクリプトを生成\\ +% Xins & 上記のshスクリプトやperlスクリプトを取り出すための +% \dst{}バッチファイルを生成\\ +% \end{tabular} +% \end{center} +% \MakeShortVerb{\|} +% +% \subsection{ファイルの取り出し方} +% +% たとえば、この文書の``plcore''の部分を``\file{uplatex.ltx}''という +% ファイルにするときの手順はつぎのようになります。 +% +% \begin{enumerate} +% \item uplatex docstrip +% \item 入力ファイルの拡張子(dtx)を入力する。 +% \item 出力ファイルの拡張子(ltx)を入力する。 +% \item \dst{}オプション(plcore)を入力する。 +% \item 入力ファイル名(uplatex)を入力する。 +% \item \file{uplatex.ltx}が存在する場合は、確認を求めてくるので、 +% ``y''を入力する。 +% \item 別の処理を行なうかを問われるので、``n''を入力する。 +% \end{enumerate} +% これで、\file{uplatex.ltx}が作られます。 +% +% あるいは、次のような内容のファイル\file{fmt.ins}を作成し、 +% |uplatex fmt.ins|することでも\file{uplatex.ltx}を作ることができます。 +% +% \begin{verbatim} +% \def\batchfile{fmt.ins} +% \input docstrip.tex +% \generateFile{uplatex.ltx}{t}{\from{uplatex.dtx}{plcore}} +% \end{verbatim} +% +% % \section{文書ファイル}\label{app:pldoc} -% \changes{v1.0c}{1997/01/25}{Add to filecontents environment for pldoc.dic.} +% ^^A \changes{v1.0c}{1997/01/25}{Add to filecontents environment for pldoc.dic.} % ここでは、このパッケージに含まれているdtxファイルをまとめて組版をするための % 文書ファイルについて説明をしています。個別に処理した場合と異なり、 -% 変更履歴や索引も付きます。全体で、およそ150ページ程度になります。 +% 変更履歴や索引も付きます。全体で、およそ120ページ程度になります。 % % |filecontents|環境は、引数に指定されたファイルが存在するときは何も % しませんが、存在しないときは、環境内の内容でファイルを作成します。 -% \file{pldoc.dic}ファイルは、mendexプログラムで索引を処理するときに +% \file{upldoc.dic}ファイルは、mendexプログラムで索引を処理するときに % \cs{西暦}, \cs{和暦}に対する「読み」を付けるために必要です。 % \begin{macrocode} %<*pldoc> @@ -430,11 +532,11 @@ \end{filecontents} % \end{macrocode} % 文書クラスには、\file{jltxdoc}クラスを用います。 -% \file{plext.dtx}の中でサンプルを組み立てていますので、 -% \file{plext}パッケージが必要です。 +% ^^A \file{plext.dtx}の中でサンプルを組み立てていますので、 +% ^^A \file{plext}パッケージが必要です。 % \begin{macrocode} \documentclass{jltxdoc} -\usepackage{plext} +%\usepackage{plext} %% comment out for upLaTeX \listfiles % \end{macrocode} @@ -498,7 +600,8 @@ \settowidth\MacroIndent{\ttfamily\scriptsize 000\ } % \end{macrocode} % ここからが本文ページとなります。 -% \changes{v1.0c}{1997/01/29}{Rename pltpatch to plpatch.} +% ^^AA \changes{v1.0c}{1997/01/29}{Rename pltpatch to plpatch.} +% \changes{v1.0h-u00}{2016/05/08}{ドキュメントから\file{uplpatch.ltx}を除外} % \begin{macrocode} \begin{document} \title{The up\LaTeXe\ Sources} @@ -549,21 +652,21 @@ \clearpage \pagenumbering{arabic} -\DocInclude{uplvers} % pLaTeX version +\DocInclude{uplvers} % upLaTeX version \DocInclude{uplfonts} % NFSS2 commands -%\DocInclude{plcore} % kernel commands +%\DocInclude{plcore} % kernel commands (comment out for upLaTeX) -%\DocInclude{plext} % external commands +%\DocInclude{plext} % external commands (comment out for upLaTeX) -%\DocInclude{pl209} % 2.09 compatibility mode commands +%\DocInclude{pl209} % 2.09 compatibility mode commands (comment out for upLaTeX) \DocInclude{ukinsoku} % kinsoku parameter \DocInclude{ujclasses} % Standard class -%\DocInclude{jltxdoc} % dtx documents class +%\DocInclude{jltxdoc} % dtx documents class (comment out for upLaTeX) %\includeltpatch % patch file (comment out May 8, 2016) @@ -612,24 +715,20 @@ % \section{おまけプログラム}\label{app:omake} % % \subsection{シェルスクリプト\file{mkpldoc.sh}}\label{app:shprog} -% ここでは、p\LaTeXe{}のマクロ定義ファイルをまとめて組版するときに便利な、 -% シェルスクリプト\footnote{このシェルスクリプトはUNIX用です。 +% up\LaTeXe{}のマクロ定義ファイルをまとめて組版するときに便利なシェルスクリプトです。 +% このシェルスクリプト\footnote{このシェルスクリプトはUNIX用です。 % しかしrmコマンドをdeleteコマンドにするなどすれば、簡単にDOSなどのバッチ -% ファイルに修正することができます。}について説明をしています。 -% また、このシェルスクリプトを取り出すための、 -% \dst{}バッチファイルについても説明をしています。 -% -% このシェルスクリプトの使用方法は次のとおりです。 +% ファイルに修正することができます。}の使用方法は次のとおりです。 % \begin{verbatim} % sh mkpldoc.sh % \end{verbatim} % % \subsubsection{\file{mkpldoc.sh}の内容} -% まず、以前に\file{pldoc.tex}を処理したときに作成された、 +% まず、以前に\file{upldoc.tex}を処理したときに作成された、 % 目次ファイルや索引ファイルなどを削除します。 -% \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}{\file{mkpldoc.sh}を改善} +% ^^A \changes{v1.0c}{1997/01/23}{Don't copy gind.ist and gglo.ist from +% ^^A \$TEXMF/tex/latex2e/base directory.} +% ^^A \changes{v1.0d}{2016/01/27}{\file{mkpldoc.sh}を改善} % \begin{macrocode} %<*shprog> for f in upldoc.toc upldoc.idx upldoc.glo ; do @@ -642,7 +741,7 @@ done % \begin{macrocode} echo "" > ltxdoc.cfg % \end{macrocode} -% そして、\file{pldoc.tex}を処理します。 +% そして、\file{upldoc.tex}を処理します。 % \begin{macrocode} uplatex upldoc.tex % \end{macrocode} @@ -651,6 +750,13 @@ uplatex upldoc.tex % います。mendexはmakeindexの上位互換のファイル整形コマンドで、 % 索引語の読みを自動的に付けるなどの機能があります。 % +% up\LaTeX{}の場合はmendexコマンドをUTF-8モードで実行する必要があります +% ので、|-U|というオプションを付けます\footnote{uplatexコマンドも +% 実際にはUTF-8モードで実行する必要がありますが、デフォルトの内部漢字 +% コードがUTF-8に設定されているはずですので、\texttt{-kanji=utf8}を +% 付けなくても処理できると思います。}。 +% makeindexコマンドには、このオプションがありません。 +% % |-s|オプションは、索引ファイルを整形するためのスタイルオプションです。 % 索引用の\file{gind.ist}と変更履歴用の\file{gglo.ist}は、 % \LaTeX{}のディストリビューションに付属しています。 @@ -660,10 +766,10 @@ uplatex upldoc.tex % |-f|は、項目に``読み''がなくてもエラーとしないオプションです。 % makeindexコマンドには、このオプションがありません。 % \begin{macrocode} -mendex -s gind.ist -d upldoc.dic -o upldoc.ind upldoc.idx -mendex -f -s gglo.ist -o upldoc.gls upldoc.glo +mendex -U -s gind.ist -d upldoc.dic -o upldoc.ind upldoc.idx +mendex -U -f -s gglo.ist -o upldoc.gls upldoc.glo % \end{macrocode} -% \file{ltxdoc.cfg}の内容を|\includeonly{}|にし、\file{pldoc.tex}を処理します。 +% \file{ltxdoc.cfg}の内容を|\includeonly{}|にし、\file{upldoc.tex}を処理します。 % このコマンドは、引数に指定されたファイルだけを``|\include|''するための % コマンドですが、ここでは何も|\include|したく\emph{ない}ので、 % 引数には何も指定をしません。 @@ -674,7 +780,7 @@ mendex -f -s gglo.ist -o upldoc.gls upldoc.glo echo "\includeonly{}" > ltxdoc.cfg uplatex upldoc.tex % \end{macrocode} -% 最後に、再び\file{ltxdoc.cfg}を空にして、\file{pldoc.tex}を処理をします。 +% 最後に、再び\file{ltxdoc.cfg}を空にして、\file{upldoc.tex}を処理をします。 % 本文を1ページから開始していますので、この後、もう一度処理をする % 必要はありません。 % \begin{macrocode} @@ -828,8 +934,8 @@ exit; % \end{macrocode} % % \subsection{\dst{}バッチファイル} -% \changes{v1.0b}{1996/02/01}{\dst{}にともなう変更} -% \changes{v1.0c}{1997/01/23}{\dst{}にともなう変更} +% ^^A \changes{v1.0b}{1996/02/01}{\dst{}にともなう変更} +% ^^A \changes{v1.0c}{1997/01/23}{\dst{}にともなう変更} % ここでは、付録\ref{app:shprog}と付録\ref{app:plprog}で説明をした二つの % スクリプトを、このファイルから取り出すための\dst{}バッチファイルについて % 説明をしています。 @@ -874,6 +980,8 @@ exit; %</Xins> % \end{macrocode} % +% \iffalse ^^A comment out for upLaTeX +% % \newpage % \begin{thebibliography}{1} % \bibitem{tex-book} @@ -921,6 +1029,8 @@ exit; % \newblock アスキー出版局, 1994 % \end{thebibliography} % +% \fi +% % \iffalse % ここで、このあとに組版されるかもしれない文書のために、 % 節見出しの番号を算用数字に戻します。 diff --git a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx index 010a5c43b0b..05845476674 100644 --- a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx +++ b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx @@ -14,7 +14,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 @@ -75,13 +75,16 @@ % \changes{v1.6a-u00}{2016/04/06}{p\LaTeX{}の変更に追随。} % \changes{v1.6b-u00}{2016/04/30}{uptrace.styの冒頭でtracefnt.styを % \cs{RequirePackageWithOptions}するようにした} +% \changes{v1.6c}{2016/06/06}{v1.6aでの修正で\'e など全てのアクセント付き文字で +% 周囲に\cs{xkanjiskip}が入らなくなっていたのを修正。} +% \changes{v1.6c-u00}{2016/06/06}{p\LaTeX{}の変更に追随。} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{uplfonts.dtx}[2016/04/30 v1.6b-u00 upLaTeX New Font Selection Scheme] +\ProvidesFile{uplfonts.dtx}[2016/06/06 v1.6c-u00 upLaTeX New Font Selection Scheme] % \iffalse \documentclass{jltxdoc} \GetFileInfo{uplfonts.dtx} @@ -1643,51 +1646,152 @@ % \begin{macrocode} %<*pldefs> \ProvidesFile{upldefs.ltx} - [2016/04/06 v1.6a-u00 upLaTeX Kernel (Default settings)] + [2016/06/06 v1.6c-u00 upLaTeX Kernel (Default settings)] +%</pldefs> % \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} -%</pldefs> -%<platexrelease>\plIncludeInRelease{2016/04/17}{\@text@composite} +%<platexrelease>\plIncludeInRelease{2016/06/10}{\@text@composite} %<platexrelease> {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} +%<platexrelease>\def\@text@composite#1#2#3\@text@composite{% +%<platexrelease> \expandafter\@text@composite@x +%<platexrelease> \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 +} %</pldefs|platexrelease> %<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{2016/04/17}{\@text@composite} +%<platexrelease> {Fix for non-zero baselineshift}% +%<platexrelease>\let\g@tlastchart@\@undefined +%<platexrelease>\let\pltx@isletter\@undefined +%<platexrelease>\def\@text@composite#1#2#3#{% +%<platexrelease> \begingroup +%<platexrelease> \setbox\z@=\hbox\bgroup% +%<platexrelease> \ybaselineshift\z@\tbaselineshift\z@ +%<platexrelease> \expandafter\@text@composite@x +%<platexrelease> \csname\string#1-\string#2\endcsname} +%<platexrelease>\def\@text@composite@x#1#2{% +%<platexrelease> \ifx#1\relax +%<platexrelease> \expandafter\@secondoftwo +%<platexrelease> \else +%<platexrelease> \expandafter\@firstoftwo +%<platexrelease> \fi +%<platexrelease> #1{#2}\egroup +%<platexrelease> \leavevmode +%<platexrelease> \expandafter\lower +%<platexrelease> \iftdir +%<platexrelease> \ifmdir +%<platexrelease> \ifmmode\tbaselineshift\else\ybaselineshift\fi +%<platexrelease> \else +%<platexrelease> \tbaselineshift +%<platexrelease> \fi +%<platexrelease> \else +%<platexrelease> \ybaselineshift +%<platexrelease> \fi +%<platexrelease> \box\z@ +%<platexrelease> \endgroup} +%<platexrelease>\plEndIncludeInRelease %<platexrelease>\plIncludeInRelease{0000/00/00}{\@text@composite} %<platexrelease> {Fix for non-zero baselineshift}% +%<platexrelease>\let\g@tlastchart@\@undefined +%<platexrelease>\let\pltx@isletter\@undefined %<platexrelease>\def\@text@composite#1#2#3\@text@composite{% %<platexrelease> \expandafter\@text@composite@x %<platexrelease> \csname\string#1-\string#2\endcsname} diff --git a/Master/texmf-dist/source/uplatex/base/uplvers.dtx b/Master/texmf-dist/source/uplatex/base/uplvers.dtx index bdfe0850619..147a9026e61 100644 --- a/Master/texmf-dist/source/uplatex/base/uplvers.dtx +++ b/Master/texmf-dist/source/uplatex/base/uplvers.dtx @@ -14,7 +14,7 @@ % % \fi % -% \CheckSum{204} +% \CheckSum{192} %% \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 @@ -64,12 +64,18 @@ % \changes{v1.0u-u00}{2016/04/17}{\LaTeX\ \texttt{!<2016/03/31!>}版対応確認} % \changes{v1.0v-u00}{2016/05/07}{パッチファイルをロードするのをやめた。} % \changes{v1.0v-u00}{2016/05/07}{起動時の文字列を最新の\LaTeX{}に合わせた。} +% \changes{v1.0w-u00}{2016/05/12}{起動時の文字列に入れる\LaTeX{}のバージョンを +% 元の\LaTeX{}のバナーから引き継ぐように改良} +% \changes{v1.0w-u00}{2016/05/12}{起動時の文字列に入れるBabelのバージョンを +% 元の\LaTeX{}のバナーから取得するコードを\file{uplatex.ini}から取り入れた} +% \changes{v1.0w-u01}{2016/05/21}{サポート外の\LaTeX~2.09互換モードが +% 使われた場合に明確なエラーを出すようにした。} % \fi % % \iffalse %<*driver> % \fi -\ProvidesFile{uplvers.dtx}[2016/05/07 v1.0v-u00 upLaTeX Kernel (Version Info)] +\ProvidesFile{uplvers.dtx}[2016/05/21 v1.0w-u01 upLaTeX Kernel (Version Info)] % \iffalse \documentclass{jltxdoc} \GetFileInfo{uplvers.dtx} @@ -121,10 +127,9 @@ %</2ekernel|latexrelease|platexrelease> % \end{macrocode} % -% up\LaTeXe{}のフォーマットファイル名とバージョンです。 -% % \begin{macro}{\pfmtname} % \begin{macro}{\pfmtversion} +% up\LaTeXe{}のフォーマットファイル名とバージョンです。 % \begin{macrocode} %<*plcore> \def\pfmtname{pLaTeX2e} @@ -132,12 +137,29 @@ %</plcore> %<platexrelease>\edef\platexreleaseversion %<*plcore|platexrelease> - {2016/05/07u00} + {2016/06/10u01} %</plcore|platexrelease> % \end{macrocode} % \end{macro} % \end{macro} % +% \subsection{\LaTeX~2.09互換モードの抑制} +% +% \begin{macro}{\documentstyle} +% p\LaTeX{}は、|\documentclass|の代わりに|\documentstyle|が使われると +% \LaTeX~2.09互換モードに入ります。しかし、up\LaTeX{}は新しいマクロ +% パッケージですので、\LaTeX~2.09互換モードをサポートしません。 +% このため、\file{plcore.dtx}の定義を上書きして明確なエラーを出します。 +% \changes{v1.0w-u01}{2016/05/21}{サポート外の\LaTeX~2.09互換モードが +% 使われた場合に明確なエラーを出すようにした。} +% \begin{macrocode} +%<*plfinal> +\def\documentstyle{% + \@latex@error{upLaTeX does NOT support LaTeX 2.09 compatibility mode}\@ehc + \documentclass} +% \end{macrocode} +% \end{macro} +% % \subsection{パッチファイルのロード} % % 次の部分は、up\LaTeXe{}のパッチファイルをロードするためのコードです。 @@ -146,7 +168,6 @@ % パッチファイルをロードするコードはコメントアウトしました。 % \changes{v1.0v-u00}{2016/05/07}{パッチファイルをロードするのをやめた。} % \begin{macrocode} -%<*plfinal> %\IfFileExists{uplpatch.ltx} % {\typeout{************************************^^J% % * Appliying patch file uplpatch.ltx *^^J% @@ -184,46 +205,50 @@ % 起動時に表示される文字列です。 % \LaTeX{}にパッチがあてられている場合は、それも表示します。 % \changes{v1.0v-u00}{2016/05/07}{起動時の文字列を最新の\LaTeX{}に合わせた。} +% \changes{v1.0w-u00}{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 upLaTeX \def\ppatch@level{0}\fi -\ifnum\patch@level=0 - \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>)}} - \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{% - \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{}やup\LaTeX{}は、独自のハイフネーション・パターンを定義していません。 +% 代わりに、\LaTeX{}が読み込んでいるBabelパッケージのものが適用されます。 +% 起動時の文字列にも\file{hyphen.cfg}のバージョンを反映します。 +% \changes{v1.0w-u00}{2016/05/12}{起動時の文字列に入れるBabelのバージョンを +% 元の\LaTeX{}のバナーから取得するコードを\file{uplatex.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 %</plfinal> % \end{macrocode} % diff --git a/Master/texmf-dist/tex/uplatex/base/uplatex.ltx b/Master/texmf-dist/tex/uplatex/base/uplatex.ltx index e06193c8be6..60287e1f6ff 100644 --- a/Master/texmf-dist/tex/uplatex/base/uplatex.ltx +++ b/Master/texmf-dist/tex/uplatex/base/uplatex.ltx @@ -41,9 +41,10 @@ **************************} \makeatletter \input uplcore.ltx -\makeatother \the\everyjob \let\dump\orgdump +\let\orgdump\@undefined +\makeatother \dump \endinput \endinput diff --git a/Master/texmf-dist/tex/uplatex/base/uplcore.ltx b/Master/texmf-dist/tex/uplatex/base/uplcore.ltx index acea93b4c38..bda26827b4e 100644 --- a/Master/texmf-dist/tex/uplatex/base/uplcore.ltx +++ b/Master/texmf-dist/tex/uplatex/base/uplcore.ltx @@ -35,7 +35,7 @@ %% \def\pfmtname{pLaTeX2e} \def\pfmtversion - {2016/05/07u00} + {2016/06/10u01} \def\plIncludeInRelease#1{\kernel@ifnextchar[% {\@plIncludeInRelease{#1}} {\@plIncludeInRelease{#1}[#1]}} @@ -1045,45 +1045,42 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% +\def\documentstyle{% + \@latex@error{upLaTeX does NOT support LaTeX 2.09 compatibility mode}\@ehc + \documentclass} \ifx\patch@level\@undefined % fallback if undefined in LaTeX \def\patch@level{0}\fi \ifx\ppatch@level\@undefined % fallback if undefined in upLaTeX \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 +\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 \AtBeginDocument{% \@ifpackageloaded{latexrelease}{% \@ifpackageloaded{platexrelease}{}{% diff --git a/Master/texmf-dist/tex/uplatex/base/upldefs.ltx b/Master/texmf-dist/tex/uplatex/base/upldefs.ltx index 3a5455b681b..87b0215a2a0 100644 --- a/Master/texmf-dist/tex/uplatex/base/upldefs.ltx +++ b/Master/texmf-dist/tex/uplatex/base/upldefs.ltx @@ -31,33 +31,70 @@ %% Right brace \} Tilde \~} %% \ProvidesFile{upldefs.ltx} - [2016/04/06 v1.6a-u00 upLaTeX Kernel (Default settings)] -\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} + [2016/06/06 v1.6c-u00 upLaTeX Kernel (Default settings)] +\def\g@tlastchart@#1{#1\ifx\lastnodechar\@undefined\m@ne\else\lastnodechar\fi} +\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}} \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 + \ifnum\@tempcntb<\z@ + \@tempdima=\iftdir + \ifmdir + \ifmmode\tbaselineshift\else\ybaselineshift\fi + \else + \tbaselineshift + \fi + \else + \ybaselineshift + \fi + \@tempcntb=\@cclvi + \else\@tempdima=\z@ + \fi + \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 \else - \ybaselineshift + \ifdim\@tempdima=\z@{\ybaselineshift\z@\tbaselineshift\z@#1}% + \else\lower\@tempdima\box\z@\fi \fi - \box\z@ - \endgroup} + \endgroup}% + \fi +} \def \check@nocorr@ #1#2\nocorr#3\@nil {% \let \check@icl \relax% \maybe@ic から変更 \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}% diff --git a/Master/texmf-dist/tex/uplatex/config/uplatex.ini b/Master/texmf-dist/tex/uplatex/config/uplatex.ini index bfacea88e43..5ac594b3aa5 100644 --- a/Master/texmf-dist/tex/uplatex/config/uplatex.ini +++ b/Master/texmf-dist/tex/uplatex/config/uplatex.ini @@ -1,32 +1,9 @@ %% for upLaTeX (Unicode pLaTeX) -%% written by Tono san (modified by texjporg 2016/05/07) +%% written by Tono san (modified by texjporg 2016/05/12) %% \begingroup \catcode`\{=1 \catcode`\}=2% - \immediate\write20{<<< making "uplatex with Babel" format >>>} - \def\platexTMP{% - \let\platexDUMP=\dump - \let\dump=\endinput - } - \expandafter -\endgroup \platexTMP -% -%% \scrollmode + \immediate\write20{<<< making "uplatex with Babel" format >>>} +\endgroup +\scrollmode \input uplatex.ltx -% -\begingroup \makeatletter% - \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\let\noexpand\dump=\noexpand\platexDUMP - \noexpand\let\noexpand\platexDUMP=\noexpand\@undefined - \noexpand\everyjob={\the\everyjob}% - } - \expandafter -\endgroup \platexTMP -\dump \endinput |