summaryrefslogtreecommitdiff
path: root/language/japanese/uplatex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/japanese/uplatex
Initial commit
Diffstat (limited to 'language/japanese/uplatex')
-rw-r--r--language/japanese/uplatex/LICENSE29
-rw-r--r--language/japanese/uplatex/Makefile124
-rw-r--r--language/japanese/uplatex/README.md22
-rw-r--r--language/japanese/uplatex/README_uplatex.txt57
-rw-r--r--language/japanese/uplatex/ujclasses.dtx4538
-rw-r--r--language/japanese/uplatex/ukinsoku.dtx590
-rw-r--r--language/japanese/uplatex/uplatex-en.pdfbin0 -> 116732 bytes
-rw-r--r--language/japanese/uplatex/uplatex.dtx1217
-rw-r--r--language/japanese/uplatex/uplatex.ini9
-rw-r--r--language/japanese/uplatex/uplatex.pdfbin0 -> 226435 bytes
-rw-r--r--language/japanese/uplatex/uplcls.ins49
-rw-r--r--language/japanese/uplatex/upldoc.pdfbin0 -> 543496 bytes
-rw-r--r--language/japanese/uplatex/upldocs.ins24
-rw-r--r--language/japanese/uplatex/uplfmt.ins32
-rw-r--r--language/japanese/uplatex/uplfonts.dtx482
-rw-r--r--language/japanese/uplatex/uplvers.dtx194
16 files changed, 7367 insertions, 0 deletions
diff --git a/language/japanese/uplatex/LICENSE b/language/japanese/uplatex/LICENSE
new file mode 100644
index 0000000000..fa08676706
--- /dev/null
+++ b/language/japanese/uplatex/LICENSE
@@ -0,0 +1,29 @@
+Copyright (c) 2010 ASCII MEDIA WORKS
+Copyright (c) 2016 Takuji Tanaka
+Copyright (c) 2016-2019 Japanese TeX Development Community
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/language/japanese/uplatex/Makefile b/language/japanese/uplatex/Makefile
new file mode 100644
index 0000000000..92d1388fa4
--- /dev/null
+++ b/language/japanese/uplatex/Makefile
@@ -0,0 +1,124 @@
+STRIPTARGET = uplatex.ltx ujarticle.cls
+DOCTARGET = uplatex upldoc \
+ uplatex-en #upldoc-en
+PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
+DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
+KANJI = -kanji=utf8
+FONTMAP = -f ipaex.map -f uptex-ipaex.map
+TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
+
+default: $(STRIPTARGET) $(DVITARGET)
+strip: $(STRIPTARGET)
+all: $(STRIPTARGET) $(PDFTARGET)
+
+PLFMT = uplatex.ltx uplcore.ltx ukinsoku.tex upldefs.ltx \
+ jy2mc.fd jy2gt.fd jt2mc.fd jt2gt.fd uptrace.sty
+
+PLFMT_SRC = uplatex.dtx uplvers.dtx uplfonts.dtx ukinsoku.dtx
+
+PLCLS = ujarticle.cls ujreport.cls ujbook.cls ujsize10.clo \
+ ujsize11.clo ujsize12.clo ujbk10.clo ujbk11.clo ujbk12.clo \
+ utarticle.cls utreport.cls utbook.cls utsize10.clo \
+ utsize11.clo utsize12.clo utbk10.clo utbk11.clo utbk12.clo
+
+PLCLS_SRC = ujclasses.dtx
+
+INTRODOC_SRC = uplatex.dtx
+
+PLDOC_SRC = uplatex.dtx uplvers.dtx uplfonts.dtx \
+ ukinsoku.dtx ujclasses.dtx
+
+uplatex.ltx: $(PLFMT_SRC)
+ rm -f $(PLFMT)
+ uplatex $(KANJI) uplfmt.ins
+ rm uplfmt.log
+
+ujarticle.cls: $(PLCLS_SRC)
+ rm -f $(PLCLS)
+ uplatex $(KANJI) uplcls.ins
+ rm uplcls.log
+
+uplatex.dvi: $(INTRODOC_SRC)
+ rm -f uplatex.cfg
+ uplatex $(KANJI) uplatex.dtx
+ mendex -U -f -s gglo.ist -o uplatex.gls uplatex.glo
+ uplatex $(KANJI) uplatex.dtx
+ rm uplatex.aux uplatex.log
+ rm uplatex.glo uplatex.gls uplatex.ilg
+
+upldoc.dvi: $(PLDOC_SRC)
+ rm -f uplatex.cfg
+ rm -f upldoc.tex Xins.ins
+ uplatex $(KANJI) upldocs.ins
+ rm -f mkpldoc*.sh #dstcheck.pl
+ uplatex $(KANJI) Xins.ins
+ sh mkpldoc.sh
+ rm *.aux *.log upldoc.toc upldoc.idx upldoc.ind upldoc.ilg
+ rm upldoc.glo upldoc.gls upldoc.tex Xins.ins
+ rm ltxdoc.cfg upldoc.dic mkpldoc*.sh #dstcheck.pl
+
+uplatex-en.dvi: $(INTRODOC_SRC)
+ # built-in echo in shell is troublesome, so use perl instead
+ perl -e "print \"\\\\newif\\\\ifJAPANESE\\n"\" >uplatex.cfg
+ uplatex -jobname=uplatex-en $(KANJI) uplatex.dtx
+ mendex -U -f -s gglo.ist -o uplatex-en.gls uplatex-en.glo
+ uplatex -jobname=uplatex-en $(KANJI) uplatex.dtx
+ rm uplatex-en.aux uplatex-en.log
+ rm uplatex-en.glo uplatex-en.gls uplatex-en.ilg
+ rm uplatex.cfg
+
+upldoc-en.dvi: $(PLDOC_SRC)
+ # built-in echo in shell is troublesome, so use perl instead
+ perl -e "print \"\\\\newif\\\\ifJAPANESE\\n"\" >uplatex.cfg
+ rm -f upldoc.tex Xins.ins
+ uplatex $(KANJI) upldocs.ins
+ rm -f mkpldoc*.sh #dstcheck.pl
+ uplatex $(KANJI) Xins.ins
+ sh mkpldoc-en.sh
+ rm *.aux *.log upldoc-en.toc upldoc-en.idx upldoc-en.ind upldoc-en.ilg
+ rm upldoc-en.glo upldoc-en.gls upldoc.tex Xins.ins
+ rm ltxdoc.cfg upldoc.dic mkpldoc*.sh #dstcheck.pl
+ rm uplatex.cfg
+
+uplatex.pdf: uplatex.dvi
+ dvipdfmx $(FONTMAP) $<
+upldoc.pdf: upldoc.dvi
+ dvipdfmx $(FONTMAP) $<
+uplatex-en.pdf: uplatex-en.dvi
+ dvipdfmx $(FONTMAP) $<
+upldoc-en.pdf: upldoc-en.dvi
+ dvipdfmx $(FONTMAP) $<
+
+.PHONY: install clean cleanstrip cleanall cleandoc
+install:
+ mkdir -p ${TEXMF}/doc/uplatex/base
+ cp ./LICENSE ${TEXMF}/doc/uplatex/base/
+ cp ./README.md ${TEXMF}/doc/uplatex/base/
+ cp ./*.pdf ${TEXMF}/doc/uplatex/base/
+ #cp ./*.txt ${TEXMF}/doc/uplatex/base/
+ mkdir -p ${TEXMF}/source/uplatex/base
+ cp ./Makefile ${TEXMF}/source/uplatex/base/
+ cp ./*.dtx ${TEXMF}/source/uplatex/base/
+ cp ./*.ins ${TEXMF}/source/uplatex/base/
+ mkdir -p ${TEXMF}/tex/uplatex/base
+ cp ./ukinsoku.tex ${TEXMF}/tex/uplatex/base/
+ cp ./*.clo ${TEXMF}/tex/uplatex/base/
+ cp ./*.cls ${TEXMF}/tex/uplatex/base/
+ cp ./*.fd ${TEXMF}/tex/uplatex/base/
+ cp ./*.ltx ${TEXMF}/tex/uplatex/base/
+ cp ./*.sty ${TEXMF}/tex/uplatex/base/
+ mkdir -p ${TEXMF}/tex/uplatex/config
+ cp ./uplatex.ini ${TEXMF}/tex/uplatex/config/
+clean:
+ rm -f $(PLFMT) $(PLCLS) \
+ $(DVITARGET) \
+ upldoc.tex Xins.ins
+cleanstrip:
+ rm -f $(PLFMT) $(PLCLS) \
+ upldoc.tex Xins.ins
+cleanall:
+ rm -f $(PLFMT) $(PLCLS) \
+ $(DVITARGET) $(PDFTARGET) \
+ upldoc.tex Xins.ins
+cleandoc:
+ rm -f $(DVITARGET) $(PDFTARGET)
diff --git a/language/japanese/uplatex/README.md b/language/japanese/uplatex/README.md
new file mode 100644
index 0000000000..db8d4a571e
--- /dev/null
+++ b/language/japanese/uplatex/README.md
@@ -0,0 +1,22 @@
+# uplatex
+
+The bundle provides pLaTeX2e macros for [upTeX by Takuji Tanaka](http://www.t-lab.opal.ne.jp/tex/uptex_en.html).
+This is a community edition syncing with [platex](https://github.com/texjporg/platex).
+
+## Repository
+
+The bundle is maintained on GitHub:
+https://github.com/texjporg/uplatex
+
+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](./LICENSE)).
+
+## Release Date
+
+2019-05-22
+
+Japanese TeX Development Community
diff --git a/language/japanese/uplatex/README_uplatex.txt b/language/japanese/uplatex/README_uplatex.txt
new file mode 100644
index 0000000000..ec866e7749
--- /dev/null
+++ b/language/japanese/uplatex/README_uplatex.txt
@@ -0,0 +1,57 @@
+upLaTeX standard format files and class files
+
+
+#### Contents
+## ins files
+ uplfmt.ins: "uptex uplfmt.ins" generates
+ uplatex.ltx, uplcore.ltx, upldefs.ltx,
+ jy2{mc,gt}.fd, jt2{mc,gt}.fd, uptrace.sty, ukinsoku.tex
+ from uplatex.dtx, uplvers.dtx, uplfonts.dtx, ukinsoku.dtx
+ uplcls.ins: "uptex uplcls.ins" generates
+ ujarticle.cls, ujreport.cls, ujbook.cls, ujsize{10,11,12}.clo, ujbk{10,11,12}.clo,
+ utarticle.cls, utreport.cls, utbook.cls, utsize{10,11,12}.clo, utbk{10,11,12}.clo
+ from ujclasses.dtx
+## dtx files
+ uplatex.dtx, uplvers.dtx: for format files.
+ uplfonts.dtx: for font files.
+ ukinsoku.dtx: for kinsoku file.
+ ujclasses.dtx: for class files.
+ Document (*.dvi) ganeration has not been checked yet.
+## fd files, cls files, sty files, tex files
+ these are generated by uptex and above sources.
+
+
+#### Copyright
+
+See a file LICENSE.
+
+
+#### ChangeLog
+
+Since 2016-04-17, upLaTeX is maintained by Japanese TeX Development Community.
+See https://github.com/texjporg/uplatex/releases for recent changes.
+
+uptex-1.20 [2014/12/29] TTK
+ * re-package for upTeX/upLaTeX Ver.1.20 distribution.
+
+uptex-1.10 [2012/04/29] TTK
+ * Update config/uplatex.ini to Tono-san's style.
+ Ref. http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31691.html
+
+uptex-1.00 [2012/01/15] TTK
+ * re-package for upTeX/upLaTeX Ver.1.00 distribution.
+
+v20110507a [2011/05/07] TTK
+ * re-package for upTeX/upLaTeX based on uptex-0.30 distribution
+ and ptex-texmf-2.5.tar.gz .
+ * reset version number for upTeX/upLaTeX.
+ - uplvers.dtx [2011/05/07 v1.0q_u00], \pfmtversion{2011/05/07u00}
+ - uplpatch.ltx \pfmtversion{2011/05/07u00}
+ - ujclasses.dtx [2011/05/07 v1.6_u00]
+ - uplatex.dtx [2011/05/07 v1.0c_u00]
+ - uplfonts.dtx [2011/05/07 v1.5_u00]
+ - ukinsoku.dtx [2011/05/07 v1.0_u00]
+ * rename plpatch.ltx to uplpatch.ltx .
+ * rename pldefs.cfg to updefs.cfg .
+ * add ujbk{10,11,12}.clo .
+ * converte files to UTF-8 encoding.
diff --git a/language/japanese/uplatex/ujclasses.dtx b/language/japanese/uplatex/ujclasses.dtx
new file mode 100644
index 0000000000..693c91f915
--- /dev/null
+++ b/language/japanese/uplatex/ujclasses.dtx
@@ -0,0 +1,4538 @@
+% \iffalse meta-comment
+%% File: ujclasses.dtx
+%
+% pLaTeX class files:
+% Copyright 1995-2001 ASCII Corporation.
+% and modified for upLaTeX
+%
+% Copyright (c) 2010 ASCII MEDIA WORKS
+% Copyright (c) 2016 Takuji Tanaka
+% Copyright (c) 2016-2019 Japanese TeX Development Community
+%
+% This file is part of the upLaTeX2e system (community edition).
+% --------------------------------------------------------------
+%
+% \fi
+%
+%
+% \setcounter{StandardModuleDepth}{1}
+% \StopEventually{}
+%
+% \iffalse
+% \changes{v1.0}{1995/04/19}{first edition}
+% \changes{v1.0a}{1995/08/30}{ページスタイル部分の調整}
+% \changes{v1.0b}{1995/11/08}{ページスタイル部分の調整}
+% \changes{v1.0c}{1996/01/30}{\LaTeX\ \texttt{!<1995/12/01!>}での修正を反映}
+% \changes{v1.0d}{1996/02/29}{デフォルトページスタイルの修正}
+% \changes{v1.0e}{1996/03/14}{itemize, enumerate環境の修正}
+% \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
+% \changes{v1.0g}{1996/09/03}{トンボの横に作成日時を出力するようにした}
+% \changes{v1.1}{1997/01/16}{\LaTeX\ \texttt{!<1996/06/01!>}版に対応}
+% \changes{v1.1a}{1997/01/23}{\LaTeX\ \texttt{!<1996/12/01!>}版に対応}
+% \changes{v1.1a}{1997/01/25}{互換モードでp\LaTeX~2.09のa4jなどの
+% 用紙オプションに対応}
+% \changes{v1.1b}{1997/01/28}{日本語ファミリの宣言を再度、実装}
+% \changes{v1.1d}{1997/01/29}{2eモードでa4jなどのオプションに対応}
+% \changes{v1.1e}{1997/04/08}{トップマージンの値を修正}
+% \changes{v1.1f}{1997/07/08}{縦組クラスでベースラインがおかしいのを修正}
+% \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
+% のを修正}
+% \changes{v1.1h}{1997/09/03}{landscape指定時の値を修正}
+% \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
+% bothstyleスタイルにすると、コンパイルエラーになるのを修正}
+% \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
+% \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
+% ペナルティが\cs{M@}だったのを\cs{@M}に修正}
+% \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
+% \changes{v1.1n}{1998/10/13}{report,bookクラスの表番号が
+% 見出しレベルに関係なくchapter番号が出力されてしまうのを修正}
+% \changes{v1.1n}{1998/10/13}{mentukeオプションがエラーになっていたのを修正}
+% \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
+% 見出し文字列も消えてしまうのを修正}
+% \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
+% \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
+% \changes{v1.1r}{1999/08/09}{トップマージンの計算式を修正}
+% \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
+% そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
+% \changes{v1.3}{2001/10/04}{目次のページ番号の書体を\cs{rmfamily}から
+% \cs{normalfont}に変更(ありがとう、鈴木た@MILNさん)}
+% \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
+% \changes{v1.5}{2004/01/15}{\cs{part},\cs{chapter}の\cs{@afterindentfalse}を
+% \cs{@afterindenttrue}に変更。
+% \cs{section},\cs{subsection},\cs{subsubsection}の前後空きの伸縮幅を修正。
+% (ありがとうございます、鈴木た@MILNさん)}
+% \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
+% \changes{v1.6-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
+% \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
+% 空になっていなかったのを修正}
+% \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
+% \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
+% \cs{hb@xt@} (sync with classes.dtx v1.3a)}
+% \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
+% arg (sync with classes.dtx v1.4c)}
+% \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
+% 変更を後ろに移動(sync with classes.dtx v1.4f)}
+% \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
+% possibly force horizontal mode (sync with classes.dtx v1.4a)}
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
+% latex/2343 (sync with ltsect.dtx v1.0z)}
+% \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
+% (sync with ltlists.dtx v1.0j)}
+% \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
+% \changes{v1.7b-u00}{2016/11/22}{p\LaTeX{}用に追随}
+% \changes{v1.7c}{2016/12/18}{Only add empty page after part if
+% twoside and openright (sync with classes.dtx v1.4b)}
+% \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
+% ドキュメントを追加}
+% \changes{v1.7c-u00}{2016/12/18}{p\LaTeX{}用に追随}
+% \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
+% \changes{v1.7d}{2017/02/15}{openleftオプション追加}
+% \changes{v1.7d}{2017/02/15}{\cs{cleardoublepage}の代用となる命令群を追加}
+% \changes{v1.7d}{2017/02/15}{bookクラスでtitlepageを必ず奇数ページ
+% に送るように変更}
+% \changes{v1.7d}{2017/02/15}{titlepageのページ番号を奇数ならば1に、
+% 偶数ならば0にリセットするように変更}
+% \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
+% \changes{v1.7d-u00}{2017/02/15}{p\LaTeX{}用に追随}
+% \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
+% \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
+% 奇数ページに送るように変更}
+% \changes{v1.7e-u00}{2017/03/05}{p\LaTeX{}用に追随}
+% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
+% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
+% \changes{v1.7g-u00}{2017/09/19}{p\LaTeX{}用に追随}
+% \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
+% \changes{v1.7h-u00}{2018/02/04}{p\LaTeX{}用に追随}
+% \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
+% \changes{v1.8-u00}{2018/07/03}{p\LaTeX{}用に追随}
+% \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
+% (sync with ltsect.dtx 2018/09/26 v1.1c)}
+% \changes{v1.8a-u00}{2018/10/25}{p\LaTeX{}用に追随}
+% \changes{v1.8b}{2019/04/02}{新元号対応}
+% \changes{v1.8b-u00}{2019/04/02}{p\LaTeX{}用に追随}
+% \fi
+%
+% \iffalse
+\NeedsTeXFormat{pLaTeX2e}
+%<*driver>
+\ProvidesFile{ujclasses.dtx}
+%</driver>
+%<*yoko>
+%<article>\ProvidesClass{ujarticle}
+%<report>\ProvidesClass{ujreport}
+%<book>\ProvidesClass{ujbook}
+%<10pt&!bk>\ProvidesFile{ujsize10.clo}
+%<11pt&!bk>\ProvidesFile{ujsize11.clo}
+%<12pt&!bk>\ProvidesFile{ujsize12.clo}
+%<10pt&bk>\ProvidesFile{ujbk10.clo}
+%<11pt&bk>\ProvidesFile{ujbk11.clo}
+%<12pt&bk>\ProvidesFile{ujbk12.clo}
+%</yoko>
+%<*tate>
+%<article>\ProvidesClass{utarticle}
+%<report>\ProvidesClass{utreport}
+%<book>\ProvidesClass{utbook}
+%<10pt&!bk>\ProvidesFile{utsize10.clo}
+%<11pt&!bk>\ProvidesFile{utsize11.clo}
+%<12pt&!bk>\ProvidesFile{utsize12.clo}
+%<10pt&bk>\ProvidesFile{utbk10.clo}
+%<11pt&bk>\ProvidesFile{utbk11.clo}
+%<12pt&bk>\ProvidesFile{utbk12.clo}
+%</tate>
+ [2019/04/02 v1.8b-u00
+%<article|report|book> Standard upLaTeX class]
+%<10pt|11pt|12pt> Standard upLaTeX file (size option)]
+%<*driver>
+]
+\documentclass{jltxdoc}
+\GetFileInfo{jclasses.dtx}
+\title{up\LaTeXe{}の標準クラス\space\fileversion}
+\author{Ken Nakano \& TTK}
+\date{作成日:\filedate}
+\begin{document}
+ \maketitle
+ \tableofcontents
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% このファイルは、up\LaTeXe{}の標準クラスファイルです。
+% p\LaTeXe{}の標準クラスファイルをup\LaTeXe{}用に修正したものです。
+% \dst{}プログラムによって、横組用のクラスファイルと縦組用のクラスファイル
+% を作成することができます。
+%
+% 次に\dst{}プログラムのためのオプションを示します。
+%
+% \DeleteShortVerb{\|}
+% \begin{center}
+% \begin{tabular}{l|l}
+% \emph{オプション} & \emph{意味}\\\hline
+% article & articleクラスを生成\\
+% report & reportクラスを生成\\
+% book & bookクラスを生成\\
+% 10pt & 10ptサイズの設定を生成\\
+% 11pt & 11ptサイズの設定を生成\\
+% 12pt & 12ptサイズの設定を生成\\
+% bk & bookクラス用のサイズの設定を生成\\
+% tate & 縦組用の設定を生成\\
+% yoko & 横組用の設定を生成\\
+% \end{tabular}
+% \end{center}
+% \MakeShortVerb{\|}
+%
+%
+% \section{オプションスイッチ}
+% ここでは、後ほど使用するいくつかのコマンドやスイッチを定義しています。
+%
+% \begin{macro}{\c@@paper}
+% 用紙サイズを示すために使います。
+% A4, A5, B4, B5用紙はそれぞれ、1, 2, 3, 4として表されます。
+% \begin{macrocode}
+%<*article|report|book>
+\newcounter{@paper}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@landscape}
+% 用紙を横向きにするかどうかのスイッチです。デフォルトは、縦向きです。
+% \begin{macrocode}
+\newif\if@landscape \@landscapefalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@ptsize}
+% 組版をするポイント数の一の位を保存するために使います。
+% 0, 1, 2のいずれかです。
+% \begin{macrocode}
+\newcommand{\@ptsize}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@restonecol}
+% 二段組時に用いるテンポラリスイッチです。
+% \begin{macrocode}
+\newif\if@restonecol
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@titlepage}
+% タイトルページやアブストラクト(概要)を
+% 独立したページにするかどうかのスイッチです。
+% reportとbookスタイルのデフォルトでは、独立したページになります。
+% \begin{macrocode}
+\newif\if@titlepage
+%<article>\@titlepagefalse
+%<report|book>\@titlepagetrue
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@openright}
+% chapterレベルを右ページからはじめるかどうかのスイッチです。
+% 横組では奇数ページ、縦組では偶数ページから始まることになります。
+% reportクラスのデフォルトは、``no''です。
+% bookクラスのデフォルトは、``yes''です。
+% \begin{macrocode}
+%<!article>\newif\if@openright
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@openleft}
+% chapterレベルを左ページからはじめるかどうかのスイッチです。
+% 日本語\TeX{}開発コミュニティ版で新たに追加されました。
+% 横組では偶数ページ、縦組では奇数ページから始まることになります。
+% reportクラスとbookクラスの両方で、デフォルトは``no''です。
+% \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
+% \begin{macrocode}
+%<!article>\newif\if@openleft
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v1.0c}{1995/12/25}{Macro \cs{if@openbib} removed}
+%
+% \begin{macro}{\if@mainmatter}
+% スイッチ|\@mainmatter|が真の場合、本文を処理しています。
+% このスイッチが偽の場合は、|\chapter|コマンドは見出し番号を出力しません。
+% \begin{macrocode}
+%<book>\newif\if@mainmatter \@mainmattertrue
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\hour}
+% \begin{macro}{\minute}
+% \begin{macrocode}
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\if@stysize}
+% \changes{v1.1a}{1997/01/25}{Add \cs{if@stysize}.}
+% p\LaTeXe~2.09互換モードで、スタイルオプションにa4j,a5pなどが指定された
+% ときの動作をエミュレートするためのフラグです。
+% \begin{macrocode}
+\newif\if@stysize \@stysizefalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@enablejfam}
+% \changes{v1.1b}{1997/01/28}{\break Add \cs{if@enablejfam}}
+% 日本語ファミリを宣言するために用いるフラグです。
+% \begin{macrocode}
+\newif\if@enablejfam \@enablejfamtrue
+% \end{macrocode}
+% 和欧文両対応の数式文字コマンドを有効にするときに用いるフラグです。
+% マクロの展開順序が複雑になるのを避けるため、
+% デフォルトではfalseとしてあります。
+% \begin{macrocode}
+\newif\if@mathrmmc \@mathrmmcfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \section{オプションの宣言}
+% ここでは、クラスオプションの宣言を行なっています。
+%
+% \subsection{用紙オプション}
+% 用紙サイズを指定するオプションです。
+% \begin{macrocode}
+\DeclareOption{a4paper}{\setcounter{@paper}{1}%
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5paper}{\setcounter{@paper}{2}%
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4paper}{\setcounter{@paper}{3}%
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5paper}{\setcounter{@paper}{4}%
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+% \end{macrocode}
+% \changes{v1.0a}{1995/09/26}{Change b4paper width/height 352x250 to 364x257}
+% \changes{v1.0a}{1995/09/26}{Change b5paper width/height 250x176 to 257x182}
+% ドキュメントクラスに、以下のオプションを指定すると、通常よりもテキストを
+% 組み立てる領域の広いスタイルとすることができます。
+% \begin{macrocode}
+%
+\DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+%
+\DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
+ \setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
+ \setlength\paperheight {210mm}
+ \setlength\paperwidth {148mm}}
+\DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
+ \setlength\paperheight {364mm}
+ \setlength\paperwidth {257mm}}
+\DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
+ \setlength\paperheight {257mm}
+ \setlength\paperwidth {182mm}}
+% \end{macrocode}
+%
+% \subsection{サイズオプション}
+% 基準となるフォントの大きさを指定するオプションです。
+% \begin{macrocode}
+\if@compatibility
+ \renewcommand{\@ptsize}{0}
+\else
+ \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
+\fi
+\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
+\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
+% \end{macrocode}
+%
+% \subsection{横置きオプション}
+% このオプションが指定されると、用紙の縦と横の長さを入れ換えます。
+% \changes{v1.1h}{1997/09/03}{オプションの処理時に縦横の値を交換}
+% \changes{v1.1h}{1997/09/03}{landscapeオプションを互換モードでも有効に}
+% \begin{macrocode}
+\DeclareOption{landscape}{\@landscapetrue
+ \setlength\@tempdima{\paperheight}%
+ \setlength\paperheight{\paperwidth}%
+ \setlength\paperwidth{\@tempdima}}
+% \end{macrocode}
+%
+% \subsection{トンボオプション}
+% |tombow|オプションが指定されると、用紙サイズに合わせてトンボを出力します。
+% このとき、トンボの脇にDVIを作成した日付が出力されます。
+% 作成日付の出力を抑制するには、|tombow|ではなく、|tombo|と指定をします。
+%
+% ジョブ情報の書式は元々|filename : 2017/3/5(13:3)|のような書式でしたが、
+% jsclassesにあわせて桁数固定の|filename (2017-03-05 13:03)|に直しました。
+% \changes{v1.0g}{1996/09/03}{Add to \cs{@bannertoken}.}
+% \changes{v1.1a}{1997/01/23}{日付出力オプション}
+% \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
+% \begin{macrocode}
+\DeclareOption{tombow}{%
+ \tombowtrue \tombowdatetrue
+ \setlength{\@tombowwidth}{.1\p@}%
+ \@bannertoken{%
+ \jobname\space(\number\year-\two@digits\month-\two@digits\day
+ \space\two@digits\hour:\two@digits\minute)}%
+ \maketombowbox}
+\DeclareOption{tombo}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{.1\p@}%
+ \maketombowbox}
+% \end{macrocode}
+%
+% \subsection{面付けオプション}
+% このオプションが指定されると、トンボオプションを指定したときと同じ
+% 位置に文章を出力します。作成したDVIをフィルムに面付け出力する場合など
+% に指定をします。
+% \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
+% \changes{v1.1n}{1998/10/13}
+% {動作していなかったのを修正。ありがとう、刀祢さん}
+% \begin{macrocode}
+\DeclareOption{mentuke}{%
+ \tombowtrue \tombowdatefalse
+ \setlength{\@tombowwidth}{\z@}%
+ \maketombowbox}
+% \end{macrocode}
+%
+% \subsection{組方向オプション}
+% このオプションが指定されると、縦組で組版をします。
+% \changes{v1.0g}{1997/01/25}{Insert \cs{hbox}, to switch tate-mode.}
+% \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
+% \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
+% \begin{macrocode}
+\DeclareOption{tate}{%
+ \AtBeginDocument{\tate\message{《縦組モード》}%
+ \adjustbaseline}%
+}
+% \end{macrocode}
+%
+% \subsection{両面、片面オプション}
+% twosideオプションが指定されると、両面印字出力に適した整形を行ないます。
+% \begin{macrocode}
+\DeclareOption{oneside}{\@twosidefalse}
+\DeclareOption{twoside}{\@twosidetrue}
+% \end{macrocode}
+%
+% \subsection{二段組オプション}
+% 二段組にするかどうかのオプションです。
+% \begin{macrocode}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+% \end{macrocode}
+%
+% \subsection{表題ページオプション}
+% |@titlepage|が真の場合、表題を独立したページに出力します。
+% \begin{macrocode}
+\DeclareOption{titlepage}{\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+% \end{macrocode}
+%
+% \subsection{右左起こしオプション}
+% chapterを右ページあるいは左ページから
+% はじめるかどうかを指定するオプションです。
+% |openleft|オプションは日本語\TeX{}開発コミュニティによって追加されました。
+% \changes{v1.7d}{2017/02/15}{openleftオプション追加}
+% \begin{macrocode}
+%<!article>\if@compatibility
+%<book>\@openrighttrue
+%<!article>\else
+%<!article>\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
+%<!article>\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
+%<!article>\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
+%<!article>\fi
+% \end{macrocode}
+%
+% \subsection{数式のオプション}
+% \Lopt{leqno}を指定すると、数式番号を数式の左側に出力します。
+% \Lopt{fleqn}を指定するとディスプレイ数式を左揃えで出力します。
+% \begin{macrocode}
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+% \end{macrocode}
+%
+% \subsection{参考文献のオプション}
+% 参考文献一覧を``オープンスタイル''の書式で出力します。
+% これは各ブロックが改行で区切られ、|\bibindent|のインデントが付く書式です。
+% \changes{v1.0c}{1995/12/25}{openbibオプションを再実装}
+% \begin{macrocode}
+\DeclareOption{openbib}{%
+% \end{macrocode}
+% 参考文献環境内の最初のいくつかのフックを満たします。
+% \begin{macrocode}
+ \AtEndOfPackage{%
+ \renewcommand\@openbib@code{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }%
+% \end{macrocode}
+% そして、|\newblock|を再定義します。
+% \begin{macrocode}
+ \renewcommand\newblock{\par}}}
+% \end{macrocode}
+%
+% \subsection{日本語ファミリ宣言の抑制、和欧文両対応の数式文字}
+% p\LaTeXe{}は、このあと、数式モードで直接、日本語を記述できるように
+% 数式ファミリを宣言します。しかし、\TeX{}で扱える数式ファミリの数が
+% 16個なので、その他のパッケージと組み合わせた場合、
+% 数式ファミリを宣言する領域を超えてしまう場合があるかもしれません。
+% そのときには、残念ですが、そのパッケージか、数式内に直接、
+% 日本語を記述するのか、どちらかを断念しなければなりません。
+% このクラスオプションは、
+% 数式内に日本語を記述するのをあきらめる場合に用います。
+%
+% |disablejfam|オプションを指定しても|\textmc|や|\textgt|などを用いて、
+% 数式内に日本語を記述することは可能です。
+%
+% \noindent\emph{日本語\TeX{}開発コミュニティによる補足}:
+% コミュニティ版p\LaTeX{}の2016/11/29以降の版では、e-p\TeX{}の拡張機能
+% (通称「旧FAM256パッチ」)が利用可能な場合に、\LaTeX{}の機能で宣言
+% できる数式ファミリ(数式アルファベット)の上限を256個に増やしています。
+% したがって、新しい環境では|disablejfam|を指定しなくても上限を超える
+% ことが起きにくくなっています。
+%
+% |mathrmmc|オプションは、
+% |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
+% \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
+% \begin{macrocode}
+\if@compatibility
+ \@mathrmmctrue
+\else
+ \DeclareOption{disablejfam}{\@enablejfamfalse}
+ \DeclareOption{mathrmmc}{\@mathrmmctrue}
+\fi
+% \end{macrocode}
+%
+%
+% \subsection{ドラフトオプション}
+% |draft|オプションを指定すると、オーバフルボックスの起きた箇所に、
+% 5ptの罫線が引かれます。
+% \begin{macrocode}
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+%</article|report|book>
+% \end{macrocode}
+%
+% \subsection{オプションの実行}
+% オプションの実行、およびサイズクラスのロードを行ないます。
+% \begin{macrocode}
+%<*article|report|book>
+%<*article>
+%<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
+%<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
+%</article>
+%<*report>
+%<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
+%<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
+%</report>
+%<*book>
+%<tate>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
+%<yoko>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
+%</book>
+\ProcessOptions\relax
+%<book&tate>\input{utbk1\@ptsize.clo}
+%<!book&tate>\input{utsize1\@ptsize.clo}
+%<book&yoko>\input{ujbk1\@ptsize.clo}
+%<!book&yoko>\input{ujsize1\@ptsize.clo}
+% \end{macrocode}
+% 縦組用クラスファイルの場合は、ここで\file{plext.sty}も読み込みます。
+% \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
+% \begin{macrocode}
+%<tate>\RequirePackage{plext}
+%</article|report|book>
+% \end{macrocode}
+%
+% \section{フォント}
+%
+% ここでは、\LaTeX{}のフォントサイズコマンドの定義をしています。
+% フォントサイズコマンドの定義は、次のコマンドを用います。
+%
+% |\@setfontsize||\size|\meta{font-size}\meta{baselineskip}
+%
+% \begin{description}
+% \item[\meta{font-size}] これから使用する、フォントの実際の大きさです。
+% \item[\meta{baselineskip}] 選択されるフォントサイズ用の通常の
+% |\baselineskip|の値です(実際は、|\baselinestretch| * \meta{baselineskip}
+% の値です)。
+% \end{description}
+%
+% 数値コマンドは、次のように\LaTeX{}カーネルで定義されています。
+% \begin{center}
+% \begin{tabular}{ll@{\qquad}ll@{\qquad}ll}
+% \verb=\@vpt= & 5 & \verb=\@vipt= & 6 & \verb=\@viipt= & 7 \\
+% \verb=\@viiipt= & 8 & \verb=\@ixpt= & 9 & \verb=\@xpt= & 10 \\
+% \verb=\@xipt= & 10.95 & \verb=\@xiipt= & 12 & \verb=\@xivpt= & 14.4\\
+% ...
+% \end{tabular}
+% \end{center}
+%
+% \begin{macro}{\normalsize}
+% \begin{macro}{\@normalsize}
+% 基本サイズとするユーザレベルのコマンドは|\normalsize|です。
+% \LaTeX{}の内部では|\@normalsize|を使用します。
+%
+% |\normalsize|マクロは、|\abovedisplayskip|と
+% |\abovedisplayshortskip|、および|\belowdisplayshortskip|の値も設定をします。
+% |\belowdisplayskip|は、つねに|\abovedisplayskip|と同値です。
+%
+% また、リスト環境のトップレベルのパラメータは、つねに|\@listI|で与えられます。
+% \begin{macrocode}
+%<*10pt|11pt|12pt>
+\renewcommand{\normalsize}{%
+%<10pt&yoko> \@setfontsize\normalsize\@xpt{15}%
+%<11pt&yoko> \@setfontsize\normalsize\@xipt{15.5}%
+%<12pt&yoko> \@setfontsize\normalsize\@xiipt{16.5}%
+%<10pt&tate> \@setfontsize\normalsize\@xpt{17}%
+%<11pt&tate> \@setfontsize\normalsize\@xipt{17}%
+%<12pt&tate> \@setfontsize\normalsize\@xiipt{18}%
+%<*10pt>
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+%</10pt>
+%<*11pt>
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+%</11pt>
+%<*12pt>
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+%</12pt>
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+% \end{macrocode}
+%
+% ここで、ノーマルフォントを選択し、初期化をします。
+% このとき、縦組モードならば、デフォルトのエンコードを変更します。
+% \begin{macrocode}
+%<tate>\def\kanjiencodingdefault{JT2}%
+%<tate>\kanjiencoding{\kanjiencodingdefault}%
+\normalsize
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\Cht}
+% \begin{macro}{\Cdp}
+% \begin{macro}{\Cwd}
+% \begin{macro}{\Cvs}
+% \begin{macro}{\Chs}
+% 基準となる長さの設定をします。これらのパラメータは\file{uplfonts.dtx}で定義
+% されています。基準とする文字を「全角空白」(EUCコード\texttt{0xA1A1})から
+% 「漢」(JISコード\texttt{0x3441})へ変更しました。
+% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
+% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
+% \begin{macrocode}
+\setbox0\hbox{\char\jis"3441}%
+\setlength\Cht{\ht0}
+\setlength\Cdp{\dp0}
+\setlength\Cwd{\wd0}
+\setlength\Cvs{\baselineskip}
+\setlength\Chs{\wd0}
+\setbox0=\box\voidb@x
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\small}
+% |\small|コマンドの定義は、|\normalsize|に似ています。
+% \begin{macrocode}
+\newcommand{\small}{%
+%<*10pt>
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+%</10pt>
+%<*11pt>
+ \@setfontsize\small\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+%</11pt>
+%<*12pt>
+ \@setfontsize\small\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+%</12pt>
+ \belowdisplayskip \abovedisplayskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\footnotesize}
+% |\footnotesize|コマンドの定義は、|\normalsize|に似ています。
+% \begin{macrocode}
+\newcommand{\footnotesize}{%
+%<*10pt>
+ \@setfontsize\footnotesize\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+%</10pt>
+%<*11pt>
+ \@setfontsize\footnotesize\@ixpt{11}%
+ \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}%
+%</11pt>
+%<*12pt>
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep}%
+%</12pt>
+ \belowdisplayskip \abovedisplayskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scriptsize}
+% \begin{macro}{\tiny}
+% \begin{macro}{\large}
+% \begin{macro}{\Large}
+% \begin{macro}{\LARGE}
+% \begin{macro}{\huge}
+% \begin{macro}{\Huge}
+% これらは先ほどのマクロよりも簡単です。これらはフォントサイズを変更する
+% だけで、リスト環境とディスプレイ数式のパラメータは変更しません。
+% \begin{macrocode}
+%<*10pt>
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
+\newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
+\newcommand{\large}{\@setfontsize\large\@xiipt{17}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
+%</10pt>
+%<*11pt>
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand{\large}{\@setfontsize\large\@xiipt{17}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
+%</11pt>
+%<*12pt>
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand{\large}{\@setfontsize\large\@xivpt{21}}
+\newcommand{\Large}{\@setfontsize\Large\@xviipt{25}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xxpt{28}}
+\newcommand{\huge}{\@setfontsize\huge\@xxvpt{33}}
+\let\Huge=\huge
+%</12pt>
+%</10pt|11pt|12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\Cjascale}
+% このクラスファイルが意図する和文スケール値
+% ($1\,\mathrm{zw} \div \textmc{要求サイズ}$)を
+% 表す実数値マクロ|\Cjascale|を定義します。
+% このup\LaTeXe{}の標準クラスでは、フォーマット作成時に読み込まれた
+% フォント定義ファイル(\file{jy2mc.fd} / \file{jy2gt.fd} /
+% \file{jt2mc.fd} / \file{jt2gt.fd})での和文スケール値がそのまま
+% 有効ですので、これは0.962216です。
+% \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
+% \begin{macrocode}
+%<*article|report|book>
+\def\Cjascale{0.962216}
+%</article|report|book>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \section{レイアウト}
+%
+% \subsection{用紙サイズの決定}
+%
+% \begin{macro}{\columnsep}
+% \begin{macro}{\columnseprule}
+% |\columnsep|は、二段組のときの、左右(あるいは上下)の段間の幅です。
+% このスペースの中央に|\columnseprule|の幅の罫線が引かれます。
+% \changes{v1.0g}{1997/01/25}{\cs{columnsep}: 10pt to 3\cs{Cwd} or 2\cs{Cwd}.}
+% \begin{macrocode}
+%<*article|report|book>
+\if@stysize
+%<tate> \setlength\columnsep{3\Cwd}
+%<yoko> \setlength\columnsep{2\Cwd}
+\else
+ \setlength\columnsep{10\p@}
+\fi
+\setlength\columnseprule{0\p@}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{段落の形}
+%
+% \begin{macro}{\lineskip}
+% \begin{macro}{\normallineskip}
+% これらの値は、行が近付き過ぎたときの\TeX の動作を制御します。
+% \begin{macrocode}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\baselinestretch}
+% これは、|\baselineskip|の倍率を示すために使います。
+% デフォルトでは、\emph{何もしません}。このコマンドが``empty''でない場合、
+% |\baselineskip|の指定の\texttt{plus}や\texttt{minus}部分は無視される
+% ことに注意してください。
+% \begin{macrocode}
+\renewcommand{\baselinestretch}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\parskip}
+% \begin{macro}{\parindent}
+% |\parskip|は段落間に挿入される、縦方向の追加スペースです。
+% |\parindent|は段落の先頭の字下げ幅です。
+% \begin{macrocode}
+\setlength\parskip{0\p@ \@plus \p@}
+\setlength\parindent{1\Cwd}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\smallskipamount}
+% \begin{macro}{\medskipamount}
+% \begin{macro}{\bigskipamount}
+% これら3つのパラメータの値は、\LaTeX{}カーネルの中で設定されています。
+% これらはおそらく、サイズオプションの指定によって変えるべきです。
+% しかし、\LaTeX~2.09や\LaTeXe{}の以前のリリースの両方との互換性を保つために、
+% これらはまだ同じ値としています。
+% \begin{macrocode}
+%<*10pt|11pt|12pt>
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+%</10pt|11pt|12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@lowpenalty}
+% \begin{macro}{\@medpenalty}
+% \begin{macro}{\@highpenalty}
+% |\nopagebreak|と|\nolinebreak|コマンドは、これらのコマンドが置かれた場所に、
+% ペナルティを起いて、分割を制御します。
+% 置かれるペナルティは、コマンドの引数によって、
+% |\@lowpenalty|, |\@medpenalty|, |\@highpenalty|のいずれかが使われます。
+% \begin{macrocode}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+%</article|report|book>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{ページレイアウト}
+%
+% \subsubsection{縦方向のスペース}
+%
+% \begin{macro}{\headheight}
+% \begin{macro}{\headsep}
+% \begin{macro}{\topskip}
+% |\headheight|は、ヘッダが入るボックスの高さです。
+% |\headsep|は、ヘッダの下端と本文領域との間の距離です。
+% |\topskip|は、本文領域の上端と1行目のテキストのベースラインとの距離です。
+% \begin{macrocode}
+%<*10pt|11pt|12pt>
+\setlength\headheight{12\p@}
+%<*tate>
+\if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\headsep{6mm}
+ \else % A4, B4, B5 and other
+ \setlength\headsep{8mm}
+ \fi
+\else
+ \setlength\headsep{8mm}
+\fi
+%</tate>
+%<*yoko>
+%<!bk>\setlength\headsep{25\p@}
+%<10pt&bk>\setlength\headsep{.25in}
+%<11pt&bk>\setlength\headsep{.275in}
+%<12pt&bk>\setlength\headsep{.275in}
+%</yoko>
+\setlength\topskip{1\Cht}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\footskip}
+% |\footskip|は、本文領域の下端とフッタの下端との距離です。
+% フッタのボックスの高さを示す、|\footheight|は削除されました。
+% \begin{macrocode}
+%<tate>\setlength\footskip{14mm}
+%<*yoko>
+%<!bk>\setlength\footskip{30\p@}
+%<10pt&bk>\setlength\footskip{.35in}
+%<11pt&bk>\setlength\footskip{.38in}
+%<12pt&bk>\setlength\footskip{30\p@}
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\maxdepth}
+% \changes{v1.1c}{1995/12/25}{\cs{@maxdepth}の設定を除外した}
+% \TeX のプリミティブレジスタ|\maxdepth|は、|\topskip|と同じような
+% 働きをします。|\@maxdepth|レジスタは、つねに|\maxdepth|のコピーでなくては
+% いけません。これは|\begin{document}|の内部で設定されます。
+% \TeX{}と\LaTeX~2.09では、|\maxdepth|は\texttt{4pt}に固定です。
+% \LaTeXe{}では、|\maxdepth|$+$|\topskip|を基本サイズの1.5倍にしたいので、
+% |\maxdepth|を|\topskip|の半分の値で設定します。
+% \begin{macrocode}
+\if@compatibility
+ \setlength\maxdepth{4\p@}
+\else
+ \setlength\maxdepth{.5\topskip}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{本文領域}
+% |\textheight|と|\textwidth|は、本文領域の通常の高さと幅を示します。
+% 縦組でも横組でも、``高さ''は行数を、``幅''は字詰めを意味します。
+% 後ほど、これらの長さに|\topskip|の値が加えられます。
+%
+% \begin{macro}{\textwidth}
+% 基本組の字詰めです。
+%
+% 互換モードの場合:
+% \begin{macrocode}
+\if@compatibility
+% \end{macrocode}
+% \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
+% \changes{v1.1h}{1997/09/03}{landscapeでの指定を追加}
+% 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
+% \begin{macrocode}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+%<10pt&yoko> \setlength\textwidth{47\Cwd}
+%<11pt&yoko> \setlength\textwidth{42\Cwd}
+%<12pt&yoko> \setlength\textwidth{40\Cwd}
+%<10pt&tate> \setlength\textwidth{27\Cwd}
+%<11pt&tate> \setlength\textwidth{25\Cwd}
+%<12pt&tate> \setlength\textwidth{23\Cwd}
+ \else
+%<10pt&yoko> \setlength\textwidth{28\Cwd}
+%<11pt&yoko> \setlength\textwidth{25\Cwd}
+%<12pt&yoko> \setlength\textwidth{24\Cwd}
+%<10pt&tate> \setlength\textwidth{46\Cwd}
+%<11pt&tate> \setlength\textwidth{42\Cwd}
+%<12pt&tate> \setlength\textwidth{38\Cwd}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+%<10pt&yoko> \setlength\textwidth{75\Cwd}
+%<11pt&yoko> \setlength\textwidth{69\Cwd}
+%<12pt&yoko> \setlength\textwidth{63\Cwd}
+%<10pt&tate> \setlength\textwidth{53\Cwd}
+%<11pt&tate> \setlength\textwidth{49\Cwd}
+%<12pt&tate> \setlength\textwidth{44\Cwd}
+ \else
+%<10pt&yoko> \setlength\textwidth{60\Cwd}
+%<11pt&yoko> \setlength\textwidth{55\Cwd}
+%<12pt&yoko> \setlength\textwidth{50\Cwd}
+%<10pt&tate> \setlength\textwidth{85\Cwd}
+%<11pt&tate> \setlength\textwidth{76\Cwd}
+%<12pt&tate> \setlength\textwidth{69\Cwd}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+%<10pt&yoko> \setlength\textwidth{60\Cwd}
+%<11pt&yoko> \setlength\textwidth{55\Cwd}
+%<12pt&yoko> \setlength\textwidth{50\Cwd}
+%<10pt&tate> \setlength\textwidth{34\Cwd}
+%<11pt&tate> \setlength\textwidth{31\Cwd}
+%<12pt&tate> \setlength\textwidth{28\Cwd}
+ \else
+%<10pt&yoko> \setlength\textwidth{37\Cwd}
+%<11pt&yoko> \setlength\textwidth{34\Cwd}
+%<12pt&yoko> \setlength\textwidth{31\Cwd}
+%<10pt&tate> \setlength\textwidth{55\Cwd}
+%<11pt&tate> \setlength\textwidth{51\Cwd}
+%<12pt&tate> \setlength\textwidth{47\Cwd}
+ \fi
+ \else % A4 ant other
+ \if@landscape
+%<10pt&yoko> \setlength\textwidth{73\Cwd}
+%<11pt&yoko> \setlength\textwidth{68\Cwd}
+%<12pt&yoko> \setlength\textwidth{61\Cwd}
+%<10pt&tate> \setlength\textwidth{41\Cwd}
+%<11pt&tate> \setlength\textwidth{38\Cwd}
+%<12pt&tate> \setlength\textwidth{35\Cwd}
+ \else
+%<10pt&yoko> \setlength\textwidth{47\Cwd}
+%<11pt&yoko> \setlength\textwidth{43\Cwd}
+%<12pt&yoko> \setlength\textwidth{40\Cwd}
+%<10pt&tate> \setlength\textwidth{67\Cwd}
+%<11pt&tate> \setlength\textwidth{61\Cwd}
+%<12pt&tate> \setlength\textwidth{57\Cwd}
+ \fi
+ \fi\fi\fi
+ \else
+% \end{macrocode}
+% 互換モード:デフォルト設定
+% \begin{macrocode}
+ \if@twocolumn
+ \setlength\textwidth{52\Cwd}
+ \else
+%<10pt&!bk&yoko> \setlength\textwidth{327\p@}
+%<11pt&!bk&yoko> \setlength\textwidth{342\p@}
+%<12pt&!bk&yoko> \setlength\textwidth{372\p@}
+%<10pt&bk&yoko> \setlength\textwidth{4.3in}
+%<11pt&bk&yoko> \setlength\textwidth{4.8in}
+%<12pt&bk&yoko> \setlength\textwidth{4.8in}
+%<10pt&tate> \setlength\textwidth{67\Cwd}
+%<11pt&tate> \setlength\textwidth{61\Cwd}
+%<12pt&tate> \setlength\textwidth{57\Cwd}
+ \fi
+ \fi
+% \end{macrocode}
+% 2eモードの場合:
+% \begin{macrocode}
+\else
+% \end{macrocode}
+% 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
+% 二段組では用紙サイズの8割、一段組では用紙サイズの7割を版面の幅として
+% 設定します。
+% \begin{macrocode}
+ \if@stysize
+ \if@twocolumn
+%<yoko> \setlength\textwidth{.8\paperwidth}
+%<tate> \setlength\textwidth{.8\paperheight}
+ \else
+%<yoko> \setlength\textwidth{.7\paperwidth}
+%<tate> \setlength\textwidth{.7\paperheight}
+ \fi
+ \else
+% \end{macrocode}
+% 2eモード:デフォルト設定
+% \begin{macrocode}
+%<tate> \setlength\@tempdima{\paperheight}
+%<yoko> \setlength\@tempdima{\paperwidth}
+ \addtolength\@tempdima{-2in}
+%<tate> \addtolength\@tempdima{-1.3in}
+%<yoko&10pt> \setlength\@tempdimb{327\p@}
+%<yoko&11pt> \setlength\@tempdimb{342\p@}
+%<yoko&12pt> \setlength\@tempdimb{372\p@}
+%<tate&10pt> \setlength\@tempdimb{67\Cwd}
+%<tate&11pt> \setlength\@tempdimb{61\Cwd}
+%<tate&12pt> \setlength\@tempdimb{57\Cwd}
+ \if@twocolumn
+ \ifdim\@tempdima>2\@tempdimb\relax
+ \setlength\textwidth{2\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \else
+ \ifdim\@tempdima>\@tempdimb\relax
+ \setlength\textwidth{\@tempdimb}
+ \else
+ \setlength\textwidth{\@tempdima}
+ \fi
+ \fi
+ \fi
+\fi
+\@settopoint\textwidth
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textheight}
+% 基本組の行数です。
+%
+% 互換モードの場合:
+% \begin{macrocode}
+\if@compatibility
+% \end{macrocode}
+% \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
+% \changes{v1.1f}{1997/09/03}{landscapeでの指定を追加}
+% 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
+% \begin{macrocode}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \if@landscape
+%<10pt&yoko> \setlength\textheight{17\Cvs}
+%<11pt&yoko> \setlength\textheight{17\Cvs}
+%<12pt&yoko> \setlength\textheight{16\Cvs}
+%<10pt&tate> \setlength\textheight{26\Cvs}
+%<11pt&tate> \setlength\textheight{26\Cvs}
+%<12pt&tate> \setlength\textheight{25\Cvs}
+ \else
+%<10pt&yoko> \setlength\textheight{28\Cvs}
+%<11pt&yoko> \setlength\textheight{25\Cvs}
+%<12pt&yoko> \setlength\textheight{24\Cvs}
+%<10pt&tate> \setlength\textheight{16\Cvs}
+%<11pt&tate> \setlength\textheight{16\Cvs}
+%<12pt&tate> \setlength\textheight{15\Cvs}
+ \fi
+ \else\ifnum\c@@paper=3 % B4
+ \if@landscape
+%<10pt&yoko> \setlength\textheight{38\Cvs}
+%<11pt&yoko> \setlength\textheight{36\Cvs}
+%<12pt&yoko> \setlength\textheight{34\Cvs}
+%<10pt&tate> \setlength\textheight{48\Cvs}
+%<11pt&tate> \setlength\textheight{48\Cvs}
+%<12pt&tate> \setlength\textheight{45\Cvs}
+ \else
+%<10pt&yoko> \setlength\textheight{57\Cvs}
+%<11pt&yoko> \setlength\textheight{55\Cvs}
+%<12pt&yoko> \setlength\textheight{52\Cvs}
+%<10pt&tate> \setlength\textheight{33\Cvs}
+%<11pt&tate> \setlength\textheight{33\Cvs}
+%<12pt&tate> \setlength\textheight{31\Cvs}
+ \fi
+ \else\ifnum\c@@paper=4 % B5
+ \if@landscape
+%<10pt&yoko> \setlength\textheight{22\Cvs}
+%<11pt&yoko> \setlength\textheight{21\Cvs}
+%<12pt&yoko> \setlength\textheight{20\Cvs}
+%<10pt&tate> \setlength\textheight{34\Cvs}
+%<11pt&tate> \setlength\textheight{34\Cvs}
+%<12pt&tate> \setlength\textheight{32\Cvs}
+ \else
+%<10pt&yoko> \setlength\textheight{35\Cvs}
+%<11pt&yoko> \setlength\textheight{34\Cvs}
+%<12pt&yoko> \setlength\textheight{32\Cvs}
+%<10pt&tate> \setlength\textheight{21\Cvs}
+%<11pt&tate> \setlength\textheight{21\Cvs}
+%<12pt&tate> \setlength\textheight{20\Cvs}
+ \fi
+ \else % A4 and other
+ \if@landscape
+%<10pt&yoko> \setlength\textheight{27\Cvs}
+%<11pt&yoko> \setlength\textheight{26\Cvs}
+%<12pt&yoko> \setlength\textheight{25\Cvs}
+%<10pt&tate> \setlength\textheight{41\Cvs}
+%<11pt&tate> \setlength\textheight{41\Cvs}
+%<12pt&tate> \setlength\textheight{38\Cvs}
+ \else
+%<10pt&yoko> \setlength\textheight{43\Cvs}
+%<11pt&yoko> \setlength\textheight{42\Cvs}
+%<12pt&yoko> \setlength\textheight{39\Cvs}
+%<10pt&tate> \setlength\textheight{26\Cvs}
+%<11pt&tate> \setlength\textheight{26\Cvs}
+%<12pt&tate> \setlength\textheight{22\Cvs}
+ \fi
+ \fi\fi\fi
+%<yoko> \addtolength\textheight{\topskip}
+%<bk&yoko> \addtolength\textheight{\baselineskip}
+%<tate> \addtolength\textheight{\Cht}
+%<tate> \addtolength\textheight{\Cdp}
+% \end{macrocode}
+% 互換モード:デフォルト設定
+% \begin{macrocode}
+ \else
+%<10pt&!bk&yoko> \setlength\textheight{578\p@}
+%<10pt&bk&yoko> \setlength\textheight{554\p@}
+%<11pt&yoko> \setlength\textheight{580.4\p@}
+%<12pt&yoko> \setlength\textheight{586.5\p@}
+%<10pt&tate> \setlength\textheight{26\Cvs}
+%<11pt&tate> \setlength\textheight{25\Cvs}
+%<12pt&tate> \setlength\textheight{24\Cvs}
+ \fi
+% \end{macrocode}
+% 2eモードの場合:
+% \begin{macrocode}
+\else
+% \end{macrocode}
+% 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
+% 縦組では用紙サイズの70\%(book)か78\%(ariticle,report)、
+% 横組では70\%(book)か75\%(article,report)を版面の高さに設定します。
+% \begin{macrocode}
+ \if@stysize
+%<tate&bk> \setlength\textheight{.75\paperwidth}
+%<tate&!bk> \setlength\textheight{.78\paperwidth}
+%<yoko&bk> \setlength\textheight{.70\paperheight}
+%<yoko&!bk> \setlength\textheight{.75\paperheight}
+% \end{macrocode}
+% 2eモード:デフォルト値
+% \begin{macrocode}
+ \else
+%<tate> \setlength\@tempdima{\paperwidth}
+%<yoko> \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-2in}
+%<yoko> \addtolength\@tempdima{-1.5in}
+ \divide\@tempdima\baselineskip
+ \@tempcnta\@tempdima
+ \setlength\textheight{\@tempcnta\baselineskip}
+ \fi
+\fi
+% \end{macrocode}
+% 最後に、|\textheight|に|\topskip|の値を加えます。
+% \begin{macrocode}
+\addtolength\textheight{\topskip}
+\@settopoint\textheight
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{マージン}
+%
+% \begin{macro}{\topmargin}
+% |\topmargin|は、``印字可能領域''---用紙の上端から1インチ内側---%
+% の上端からヘッダ部分の上端までの距離です。
+%
+% 2.09互換モードの場合:
+% \begin{macrocode}
+\if@compatibility
+%<*yoko>
+ \if@stysize
+ \setlength\topmargin{-.3in}
+ \else
+%<!bk> \setlength\topmargin{27\p@}
+%<10pt&bk> \setlength\topmargin{.75in}
+%<11pt&bk> \setlength\topmargin{.73in}
+%<12pt&bk> \setlength\topmargin{.73in}
+ \fi
+%</yoko>
+%<*tate>
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \setlength\topmargin{.8in}
+ \else % A4, B4, B5 and other
+ \setlength\topmargin{32mm}
+ \fi
+ \else
+ \setlength\topmargin{32mm}
+ \fi
+ \addtolength\topmargin{-1in}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+%</tate>
+% \end{macrocode}
+% 2eモードの場合:
+% \begin{macrocode}
+\else
+ \setlength\topmargin{\paperheight}
+ \addtolength\topmargin{-\headheight}
+ \addtolength\topmargin{-\headsep}
+%<tate> \addtolength\topmargin{-\textwidth}
+%<yoko> \addtolength\topmargin{-\textheight}
+ \addtolength\topmargin{-\footskip}
+% \end{macrocode}
+% \changes{v1.1e}{1997/04/08}{横組クラスでの調整量を
+% -2.4インチから-2.0インチにした。}
+% \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
+% \begin{macrocode}
+ \if@stysize
+ \ifnum\c@@paper=2 % A5
+ \addtolength\topmargin{-1.3in}
+ \else
+ \addtolength\topmargin{-2.0in}
+ \fi
+ \else
+%<yoko> \addtolength\topmargin{-2.0in}
+%<tate> \addtolength\topmargin{-2.8in}
+ \fi
+% \end{macrocode}
+% \changes{v1.1d}{1997/02/05}{\cs{tompargin}を半分にするのはアキ領域の計算後}
+% \changes{v1.1r}{1999/08/09}{\cs{if@stysize}フラグに限らず半分にする}
+% \begin{macrocode}
+ \addtolength\topmargin{-.5\topmargin}
+\fi
+\@settopoint\topmargin
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\marginparsep}
+% \begin{macro}{\marginparpush}
+% |\marginparsep|は、本文と傍注の間にあけるスペースの幅です。
+% 横組では本文の左(右)端と傍注、
+% 縦組では本文の下(上)端と傍注の間になります。
+% |\marginparpush|は、傍注と傍注との間のスペースの幅です。
+% \begin{macrocode}
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+%<tate> \setlength\marginparsep{15\p@}
+%<yoko> \setlength\marginparsep{10\p@}
+\fi
+%<tate>\setlength\marginparpush{7\p@}
+%<*yoko>
+%<10pt>\setlength\marginparpush{5\p@}
+%<11pt>\setlength\marginparpush{5\p@}
+%<12pt>\setlength\marginparpush{7\p@}
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\oddsidemargin}
+% \begin{macro}{\evensidemargin}
+% \begin{macro}{\marginparwidth}
+% まず、互換モードでの長さを示します。
+%
+% 互換モード、縦組の場合:
+% \begin{macrocode}
+\if@compatibility
+%<tate> \setlength\oddsidemargin{0\p@}
+%<tate> \setlength\evensidemargin{0\p@}
+% \end{macrocode}
+% 互換モード、横組、bookクラスの場合:
+% \begin{macrocode}
+%<*yoko>
+%<*bk>
+%<10pt> \setlength\oddsidemargin {.5in}
+%<11pt> \setlength\oddsidemargin {.25in}
+%<12pt> \setlength\oddsidemargin {.25in}
+%<10pt> \setlength\evensidemargin {1.5in}
+%<11pt> \setlength\evensidemargin {1.25in}
+%<12pt> \setlength\evensidemargin {1.25in}
+%<10pt> \setlength\marginparwidth {.75in}
+%<11pt> \setlength\marginparwidth {1in}
+%<12pt> \setlength\marginparwidth {1in}
+%</bk>
+% \end{macrocode}
+% 互換モード、横組、reportとarticleクラスの場合:
+% \begin{macrocode}
+%<*!bk>
+ \if@twoside
+%<10pt> \setlength\oddsidemargin {44\p@}
+%<11pt> \setlength\oddsidemargin {36\p@}
+%<12pt> \setlength\oddsidemargin {21\p@}
+%<10pt> \setlength\evensidemargin {82\p@}
+%<11pt> \setlength\evensidemargin {74\p@}
+%<12pt> \setlength\evensidemargin {59\p@}
+%<10pt> \setlength\marginparwidth {107\p@}
+%<11pt> \setlength\marginparwidth {100\p@}
+%<12pt> \setlength\marginparwidth {85\p@}
+ \else
+%<10pt> \setlength\oddsidemargin {60\p@}
+%<11pt> \setlength\oddsidemargin {54\p@}
+%<12pt> \setlength\oddsidemargin {39.5\p@}
+%<10pt> \setlength\evensidemargin {60\p@}
+%<11pt> \setlength\evensidemargin {54\p@}
+%<12pt> \setlength\evensidemargin {39.5\p@}
+%<10pt> \setlength\marginparwidth {90\p@}
+%<11pt> \setlength\marginparwidth {83\p@}
+%<12pt> \setlength\marginparwidth {68\p@}
+ \fi
+%</!bk>
+% \end{macrocode}
+% 互換モード、横組、二段組の場合:
+% \begin{macrocode}
+ \if@twocolumn
+ \setlength\oddsidemargin {30\p@}
+ \setlength\evensidemargin {30\p@}
+ \setlength\marginparwidth {48\p@}
+ \fi
+%</yoko>
+% \end{macrocode}
+% 縦組、横組にかかわらず、スタイルオプション設定ではゼロです。
+% \changes{v1.0g}{1997/01/25}{\cs{oddsidemargin}, \cs{evensidemagin}:
+% 0pt if specified papersize at \cs{documentstyle} option.}
+% \begin{macrocode}
+ \if@stysize
+ \if@twocolumn\else
+ \setlength\oddsidemargin{0\p@}
+ \setlength\evensidemargin{0\p@}
+ \fi
+ \fi
+% \end{macrocode}
+%
+% 互換モードでない場合:
+% \begin{macrocode}
+\else
+ \setlength\@tempdima{\paperwidth}
+%<tate> \addtolength\@tempdima{-\textheight}
+%<yoko> \addtolength\@tempdima{-\textwidth}
+% \end{macrocode}
+%
+% |\oddsidemargin|を計算します。
+% \begin{macrocode}
+ \if@twoside
+%<tate> \setlength\oddsidemargin{.6\@tempdima}
+%<yoko> \setlength\oddsidemargin{.4\@tempdima}
+ \else
+ \setlength\oddsidemargin{.5\@tempdima}
+ \fi
+ \addtolength\oddsidemargin{-1in}
+% \end{macrocode}
+% \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
+% |\evensidemargin|を計算します。
+% \begin{macrocode}
+ \setlength\evensidemargin{\paperwidth}
+ \addtolength\evensidemargin{-2in}
+%<tate> \addtolength\evensidemargin{-\textheight}
+%<yoko> \addtolength\evensidemargin{-\textwidth}
+ \addtolength\evensidemargin{-\oddsidemargin}
+ \@settopoint\oddsidemargin % 1999.1.6
+ \@settopoint\evensidemargin
+% \end{macrocode}
+% |\marginparwidth|を計算します。
+% ここで、|\@tempdima|の値は、\linebreak
+% |\paperwidth| $-$ |\textwidth|です。
+% \changes{v1.1d}{1995/11/24}{\break typo: \cs{marginmarwidth} to \cs{marginparwidth}}
+% \begin{macrocode}
+%<*yoko>
+ \if@twoside
+ \setlength\marginparwidth{.6\@tempdima}
+ \addtolength\marginparwidth{-.4in}
+ \else
+ \setlength\marginparwidth{.5\@tempdima}
+ \addtolength\marginparwidth{-.4in}
+ \fi
+ \ifdim \marginparwidth >2in
+ \setlength\marginparwidth{2in}
+ \fi
+%</yoko>
+% \end{macrocode}
+%
+% 縦組の場合は、少し複雑です。
+% \begin{macrocode}
+%<*tate>
+ \setlength\@tempdima{\paperheight}
+ \addtolength\@tempdima{-\textwidth}
+ \addtolength\@tempdima{-\topmargin}
+ \addtolength\@tempdima{-\headheight}
+ \addtolength\@tempdima{-\headsep}
+ \addtolength\@tempdima{-\footskip}
+ \setlength\marginparwidth{.5\@tempdima}
+%</tate>
+ \@settopoint\marginparwidth
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{脚注}
+%
+% \begin{macro}{\footnotesep}
+% |\footnotesep|は、それぞれの脚注の先頭に置かれる``支柱''の高さです。
+% このクラスでは、通常の|\footnotesize|の支柱と同じ長さですので、
+% 脚注間に余計な空白は入りません。
+% \begin{macrocode}
+%<10pt>\setlength\footnotesep{6.65\p@}
+%<11pt>\setlength\footnotesep{7.7\p@}
+%<12pt>\setlength\footnotesep{8.4\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\footins}
+% |\skip\footins|は、本文の最終行と最初の脚注との間の距離です。
+% \begin{macrocode}
+%<10pt>\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
+%<11pt>\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
+%<12pt>\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{フロート}
+% すべてのフロートパラメータは、\LaTeX{}のカーネルでデフォルトが定義
+% されています。そのため、カウンタ以外のパラメータは|\renewcommand|で
+% 設定する必要があります。
+%
+% \subsubsection{フロートパラメータ}
+%
+% \begin{macro}{\floatsep}
+% \begin{macro}{\textfloatsep}
+% \begin{macro}{\intextsep}
+% フロートオブジェクトが本文のあるページに置かれるとき、
+% フロートとそのページにある別のオブジェクトの距離は、
+% これらのパラメータで制御されます。これらのパラメータは、一段組モードと
+% 二段組モードの段抜きでないフロートの両方で使われます。
+%
+% |\floatsep|は、ページ上部あるいは下部のフロート間の距離です。
+%
+% |\textfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
+%
+% |\intextsep|は、本文の途中に出力されるフロートと本文との距離です。
+% \begin{macrocode}
+%<*10pt>
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+%</10pt>
+%<*11pt>
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+%</11pt>
+%<*12pt>
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
+%</12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\dblfloatsep}
+% \begin{macro}{\dbltextfloatsep}
+% 二段組モードで、|\textwidth|の幅を持つ、段抜きのフロートオブジェクトが
+% 本文と同じページに置かれるとき、本文とフロートとの距離は、
+% |\dblfloatsep|と|\dbltextfloatsep|によって制御されます。
+%
+% |\dblfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
+%
+% |\dbltextfloatsep|は、ページ上部あるいは下部のフロート間の距離です。
+% \begin{macrocode}
+%<*10pt>
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+%</10pt>
+%<*11pt>
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+%</11pt>
+%<*12pt>
+\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+%</12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@fptop}
+% \begin{macro}{\@fpsep}
+% \begin{macro}{\@fpbot}
+% フロートオブジェクトが、独立したページに置かれるとき、
+% このページのレイアウトは、次のパラメータで制御されます。
+% これらのパラメータは、一段組モードか、二段組モードでの一段出力の
+% フロートオブジェクトに対して使われます。
+%
+% ページ上部では、|\@fptop|の伸縮長が挿入されます。
+% ページ下部では、|\@fpbot|の伸縮長が挿入されます。
+% フロート間には|\@fpsep|が挿入されます。
+%
+% なお、そのページを空白で満たすために、|\@fptop|と|\@fpbot|の
+% 少なくともどちらか一方に、|plus ...fil|を含めてください。
+% \begin{macrocode}
+%<*10pt>
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+%</10pt>
+%<*11pt>
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+%</11pt>
+%<*12pt>
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{10\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+%</12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@dblfptop}
+% \begin{macro}{\@dblfpsep}
+% \begin{macro}{\@dblfpbot}
+% 二段組モードでの二段抜きのフロートに対しては、
+% これらのパラメータが使われます。
+% \begin{macrocode}
+%<*10pt>
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+%</10pt>
+%<*11pt>
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+%</11pt>
+%<*12pt>
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{10\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+%</12pt>
+%</10pt|11pt|12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{フロートオブジェクトの上限値}
+%
+% \begin{macro}{\c@topnumber}
+% \Lcount{topnumber}は、本文ページの上部に出力できるフロートの最大数です。
+% \begin{macrocode}
+%<*article|report|book>
+\setcounter{topnumber}{2}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@bottomnumber}
+% \Lcount{bottomnumber}は、本文ページの下部に出力できるフロートの最大数です。
+% \begin{macrocode}
+\setcounter{bottomnumber}{1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@totalnumber}
+% \Lcount{totalnumber}は、本文ページに出力できるフロートの最大数です。
+% \begin{macrocode}
+\setcounter{totalnumber}{3}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@dbltopnumber}
+% \Lcount{dbltopnumber}は、二段組時における、本文ページの上部に出力できる
+% 段抜きのフロートの最大数です。
+% \begin{macrocode}
+\setcounter{dbltopnumber}{2}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\topfraction}
+% これは、本文ページの上部に出力されるフロートが占有できる最大の割り合いです。
+% \begin{macrocode}
+\renewcommand{\topfraction}{.7}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bottomfraction}
+% これは、本文ページの下部に出力されるフロートが占有できる最大の割り合いです。
+% \begin{macrocode}
+\renewcommand{\bottomfraction}{.3}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textfraction}
+% これは、本文ページに最低限、入らなくてはならない本文の割り合いです。
+% \begin{macrocode}
+\renewcommand{\textfraction}{.2}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\floatpagefraction}
+% これは、フロートだけのページで最低限、入らなくてはならない
+% フロートの割り合いです。
+% \begin{macrocode}
+\renewcommand{\floatpagefraction}{.5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dbltopfraction}
+% これは、2段組時における本文ページに、
+% 2段抜きのフロートが占めることができる最大の割り合いです。
+% \begin{macrocode}
+\renewcommand{\dbltopfraction}{.7}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dblfloatpagefraction}
+% これは、2段組時におけるフロートだけのページに最低限、
+% 入らなくてはならない2段抜きのフロートの割り合いです。
+% \begin{macrocode}
+\renewcommand{\dblfloatpagefraction}{.5}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{改ページ(日本語\TeX{}開発コミュニティ版のみ)}\label{sec:cleardoublepage}
+%
+% \begin{macro}{\pltx@cleartorightpage}
+% \begin{macro}{\pltx@cleartoleftpage}
+% \begin{macro}{\pltx@cleartooddpage}
+% \begin{macro}{\pltx@cleartoevenpage}
+% |\cleardoublepage|命令は、\LaTeX{}カーネルでは「奇数ページになるまでページを
+% 繰る命令」として定義されています。しかしp\LaTeX{}カーネルでは、アスキーの方針
+% により「横組では奇数ページになるまで、縦組では偶数ページになるまでページを
+% 繰る命令」に再定義されています。すなわち、p\LaTeX{}では縦組でも横組でも
+% 右ページになるまでページを繰ることになります。
+%
+% p\LaTeX{}標準クラスのbookは、横組も縦組も|openright|がデフォルトになっていて、
+% これは従来p\LaTeX{}カーネルで定義された|\cleardoublepage|を利用していました。
+% しかし、縦組で奇数ページ始まりの文書を作りたい場合もあるでしょうから、
+% コミュニティ版クラスでは以下の(非ユーザ向け)命令を追加します。
+% \begin{enumerate}
+% \item|\pltx@cleartorightpage|:右ページになるまでページを繰る命令
+% \item|\pltx@cleartoleftpage|:左ページになるまでページを繰る命令
+% \item|\pltx@cleartooddpage|:奇数ページになるまでページを繰る命令
+% \item|\pltx@cleartoevenpage|:偶数ページになるまでページを繰る命令
+% \end{enumerate}
+% \changes{v1.7d}{2017/02/15}{\cs{cleardoublepage}の代用となる命令群を追加}
+% \begin{macrocode}
+\def\pltx@cleartorightpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \iftdir
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi
+ \else
+ \ifydir
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi
+ \fi\fi}
+\def\pltx@cleartoleftpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \ifydir
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi
+ \else
+ \iftdir
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi
+ \fi\fi}
+% \end{macrocode}
+%
+% |\pltx@cleartooddpage|は\LaTeX{}の|\cleardoublepage|に似ていますが、
+% 上の2つに合わせるため|\thispagestyle{empty}|を追加してあります。
+% \begin{macrocode}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\cleardoublepage}
+% そしてreportとbookクラスの場合は、ユーザ向け命令である|\cleardoublepage|を、
+% |openright|オプションが指定されている場合は|\pltx@cleartorightpage|に、
+% |openleft|オプションが指定されている場合は|\pltx@cleartoleftpage|に、
+% それぞれ|\let|します。|openany|の場合はp\LaTeX{}カーネルの定義のままです。
+% \begin{macrocode}
+%<*!article>
+\if@openleft
+ \let\cleardoublepage\pltx@cleartoleftpage
+\else\if@openright
+ \let\cleardoublepage\pltx@cleartorightpage
+\fi\fi
+%</!article>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \section{ページスタイル}\label{sec:pagestyle}
+% p\LaTeXe{}では、つぎの6種類のページスタイルを使用できます。
+% \pstyle{empty}は\file{ltpage.dtx}で定義されています。
+%
+% \begin{tabular}{ll}
+% empty & ヘッダにもフッタにも出力しない\\
+% plain & フッタにページ番号のみを出力する\\
+% headnombre & ヘッダにページ番号のみを出力する\\
+% footnombre & フッタにページ番号のみを出力する\\
+% headings & ヘッダに見出しとページ番号を出力する\\
+% bothstyle & ヘッダに見出し、フッタにページ番号を出力する\\
+% \end{tabular}
+%
+% ページスタイル\pstyle{foo}は、|\ps@foo|コマンドとして定義されます。
+%
+% \begin{macro}{\@evenhead}
+% \begin{macro}{\@oddhead}
+% \begin{macro}{\@evenfoot}
+% \begin{macro}{\@oddfoot}
+% これらは|\ps@...|から呼び出され、ヘッダとフッタを出力するマクロです。
+%
+% \DeleteShortVerb{\|}
+% \begin{tabular}{ll}
+% \cs{@oddhead} & 奇数ページのヘッダを出力\\
+% \cs{@oddfoot} & 奇数ページのフッタを出力\\
+% \cs{@evenhead} & 偶数ページのヘッダを出力\\
+% \cs{@evenfoot} & 偶数ページのフッタを出力\\
+% \end{tabular}
+% \MakeShortVerb{\|}
+%
+% これらの内容は、横組の場合は|\textwidth|の幅を持つ|\hbox|に入れられ、
+% 縦組の場合は|\textheight|の幅を持つ|\hbox|に入れられます。
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{マークについて}
+% ヘッダに入る章番号や章見出しは、見出しコマンドで実行されるマークコマンドで
+% 決定されます。ここでは、実行されるマークコマンドの定義を行なっています。
+% これらのマークコマンドは、\TeX{}の|\mark|機能を用いて、
+% `left'と`right'の2種類のマークを生成するように定義しています。
+%
+% \begin{flushleft}
+% |\markboth{|\meta{LEFT}|}{|\meta{RIGHT}|}|: 両方のマークに追加します。
+%
+% |\markright{|\meta{RIGHT}|}|: `右'マークに追加します。
+%
+% |\leftmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
+% 使われ、現在の``左''マークを出力します。
+% |\leftmark|は\TeX{}の|\botmark|コマンドのような働きをします。
+% 初期値は空でなくてはいけません。
+%
+% |\rightmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
+% 使われ、現在の``右''マークを出力します。
+% |\rightmark|は\TeX{}の|\firstmark|コマンドのような働きをします。
+% 初期値は空でなくてはいけません。
+% \end{flushleft}
+%
+% マークコマンドの動作は、左マークの`範囲内の'右マークのために
+% 合理的になっています。たとえば、左マークは|\chapter|コマンドによって
+% 変更されます。そして右マークは|\section|コマンドによって変更されます。
+% しかし、同一ページに複数の|\markboth|コマンドが現れたとき、
+% おかしな結果となることがあります。
+%
+% |\tableofcontents|のようなコマンドは、|\@mkboth|コマンドを用いて、
+% あるページスタイルの中でマークを設定しなくてはなりません。
+% |\@mkboth|は、|\ps@...|コマンドによって、|\markboth|(ヘッダを設定する)か、
+% |\@gobbletwo|(何もしない)に|\let|されます。
+%
+% \changes{v1.0a}{1995/08/30}{柱の書体がノンブルに影響するバグの修正}
+%
+% \subsection{plainページスタイル}
+%
+% \begin{macro}{\ps@plain}
+% \pstyle{jpl@in}に|\let|するために、ここで定義をします。
+% \begin{macrocode}
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@plain
+ \let\@oddhead\@empty
+ \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
+ \let\@evenhead\@empty
+ \let\@evenfoot\@oddfoot}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{jpl@inページスタイル}
+%
+% \begin{macro}{\ps@jpl@in}
+% \changes{v1.0d}{1996/02/29}{\pstyle{jpl@in}の初期値を定義}
+%
+% \pstyle{jpl@in}スタイルは、クラスファイル内部で使用するものです。
+% \LaTeX{}では、bookクラスを\pstyle{headings}としています。
+% しかし、\cs{tableofcontents}コマンドの内部では\pstyle{plain}として
+% 設定されるため、一つの文書でのページ番号の位置が上下に出力される
+% ことになります。
+%
+% そこで、p\LaTeXe{}では、\cs{tableofcontents}や\cs{theindex}のページスタイル
+% を\pstyle{jpl@in}にし、実際に出力される形式は、ほかのページスタイル
+% で|\let|をしています。したがって、\pstyle{headings}のとき、目次ページの
+% ページ番号はヘッダ位置に出力され、\pstyle{plain}のときには、フッタ位置に
+% 出力されます。
+%
+% ここで、定義をしているのは、その初期値です。
+% \begin{macrocode}
+\let\ps@jpl@in\ps@plain
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{headnombreページスタイル}
+%
+% \begin{macro}{\ps@headnombre}
+% \pstyle{headnombre}スタイルは、ヘッダにページ番号のみを出力します。
+% \begin{macrocode}
+\def\ps@headnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@headnombre
+%<yoko> \def\@evenhead{\thepage\hfil}%
+%<yoko> \def\@oddhead{\hfil\thepage}%
+%<tate> \def\@evenhead{\hfil\thepage}%
+%<tate> \def\@oddhead{\thepage\hfil}%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{footnombreページスタイル}
+%
+% \begin{macro}{\ps@footnombre}
+% \pstyle{footnombre}スタイルは、フッタにページ番号のみを出力します。
+% \begin{macrocode}
+\def\ps@footnombre{\let\@mkboth\@gobbletwo
+ \let\ps@jpl@in\ps@footnombre
+%<yoko> \def\@evenfoot{\thepage\hfil}%
+%<yoko> \def\@oddfoot{\hfil\thepage}%
+%<tate> \def\@evenfoot{\hfil\thepage}%
+%<tate> \def\@oddfoot{\thepage\hfil}%
+ \let\@oddhead\@empty\let\@evenhead\@empty}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{headingsスタイル}
+% \pstyle{headings}スタイルは、ヘッダに見出しとページ番号を出力します。
+%
+% \begin{macro}{\ps@headings}
+% このスタイルは、両面印刷と片面印刷とで形式が異なります。
+% \begin{macrocode}
+\if@twoside
+% \end{macrocode}
+% 横組の場合は、奇数ページが右に、偶数ページが左にきます。
+% 縦組の場合は、奇数ページが左に、偶数ページが右にきます。
+% \begin{macrocode}
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+%<yoko> \def\@evenhead{\thepage\hfil\leftmark}%
+%<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
+%<tate> \def\@evenhead{{\leftmark}\hfil\thepage}%
+%<tate> \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+%<*article>
+ \def\sectionmark##1{\markboth{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1zw\fi
+ ##1}{}}%
+ \def\subsectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1zw\fi
+ ##1}}%
+%</article>
+%<*report|book>
+ \def\chaptermark##1{\markboth{%
+ \ifnum \c@secnumdepth >\m@ne
+%<book> \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1zw
+%<book> \fi
+ \fi
+ ##1}{}}%
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1zw\fi
+ ##1}}%
+%</report|book>
+ }
+% \end{macrocode}
+% 片面印刷の場合:
+% \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
+% のを修正}
+% \begin{macrocode}
+\else % if not twoside
+ \def\ps@headings{\let\ps@jpl@in\ps@headnombre
+ \let\@oddfoot\@empty
+%<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
+%<tate> \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\markboth
+%<*article>
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1zw\fi
+ ##1}}%
+%</article>
+%<*report|book>
+\def\chaptermark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne
+%<book> \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1zw
+%<book> \fi
+ \fi
+ ##1}}%
+%</report|book>
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{bothstyleスタイル}
+%
+% \begin{macro}{\ps@bothstyle}
+% \pstyle{bothstyle}スタイルは、
+% ヘッダに見出しを、フッタにページ番号を出力します。
+%
+% このスタイルは、両面印刷と片面印刷とで形式が異なります。
+% \changes{v1.0d}{1995/08/23}{横組のevenfootが中央揃えになっていたのを修正}
+% \changes{v1.0d}{1996/03/05}{横組で偶数ページと奇数ページの設定が逆なのを修正}
+% \begin{macrocode}
+\if@twoside
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+%<*yoko>
+ \def\@evenhead{\leftmark\hfil}% right page
+ \def\@evenfoot{\thepage\hfil}% right page
+ \def\@oddhead{\hfil\rightmark}% left page
+ \def\@oddfoot{\hfil\thepage}% left page
+%</yoko>
+%<*tate>
+ \def\@evenhead{\hfil\leftmark}% right page
+ \def\@evenfoot{\hfil\thepage}% right page
+ \def\@oddhead{\rightmark\hfil}% left page
+ \def\@oddfoot{\thepage\hfil}% left page
+%</tate>
+ \let\@mkboth\markboth
+%<*article>
+ \def\sectionmark##1{\markboth{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1zw\fi
+ ##1}{}}%
+ \def\subsectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1zw\fi
+ ##1}}%
+%</article>
+%<*report|book>
+\def\chaptermark##1{\markboth{%
+ \ifnum \c@secnumdepth >\m@ne
+%<book> \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1zw
+%<book> \fi
+ \fi
+ ##1}{}}%
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\z@ \thesection.\hskip1zw\fi
+ ##1}}%
+%</report|book>
+ }
+% \end{macrocode}
+% \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
+% のを修正}
+% \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
+% bothstyleスタイルにすると、コンパイルエラーになるのを修正}
+% \begin{macrocode}
+\else % if one column
+ \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
+%<yoko> \def\@oddhead{\hfil\rightmark}%
+%<yoko> \def\@oddfoot{\hfil\thepage}%
+%<tate> \def\@oddhead{\rightmark\hfil}%
+%<tate> \def\@oddfoot{\thepage\hfil}%
+ \let\@mkboth\markboth
+%<*article>
+ \def\sectionmark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1zw\fi
+ ##1}}%
+%</article>
+%<*report|book>
+ \def\chaptermark##1{\markright{%
+ \ifnum \c@secnumdepth >\m@ne
+%<book> \if@mainmatter
+ \@chapapp\thechapter\@chappos\hskip1zw
+%<book> \fi
+ \fi
+ ##1}}%
+%</report|book>
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{myheadingスタイル}
+%
+% \begin{macro}{\ps@myheadings}
+% \changes{v1.0d}{1995/08/23}{横組モードの左右が逆であったのを修正}
+% \pstyle{myheadings}ページスタイルは簡潔に定義されています。
+% ユーザがページスタイルを設計するときのヒナ型として使用することができます。
+% \begin{macrocode}
+\def\ps@myheadings{\let\ps@jpl@in\ps@plain%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+%<yoko> \def\@evenhead{\thepage\hfil\leftmark}%
+%<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
+%<tate> \def\@evenhead{{\leftmark}\hfil\thepage}%
+%<tate> \def\@oddhead{\thepage\hfil\rightmark}%
+ \let\@mkboth\@gobbletwo
+%<!article> \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+%<article> \let\subsectionmark\@gobble
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{文書コマンド}
+%
+% \subsection{表題}
+%
+% \begin{macro}{\title}
+% \begin{macro}{\author}
+% \begin{macro}{\date}
+% 文書のタイトル、著者、日付の情報のための、
+% これらの3つのコマンドは\file{ltsect.dtx}で提供されています。
+% これらのコマンドは次のように定義されています。
+% \begin{macrocode}
+%\newcommand*{\title}[1]{\gdef\@title{#1}}
+%\newcommand*{\author}[1]{\gdef\@author{#1}}
+%\newcommand*{\date}[1]{\gdef\@date{#1}}
+% \end{macrocode}
+% |\date|マクロのデフォルトは、今日の日付です。
+% \begin{macrocode}
+%\date{\today}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{titlepage}
+% 通常の環境では、ページの最初と最後を除き、タイトルページ環境は何もしません。
+% また、ページ番号の出力を抑制します。レポートスタイルでは、
+% ページ番号を1にリセットし、そして最後で1に戻します。
+% 互換モードでは、ページ番号はゼロに設定されますが、
+% 右起こしページ用のページパラメータでは誤った結果になります。
+% 二段組スタイルでも一段組のページが作られます。
+%
+% \noindent\emph{日本語\TeX{}開発コミュニティによる変更}:
+% 上にあるのはアスキー版の説明です。改めてアスキー版の挙動を整理すると、
+% 以下のようになります。
+% \begin{enumerate}
+% \item アスキー版では、タイトルページの番号を必ず1にリセットしていましたが、
+% これは正しくありません。これは、タイトルページが奇数ページ目か偶数ページ目
+% かにかかわらず、レイアウトだけ奇数ページ用が適用されてしまうからです。
+% さらに、タイトルの次のページも偶数のページ番号を持ってしまうため、両面印刷
+% で奇数ページと偶数ページが交互に出なくなるという問題もあります。
+% \item アスキー版bookクラスは、タイトルページを必ず|\cleardoublepage|で始めて
+% いました。p\LaTeX{}カーネルでの|\cleardoublepage|の定義から、縦組の既定では
+% タイトルが偶数ページ目に出ることになります。これ自体が正しくないと断定する
+% ことはできませんが、タイトルのページ番号を1にリセットすることと合わさって、
+% 偶数ページに送ったタイトルに奇数ページ用レイアウトが適用されてしまうという
+% 結果は正しくありません。
+% \end{enumerate}
+% そこで、コミュニティ版ではタイトルのレイアウトが必ず奇数ページ用になるという
+% 挙動を支持し、bookクラスではタイトルページを奇数ページ目に送ることにしました。
+% これでタイトルページが表紙らしく見えるようになります。また、reportクラスの
+% ようなタイトルが成り行きに従って出る場合には
+% \begin{itemize}
+% \item 奇数ページ目に出る場合、ページ番号を1(奇数)にリセット
+% \item 偶数ページ目に出る場合、ページ番号を0(偶数)にリセット
+% \end{itemize}
+% としました。
+%
+% 一つめの例を考えます。
+%\begin{verbatim}
+% \documentclass{tbook}
+% \title{タイトル}\author{著者}
+% \begin{document}
+% \maketitle
+% \chapter{チャプター}
+% \end{document}
+%\end{verbatim}
+% アスキー版tbookクラスでの結果は
+%\begin{verbatim}
+% 1ページ目:空白(ページ番号1は非表示)
+% 2ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
+% 3ページ目:チャプター(偶数レイアウト、ページ番号2)
+%\end{verbatim}
+% ですが、仮に最初の空白ページさえなければ
+%\begin{verbatim}
+% 1ページ目:タイトルすなわち表紙(奇数レイアウト、ページ番号1は非表示)
+% 2ページ目:チャプター(偶数レイアウト、ページ番号2)
+%\end{verbatim}
+% とみなせるため、コミュニティ版では空白ページを発生させないようにしました。
+%
+% 二つめの例を考えます。
+%\begin{verbatim}
+% \documentclass{tbook}
+% \title{タイトル}\author{著者}
+% \begin{document}
+% テスト文章
+% \maketitle
+% \chapter{チャプター}
+% \end{document}
+%\end{verbatim}
+% アスキー版tbookクラスでの結果は
+%\begin{verbatim}
+% 1ページ目:テスト文章(奇数レイアウト、ページ番号1)
+% 2ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
+% 3ページ目:チャプター(偶数レイアウト、ページ番号2)
+%\end{verbatim}
+% ですが、これでは奇数と偶数のページ番号が交互になっていないので正しく
+% ありません。そこで、コミュニティ版では
+%\begin{verbatim}
+% 1ページ目:テスト文章(奇数レイアウト、ページ番号1)
+% 2ページ目:空白ページ(ページ番号2は非表示)
+% 3ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
+% 4ページ目:チャプター(偶数レイアウト、ページ番号2)
+%\end{verbatim}
+% と直しました。
+%
+% なお、p\LaTeX~2.09互換モードはアスキー版のまま、すなわち「ページ番号をゼロに
+% 設定」としてあります。これは、横組の右起こしの挙動としては誤りですが、縦組の
+% 右起こしの挙動としては一応正しくなっているといえます。
+%
+% 最初に互換モードの定義を作ります。
+% \begin{macrocode}
+\if@compatibility
+\newenvironment{titlepage}
+ {%
+%<book> \cleardoublepage
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\newpage\fi
+ \thispagestyle{empty}%
+ \setcounter{page}\z@
+ }%
+ {\if@restonecol\twocolumn\else\newpage\fi
+ }
+% \end{macrocode}
+%
+% そして、\LaTeX{}ネイティブのための定義です。
+% \changes{v1.7d}{2017/02/15}{bookクラスでtitlepageを必ず奇数ページ
+% に送るように変更}
+% \changes{v1.7d}{2017/02/15}{titlepageのページ番号を奇数ならば1に、
+% 偶数ならば0にリセットするように変更}
+% \begin{macrocode}
+\else
+\newenvironment{titlepage}
+ {%
+%<book> \pltx@cleartooddpage %% 2017/02/15
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse\newpage
+ \fi
+ \thispagestyle{empty}%
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017/02/15
+ }%
+ {\if@restonecol\twocolumn \else \newpage \fi
+% \end{macrocode}
+% 両面モードでなければ、タイトルページの直後のページのページ番号も1に
+% します。
+% \begin{macrocode}
+ \if@twoside\else
+ \setcounter{page}\@ne
+ \fi
+ }
+\fi
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\maketitle}
+% このコマンドは、表題を作成し、出力します。
+% 表題ページを独立させるかどうかによって定義が異なります。
+% reportとbookクラスのデフォルトは独立した表題です。
+% articleクラスはオプションで独立させることができます。
+%
+% \begin{macro}{\p@thanks}
+% 縦組のときは、|\thanks|コマンドを|\p@thanks|に|\let|します。
+% このコマンドは|\footnotetext|を使わず、直接、文字を|\@thanks|に格納
+% していきます。
+%
+% 著者名の脇に表示される合印は直立した数字、注釈側は横に寝た数字となっていまし
+% たが、不自然なので|\hbox{\yoko ...}|を追加し、両方とも直立するようにしました。
+% \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
+% \begin{macrocode}
+\def\p@thanks#1{\footnotemark
+ \protected@xdef\@thanks{\@thanks
+ \protect{\noindent\hbox{\yoko$\m@th^\thefootnote$}#1\protect\par}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\if@titlepage
+ \newcommand{\maketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+%<tate> \let\thanks\p@thanks
+ \let\footnote\thanks
+% \end{macrocode}
+% \changes{v1.1d}{1997/02/12}{縦組クラスの表紙を縦書きにするようにした}
+% \begin{macrocode}
+%<tate> \vbox to\textheight\bgroup\tate\hsize\textwidth
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 3em%
+ {\Large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+%<tate> \vfil{\centering\@thanks}\vfil\null
+%<tate> \egroup
+%<yoko> \@thanks\vfil\null
+ \end{titlepage}%
+% \end{macrocode}
+% \Lcount{footnote}カウンタをリセットし、|\thanks|と|\maketitle|コマンドを
+% 無効にし、いくつかの内部マクロを空にして格納領域を節約します。
+% \begin{macrocode}
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+% \end{macrocode}
+% タイトルが組版されたら、|\title|コマンドなどの宣言を無効にできます。
+% |\and|の定義は、|\author|の引数でのみ使用しますので、破棄します。
+% \begin{macrocode}
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }%
+\else
+ \newcommand{\maketitle}{\par
+ \begingroup
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
+ \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$
+ \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
+%<*tate>
+ \long\def\@makefntext##1{\parindent 1zw\noindent
+ \hb@xt@ 2zw{\hss\@makefnmark}##1}%
+%</tate>
+%<*yoko>
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hb@xt@1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
+%</yoko>
+ \if@twocolumn
+ \ifnum \col@number=\@ne \@maketitle
+ \else \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{jpl@in}\@thanks
+% \end{macrocode}
+% ここでグループを閉じ、\Lcount{footnote}カウンタをリセットし、
+% |\thanks|, |\maketitle|, |\@maketitle|を無効にし、
+% いくつかの内部マクロを空にして格納領域を節約します。
+% \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
+% 空になっていなかったのを修正}
+% \begin{macrocode}
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@maketitle\relax
+ \global\let\p@thanks\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@maketitle}
+% 独立した表題ページを作らない場合の、表題の出力形式です。
+% \begin{macrocode}
+ \def\@maketitle{%
+ \newpage\null
+ \vskip 2em%
+ \begin{center}%
+%<yoko> \let\footnote\thanks
+%<tate> \let\footnote\p@thanks
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par\vskip 1.5em}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{概要}
+%
+% \begin{environment}{abstract}
+% 要約文のための環境です。bookクラスでは使えません。
+% reportスタイルと、|titlepage|オプションを指定したarticleスタイルでは、
+% 独立したページに出力されます。
+% \begin{macrocode}
+%<*article|report>
+\if@titlepage
+ \newenvironment{abstract}{%
+ \titlepage
+ \null\vfil
+ \@beginparpenalty\@lowpenalty
+ \begin{center}%
+ {\bfseries\abstractname}%
+ \@endparpenalty\@M
+ \end{center}}%
+ {\par\vfil\null\endtitlepage}
+\else
+ \newenvironment{abstract}{%
+ \if@twocolumn
+ \section*{\abstractname}%
+ \else
+ \small
+ \begin{center}%
+ {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \quotation
+ \fi}{\if@twocolumn\else\endquotation\fi}
+\fi
+%</article|report>
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{章見出し}
+%
+% \subsubsection{マークコマンド}
+%
+% \begin{macro}{\chaptermark}
+% \begin{macro}{\sectionmark}
+% \begin{macro}{\subsectionmark}
+% \begin{macro}{\subsubsectionmark}
+% \begin{macro}{\paragraphmark}
+% \begin{macro}{\subparagraphmark}
+% |\...mark|コマンドを初期化します。これらのコマンドはページスタイルの
+% 定義で使われます(第\ref{sec:pagestyle}節参照)。
+% これらのたいていのコマンドは\file{ltsect.dtx}ですでに定義されています。
+% \begin{macrocode}
+%<!article>\newcommand*{\chaptermark}[1]{}
+%\newcommand*{\sectionmark}[1]{}
+%\newcommand*{\subsectionmark}[1]{}
+%\newcommand*{\subsubsectionmark}[1]{}
+%\newcommand*{\paragraphmark}[1]{}
+%\newcommand*{\subparagraphmark}[1]{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{カウンタの定義}
+%
+% \begin{macro}{\c@secnumdepth}
+% \Lcount{secnumdepth}には、番号を付ける、見出しコマンドのレベルを設定します。
+% \begin{macrocode}
+%<article>\setcounter{secnumdepth}{3}
+%<!article>\setcounter{secnumdepth}{2}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@chapter}
+% \begin{macro}{\c@section}
+% \begin{macro}{\c@subsection}
+% \begin{macro}{\c@subsubsection}
+% \begin{macro}{\c@paragraph}
+% \begin{macro}{\c@subparagraph}
+% これらのカウンタは見出し番号に使われます。
+% 最初の引数は、二番目の引数が増加するたびにリセットされます。
+% 二番目のカウンタはすでに定義されているものでなくてはいけません。
+% \begin{macrocode}
+\newcounter{part}
+%<*book|report>
+\newcounter{chapter}
+\newcounter{section}[chapter]
+%</book|report>
+%<article>\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\thepart}
+% \begin{macro}{\thechapter}
+% \begin{macro}{\thesection}
+% \begin{macro}{\thesubsection}
+% \begin{macro}{\thesubsubsection}
+% \begin{macro}{\theparagraph}
+% \begin{macro}{\thesubparagraph}
+% |\theCTR|が実際に出力される形式の定義です。
+%
+% |\arabic{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
+% 算用数字で出力します。
+%
+% |\roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
+% 小文字のローマ数字で出力します。
+%
+% |\Roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
+% 大文字のローマ数字で出力します。
+%
+% |\alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
+% $1=$~a, $2=$~b のようにして出力します。
+%
+% |\Alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
+% $1=$~A, $2=$~B のようにして出力します。
+%
+% |\Kanji{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
+% 漢数字で出力します。
+%
+% |\rensuji{|\meta{obj}|}|は、\meta{obj}を横に並べて出力します。
+% したがって、横組のときには、何も影響しません。
+%
+% \begin{macrocode}
+%<*tate>
+\renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
+%<article>\renewcommand{\thesection}{\rensuji{\@arabic\c@section}}
+%<*report|book>
+\renewcommand{\thechapter}{\rensuji{\@arabic\c@chapter}}
+\renewcommand{\thesection}{\thechapter{}・\rensuji{\@arabic\c@section}}
+%</report|book>
+\renewcommand{\thesubsection}{\thesection{}・\rensuji{\@arabic\c@subsection}}
+\renewcommand{\thesubsubsection}{%
+ \thesubsection{}・\rensuji{\@arabic\c@subsubsection}}
+\renewcommand{\theparagraph}{%
+ \thesubsubsection{}・\rensuji{\@arabic\c@paragraph}}
+\renewcommand{\thesubparagraph}{%
+ \theparagraph{}・\rensuji{\@arabic\c@subparagraph}}
+%</tate>
+%<*yoko>
+\renewcommand{\thepart}{\@Roman\c@part}
+%<article>\renewcommand{\thesection}{\@arabic\c@section}
+%<*report|book>
+\renewcommand{\thechapter}{\@arabic\c@chapter}
+\renewcommand{\thesection}{\thechapter.\@arabic\c@section}
+%</report|book>
+\renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection}
+\renewcommand{\thesubsubsection}{%
+ \thesubsection.\@arabic\c@subsubsection}
+\renewcommand{\theparagraph}{%
+ \thesubsubsection.\@arabic\c@paragraph}
+\renewcommand{\thesubparagraph}{%
+ \theparagraph.\@arabic\c@subparagraph}
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@chapapp}
+% \begin{macro}{\@chappos}
+% |\@chapapp|の初期値は`|\prechaptername|'です。
+%
+% |\@chappos|の初期値は`|\postchaptername|'です。
+%
+% |\appendix|コマンドは|\@chapapp|を`|\appendixname|'に、
+% |\@chappos|を空に再定義します。
+% \begin{macrocode}
+%<*report|book>
+\newcommand{\@chapapp}{\prechaptername}
+\newcommand{\@chappos}{\postchaptername}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{前付け、本文、後付け}
+%
+% \begin{macro}{\frontmatter}
+% \begin{macro}{\mainmatter}
+% \begin{macro}{\backmatter}
+% \changes{v1.1}{1997/01/15}{\cs{frontmatter}, \cs{mainmatter}, \cs{backmatter}
+% を\LaTeX{}の定義に修正}
+% 一冊の本は論理的に3つに分割されます。
+% 表題や目次や「はじめに」あるいは権利などの前付け、
+% そして本文、それから用語集や索引や奥付けなどの後付けです。
+%
+% \emph{日本語\TeX{}開発コミュニティによる補足}:
+% \LaTeX{}のclasses.dtxは、1996/05/26 (v1.3r)と1998/05/05 (v1.3y)の
+% 計2回、|\frontmatter|と|\mainmatter|の定義を修正しています。一回目は
+% これらの命令を|openany|オプションに応じて切り替え、二回目はそれを
+% 元に戻しています。アスキーによるjclasses.dtxは、1997/01/15に
+% 一回目の修正に追随しましたが、二回目の修正には追随していません。
+% コミュニティ版では、一旦はアスキーによる仕様を維持しようと考え
+% ました(2016/11/22)が、以下の理由により二回目の修正にも追随する
+% ことにしました(2017/03/05)。
+%
+% アスキー版での|\frontmatter|と|\mainmatter|の改ページ挙動は
+%\begin{quote}
+% |openright|なら|\cleardoublepage|、|openany|なら|\clearpage|を実行
+%\end{quote}
+% というものでした。しかし、|\frontmatter|及び|\mainmatter|はノンブルを
+% 1にリセットしますから、改ページの結果が偶数ページ目になる場合
+% \footnote{縦tbookのデフォルト(openright)が該当するほか、横jbookと
+% 縦tbookのopenanyのときには成り行き次第で該当する可能性があります。}に
+% ノンブルが偶奇逆転してしまいました。このままでは|openany|の場合に両面
+% 印刷がうまくいかないため、新しいコミュニティ版では
+%\begin{quote}
+% 必ず|\pltx@cleartooddpage|を実行
+%\end{quote}
+% としました。これは両面印刷(twoside)の場合は奇数ページに送り、
+% 片面印刷(oneside)の場合は単に改ページとなります。(参考:latex/2754)
+% \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
+% \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
+% 奇数ページに送るように変更}
+% \begin{macrocode}
+%<*book>
+\newcommand{\frontmatter}{%
+ \pltx@cleartooddpage
+ \@mainmatterfalse\pagenumbering{roman}}
+\newcommand{\mainmatter}{%
+ \pltx@cleartooddpage
+ \@mainmattertrue\pagenumbering{arabic}}
+\newcommand{\backmatter}{%
+ \if@openleft \cleardoublepage \else
+ \if@openright \cleardoublepage \else \clearpage \fi \fi
+ \@mainmatterfalse}
+%</book>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{ボックスの組み立て}
+% クラスファイル定義の、この部分では、|\@startsection|と|\secdef|の
+% 二つの内部マクロを使います。これらの構文を次に示します。
+%
+% |\@startsection|マクロは6つの引数と1つのオプション引数`*'を取ります。
+%
+% |\@startsection|\meta{name}\meta{level}\meta{indent}^^A
+% \meta{beforeskip}\meta{afterskip}\meta{style}
+% optional *\\
+% \null\hphantom{\bslash @startsection}^^A
+% |[|\meta{altheading}|]|\meta{heading}
+%
+% それぞれの引数の意味は、次のとおりです。
+%
+% \begin{description}
+% \item[\meta{name}] レベルコマンドの名前です(例:section)。
+% \item[\meta{level}] 見出しの深さを示す数値です(chapter=1, section=2,
+% $\ldots$)。``\meta{level}$<=$カウンタ\Lcount{secnumdepth}の値''のとき、
+% 見出し番号が出力されます。
+% \item[\meta{indent}] 見出しに対する、左マージンからのインデント量です。
+% \item[\meta{beforeskip}] 見出しの上に置かれる空白の絶対値です。
+% 負の場合は、見出しに続くテキストのインデントを抑制します。
+% \item[\meta{afterskip}] 正のとき、見出しの後の垂直方向のスペースとなります。
+% 負の場合は、見出しの後の水平方向のスペースとなります。
+% \item[\meta{style}] 見出しのスタイルを設定するコマンドです。
+% \item[\meta{$*$}] 見出し番号を付けないとき、対応するカウンタは増加します。
+% \item[\meta{heading}] 新しい見出しの文字列です。
+% \end{description}
+%
+% 見出しコマンドは通常、|\@startsection|と6つの引数で定義されています。
+%
+% |\secdef|マクロは、
+% 見出しコマンドを|\@startsection|を用いないで定義するときに使います。
+% このマクロは、2つの引数を持ちます。
+%
+% |\secdef|\meta{unstarcmds}\meta{starcmds}
+%
+% \begin{description}
+% \item[\meta{unstarcmds}] 見出しコマンドの普通の形式で使われます。
+% \item[\meta{starcmds}] $*$形式の見出しコマンドで使われます。
+% \end{description}
+%
+% |\secdef|は次のようにして使うことができます。
+%\begin{verbatim}
+% \def\chapter {... \secdef \CMDA \CMDB }
+% \def\CMDA [#1]#2{....} % \chapter[...]{...} の定義
+% \def\CMDB #1{....} % \chapter*{...} の定義
+%\end{verbatim}
+%
+%
+% \subsubsection{partレベル}
+%
+% \begin{macro}{\part}
+% このコマンドは、新しいパート(部)をはじめます。
+%
+% articleクラスの場合は、簡単です。
+%
+% 新しい段落を開始し、小さな空白を入れ、段落後のインデントを行い、
+% |\secdef|で作成します。(アスキーによる元のドキュメントには
+% 「段落後のインデントをしないようにし」と書かれていましたが、
+% 実際のコードでは段落後のインデントを行っていました。そこで
+% 日本語\TeX{}開発コミュニティは、ドキュメントをコードに合わせて
+% 「段落後のインデントを行い」へと修正しました。)
+% \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
+% possibly force horizontal mode (sync with classes.dtx v1.4a)}
+% \begin{macrocode}
+%<*article>
+\newcommand{\part}{%
+ \if@noskipsec \leavevmode \fi
+ \par\addvspace{4ex}%
+ \@afterindenttrue
+ \secdef\@part\@spart}
+%</article>
+% \end{macrocode}
+% reportとbookスタイルの場合は、少し複雑です。
+%
+% まず、右ページからはじまるように改ページをします。
+% そして、部扉のページスタイルを\pstyle{empty}にします。
+% 2段組の場合でも、1段組で作成しますが、後ほど2段組に戻すために、
+% |\@restonecol|スイッチを使います。
+% \changes{v1.1}{1997/01/15}{\cs{part}を\LaTeX\ の定義に修正}
+% \begin{macrocode}
+%<*report|book>
+\newcommand{\part}{%
+ \if@openleft \cleardoublepage \else
+ \if@openright \cleardoublepage \else \clearpage \fi \fi
+ \thispagestyle{empty}%
+ \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
+ \null\vfil
+ \secdef\@part\@spart}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@part}
+% このマクロが実際に部レベルの見出しを作成します。
+% このマクロも文書クラスによって定義が異なります。
+%
+% articleクラスの場合は、\Lcount{secnumdepth}が$-1$よりも大きいとき、
+% 見出し番号を付けます。このカウンタが$-1$以下の場合には付けません。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+%<*article>
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{%
+ \prepartname\thepart\postpartname\hspace{1zw}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\parindent\z@\raggedright
+ \interlinepenalty\@M\normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \Large\bfseries\prepartname\thepart\postpartname
+ \par\nobreak
+ \fi
+ \huge\bfseries#2\par}%
+ \nobreak\vskip3ex\@afterheading}
+%</article>
+% \end{macrocode}
+%
+% reportとbookクラスの場合は、\Lcount{secnumdepth}が$-2$よりも大きいときに、
+% 見出し番号を付けます。$-2$以下では付けません。
+%
+% \begin{macrocode}
+%<*report|book>
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{%
+ \prepartname\thepart\postpartname\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty\@M\normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries\prepartname\thepart\postpartname
+ \par\vskip20\p@
+ \fi
+ \Huge\bfseries#2\par}%
+ \@endpart}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@spart}
+% このマクロは、番号を付けないときの体裁です。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+%<*article>
+\def\@spart#1{{%
+ \parindent\z@\raggedright
+ \interlinepenalty\@M\normalfont
+ \huge\bfseries#1\par}%
+ \nobreak\vskip3ex\@afterheading}
+%</article>
+% \end{macrocode}
+% \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
+% ペナルティが\cs{M@}だったのを\cs{@M}に修正}
+% \begin{macrocode}
+%<*report|book>
+\def\@spart#1{{%
+ \centering
+ \interlinepenalty\@M\normalfont
+ \Huge\bfseries#1\par}%
+ \@endpart}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@endpart}
+% |\@part|と|\@spart|の最後で実行されるマクロです。
+% 両面印刷モードのときは、白ページを追加します。
+% 二段組モードのときには、これ以降のページを二段組に戻します。
+% 2016年12月から、|openany| のときに白ページを追加するのをやめました。
+% このバグは\LaTeX{}ではclasses.dtx v1.4b (2000/05/19)で修正されていました。
+% (参考:latex/3155、texjporg/jsclasses\#48)
+% \changes{v1.7c}{2016/12/18}{Only add empty page after part if
+% twoside and openright (sync with classes.dtx v1.4b)}
+% \begin{macrocode}
+%<*report|book>
+\def\@endpart{\vfil\newpage
+ \if@twoside
+ \if@openleft %% \if@openleft added (2017/02/15)
+ \null\thispagestyle{empty}\newpage
+ \else\if@openright %% \if@openright added (2016/12/18)
+ \null\thispagestyle{empty}\newpage
+ \fi\fi %% added (2016/12/18, 2017/02/15)
+ \fi
+% \end{macrocode}
+% 二段組文書のとき、スイッチを二段組モードに戻す必要があります。
+% \begin{macrocode}
+ \if@tempswa\twocolumn\fi}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{chapterレベル}
+%
+% \begin{macro}{chapter}
+% 章レベルは、必ずページの先頭から開始します。
+% |openright|オプションが指定されている場合は、右ページからはじまる
+% ように|\cleardoublepage|を呼び出します。
+% そうでなければ、|\clearpage|を呼び出します。
+% なお、縦組の場合でも右ページからはじまるように、
+% フォーマットファイルで|\clerdoublepage|が定義されています。
+%
+% \emph{日本語\TeX{}開発コミュニティによる補足}:コミュニティ版の実装では、
+% |openright|と|openleft|の場合に|\cleardoublepage|をクラスファイルの中で
+% 再々定義しています。\ref{sec:cleardoublepage}を参照してください。
+%
+% 章見出しが出力されるページのスタイルは、\pstyle{jpl@in}になります。
+% \pstyle{jpl@in}は、\pstyle{headnomble}か\pstyle{footnomble}のいずれかです。
+% 詳細は、第\ref{sec:pagestyle}節を参照してください。
+%
+% また、|\@topnum|をゼロにして、
+% 章見出しの上にトップフロートが置かれないようにしています。
+% \begin{macrocode}
+%<*report|book>
+\newcommand{\chapter}{%
+ \if@openleft \cleardoublepage \else
+ \if@openright \cleardoublepage \else \clearpage \fi \fi
+ \thispagestyle{jpl@in}%
+ \global\@topnum\z@
+ \@afterindenttrue
+ \secdef\@chapter\@schapter}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@chapter}
+% このマクロは、章見出しに番号を付けるときに呼び出されます。
+% \Lcount{secnumdepth}が$-1$よりも大きく、
+% |\@mainmatter|が真(bookクラスの場合)のときに、番号を出力します。
+%
+% \emph{日本語\TeX{}開発コミュニティによる補足}:本家\LaTeX{}の
+% \file{classes}では、二段組のときチャプタータイトルは一段組に戻され
+% ますが、アスキーによる\file{jclasses}では二段組のままにされています。
+% したがって、チャプタータイトルより高い位置に右カラムの始点が来るという
+% 挙動になっていますが、コミュニティ版でもアスキー版の挙動を維持しています。
+% \begin{macrocode}
+\def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+%<book> \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter\space\@chappos}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
+%<book> \else\addcontentsline{toc}{chapter}{#1}\fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makechapterhead{#2}\@afterheading}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@makechapterhead}
+% このマクロが実際に章見出しを組み立てます。
+% \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
+% 見出し文字列も消えてしまうのを修正}
+% \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
+% そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\def\@makechapterhead#1{\hbox{}%
+ \vskip2\Cvs
+ {\parindent\z@
+ \raggedright
+ \normalfont\huge\bfseries
+ \leavevmode
+ \ifnum \c@secnumdepth >\m@ne
+ \setlength\@tempdima{\linewidth}%
+%<book> \if@mainmatter
+ \setbox\z@\hbox{\@chapapp\thechapter\@chappos\hskip1zw}%
+ \addtolength\@tempdima{-\wd\z@}%
+ \unhbox\z@\nobreak
+%<book> \fi
+ \vtop{\hsize\@tempdima#1}%
+ \else
+ #1\relax
+ \fi}\nobreak\vskip3\Cvs}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@schapter}
+% このマクロは、章見出しに番号を付けないときに呼び出されます。
+%
+% \emph{日本語\TeX{}開発コミュニティによる補足}:やはり二段組でチャプター
+% タイトルより高い位置に右カラムの始点が来るという挙動を維持してあります。
+% \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
+% ドキュメントを追加}
+% \begin{macrocode}
+\def\@schapter#1{%
+ \@makeschapterhead{#1}\@afterheading
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@makeschapterhead}
+% 番号を付けない場合の形式です。
+% \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
+% そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\def\@makeschapterhead#1{\hbox{}%
+ \vskip2\Cvs
+ {\parindent\z@
+ \raggedright
+ \normalfont\huge\bfseries
+ \leavevmode
+ \setlength\@tempdima{\linewidth}%
+ \vtop{\hsize\@tempdima#1}}\vskip3\Cvs}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{下位レベルの見出し}
+%
+% \begin{macro}{\section}
+% 見出しの前後に空白を付け、|\Large\bfseries|で出力をします。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\newcommand{\section}{\@startsection{section}{1}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\normalfont\Large\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subsection}
+% 見出しの前後に空白を付け、|\large\bfseries|で出力をします。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\normalfont\large\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subsubsection}
+% 見出しの前後に空白を付け、|\normalsize\bfseries|で出力をします。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
+ {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
+ {.5\Cvs \@plus.3\Cvs}%
+ {\normalfont\normalsize\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\paragraph}
+% 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
+% 見出しの後ろで改行されません。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subparagraph}
+% 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
+% 見出しの後ろで改行されません。
+% \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
+% \cs{normalfont} (sync with classes.dtx v1.3c)}
+% \begin{macrocode}
+\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{付録}
+%
+% \begin{macro}{\appendix}
+% articleクラスの場合、|\appendix|コマンドは次のことを行ないます。
+%
+% \begin{itemize}
+% \item \Lcount{section}と\Lcount{subsection}カウンタをリセットする。
+% \item |\thesection|を英小文字で出力するように再定義する。
+% \end{itemize}
+%
+% \begin{macrocode}
+%<*article>
+\newcommand{\appendix}{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+%<tate> \renewcommand{\thesection}{\rensuji{\@Alph\c@section}}}
+%<yoko> \renewcommand{\thesection}{\@Alph\c@section}}
+%</article>
+% \end{macrocode}
+%
+% reportとbookクラスの場合、|\appendix|コマンドは次のことを行ないます。
+%
+% \begin{itemize}
+% \item \Lcount{chapter}と\Lcount{section}カウンタをリセットする。
+% \item |\@chapapp|を|\appendixname|に設定する。
+% \item |\@chappos|を空にする。
+% \item |\thechapter|を英小文字で出力するように再定義する。
+% \end{itemize}
+%
+% \begin{macrocode}
+%<*report|book>
+\newcommand{\appendix}{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand{\@chapapp}{\appendixname}%
+ \renewcommand{\@chappos}\space%
+%<tate> \renewcommand{\thechapter}{\rensuji{\@Alph\c@chapter}}}
+%<yoko> \renewcommand{\thechapter}{\@Alph\c@chapter}}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsection{リスト環境}
+% ここではリスト環境について説明をしています。
+%
+% リスト環境のデフォルトは次のように設定されます。
+%
+% まず、|\rigtmargin|, |\listparindent|, |\itemindent|をゼロにします。
+% そして、K番目のレベルのリストは|\@listK|で示されるマクロが呼び出されます。
+% ここで`K'は小文字のローマ数字で示されます。たとえば、3番目のレベルのリスト
+% として|\@listiii|が呼び出されます。
+% |\@listK|は|\leftmargin|を|\leftmarginK|に設定します。
+%
+% \begin{macro}{\leftmargin}
+% \begin{macro}{\leftmargini}
+% \begin{macro}{\leftmarginii}
+% \begin{macro}{\leftmarginiii}
+% \begin{macro}{\leftmarginiv}
+% \begin{macro}{\leftmarginv}
+% \begin{macro}{\leftmarginvi}
+% 二段組モードのマージンは少しだけ小さく設定してあります。
+% \begin{macrocode}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+% \end{macrocode}
+% 次の3つの値は、|\labelsep|とデフォルトラベル(`(m)', `vii.', `M.')の
+% 幅の合計よりも大きくしてあります。
+% \begin{macrocode}
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi{.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi{1em}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\labelsep}
+% \begin{macro}{\labelwidth}
+% |\labelsep|はラベルとテキストの項目の間の距離です。
+% |\labelwidth|はラベルの幅です。
+% \begin{macrocode}
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@beginparpenalty}
+% \begin{macro}{\@endparpenalty}
+% これらのペナルティは、リストや段落環境の前後に挿入されます。
+% \begin{macro}{\@itempenalty}
+% このペナルティは、リスト項目の間に挿入されます。
+% \begin{macrocode}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+%</article|report|book>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\partopsep}
+% リスト環境の前に空行がある場合、|\parskip|と|\topsep|に|\partopsep|が
+% 加えられた値の縦方向の空白が取られます。
+% \begin{macrocode}
+%<10pt>\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
+%<11pt>\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
+%<12pt>\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@listi}
+% \begin{macro}{\@listI}
+% |\@listi|は、|\leftmargin|, |\parsep|, |\topsep|, |\itemsep|などの
+% トップレベルの定義をします。
+% この定義は、フォントサイズコマンドによって変更されます(たとえば、
+% |\small|の中では``小さい''リストパラメータになります)。
+%
+% このため、|\normalsize|がすべてのパラメータを戻せるように、
+% |\@listI|は|\@listi|のコピーを保存するように定義されています。
+% \begin{macrocode}
+%<*10pt|11pt|12pt>
+\def\@listi{\leftmargin\leftmargini
+%<*10pt>
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep4\p@ \@plus2\p@ \@minus\p@}
+%</10pt>
+%<*11pt>
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
+%</11pt>
+%<*12pt>
+ \parsep 5\p@ \@plus2.5\p@ \@minus\p@
+ \topsep 10\p@ \@plus4\p@ \@minus6\p@
+ \itemsep5\p@ \@plus2.5\p@ \@minus\p@}
+%</12pt>
+\let\@listI\@listi
+% \end{macrocode}
+% ここで、パラメータを初期化しますが、厳密には必要ありません。
+% \begin{macrocode}
+\@listi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@listii}
+% \begin{macro}{\@listiii}
+% \begin{macro}{\@listiv}
+% \begin{macro}{\@listv}
+% \begin{macro}{\@listvi}
+% 下位レベルのリスト環境のパラメータの設定です。
+% これらは保存用のバージョンを持たないことと、
+% フォントサイズコマンドによって変更されないことに注意をしてください。
+% 言い換えれば、このクラスは、本文サイズが
+% |\normalsize|で現れるリストの入れ子についてだけ考えています。
+% \begin{macrocode}
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+%<*10pt>
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+%</10pt>
+%<*11pt>
+ \topsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+%</11pt>
+%<*12pt>
+ \topsep 5\p@ \@plus2.5\p@ \@minus\p@
+ \parsep 2.5\p@ \@plus\p@ \@minus\p@
+%</12pt>
+ \itemsep\parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+%<10pt> \topsep 2\p@ \@plus\p@\@minus\p@
+%<11pt> \topsep 2\p@ \@plus\p@\@minus\p@
+%<12pt> \topsep 2.5\p@\@plus\p@\@minus\p@
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+\def\@listiv {\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+\def\@listv {\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+\def\@listvi {\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+%</10pt|11pt|12pt>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{enumerate環境}
+% enumerate環境は、カウンタ\Lcount{enumi}, \Lcount{enumii}, \Lcount{enumiii},
+% \Lcount{enumiv}を使います。\Lcount{enumN}はN番目のレベルの番号を制御します。
+%
+% \begin{macro}{\theenumi}
+% \begin{macro}{\theenumii}
+% \begin{macro}{\theenumiii}
+% \begin{macro}{\theenumiv}
+% 出力する番号の書式を設定します。
+% これらは、すでに\file{ltlists.dtx}で定義されています。
+% \begin{macrocode}
+%<*article|report|book>
+%<*tate>
+\renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
+\renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
+\renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
+\renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
+%</tate>
+%<*yoko>
+\renewcommand{\theenumi}{\@arabic\c@enumi}
+\renewcommand{\theenumii}{\@alph\c@enumii}
+\renewcommand{\theenumiii}{\@roman\c@enumiii}
+\renewcommand{\theenumiv}{\@Alph\c@enumiv}
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\labelenumi}
+% \begin{macro}{\labelenumii}
+% \begin{macro}{\labelenumiii}
+% \begin{macro}{\labelenumiv}
+% enumerate環境のそれぞれの項目のラベルは、
+% |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
+% \begin{macrocode}
+%<*tate>
+\newcommand{\labelenumi}{\theenumi}
+\newcommand{\labelenumii}{\theenumii}
+\newcommand{\labelenumiii}{\theenumiii}
+\newcommand{\labelenumiv}{\theenumiv}
+%</tate>
+%<*yoko>
+\newcommand{\labelenumi}{\theenumi.}
+\newcommand{\labelenumii}{(\theenumii)}
+\newcommand{\labelenumiii}{\theenumiii.}
+\newcommand{\labelenumiv}{\theenumiv.}
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\p@enumii}
+% \begin{macro}{\p@enumiii}
+% \begin{macro}{\p@enumiv}
+% |\ref|コマンドによって、
+% enumerate環境のN番目のリスト項目が参照されるときの書式です。
+% \begin{macrocode}
+\renewcommand{\p@enumii}{\theenumi}
+\renewcommand{\p@enumiii}{\theenumi(\theenumii)}
+\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{enumerate}
+% \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
+% トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
+% 変更します。この環境は、\file{ltlists.dtx}で定義されています。
+% \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
+% (sync with ltlists.dtx v1.0j)}
+%
+% \begin{macrocode}
+\renewenvironment{enumerate}
+ {\ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \expandafter \list \csname label\@enumctr\endcsname{%
+ \iftdir
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1zw \labelsep.3zw
+ \ifnum \@enumdepth=\@ne \leftmargin1zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1zw
+ \fi
+ \usecounter{\@enumctr}%
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsubsection{itemize環境}
+%
+% \begin{macro}{\labelitemi}
+% \begin{macro}{\labelitemii}
+% \begin{macro}{\labelitemiii}
+% \begin{macro}{\labelitemiv}
+% itemize環境のそれぞれの項目のラベルは、
+% |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
+% \changes{v1.1a}{1997/01/28}{Bug fix: \cs{labelitemii}.}
+% \begin{macrocode}
+\newcommand{\labelitemi}{\textbullet}
+\newcommand{\labelitemii}{%
+ \iftdir
+ {\textcircled{~}}
+ \else
+ {\normalfont\bfseries\textendash}
+ \fi
+}
+\newcommand{\labelitemiii}{\textasteriskcentered}
+\newcommand{\labelitemiv}{\textperiodcentered}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{itemize}
+% \changes{v1.0e}{1996/03/14}{縦組時のみに設定するようにした}
+% トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
+% 変更します。この環境は、\file{ltlists.dtx}で定義されています。
+% \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
+% (sync with ltlists.dtx v1.0j)}
+% \begin{macrocode}
+\renewenvironment{itemize}
+ {\ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter \list \csname \@itemitem\endcsname{%
+ \iftdir
+ \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
+ \else\topsep\z@\fi
+ \parskip\z@ \itemsep\z@ \parsep\z@
+ \labelwidth1zw \labelsep.3zw
+ \ifnum \@itemdepth =\@ne \leftmargin1zw\relax
+ \else\leftmargin\leftskip\fi
+ \advance\leftmargin 1zw
+ \fi
+ \def\makelabel##1{\hss\llap{##1}}}%
+ \fi}{\endlist}
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsubsection{description環境}
+%
+% \begin{environment}{description}
+% \changes{v1.0e}{1996/03/14}{\cs{topskip}や\cs{parkip}などの値を縦組時のみに
+% 設定するようにした}
+% description環境を定義します。
+% 縦組時には、インデントが3字分だけ深くなります。
+% \begin{macrocode}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \iftdir
+ \leftmargin\leftskip \advance\leftmargin3\Cwd
+ \rightmargin\rightskip
+ \labelsep=1zw \itemsep\z@
+ \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
+ \fi
+ \let\makelabel\descriptionlabel}}{\endlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\descriptionlabel}
+% ラベルの形式を変更する必要がある場合は、|\descriptionlabel|を
+% 再定義してください。
+% \begin{macrocode}
+\newcommand{\descriptionlabel}[1]{%
+ \hspace\labelsep\normalfont\bfseries #1}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{verse環境}
+%
+% \begin{environment}{verse}
+% verse環境は、リスト環境のパラメータを使って定義されています。
+% 改行をするには|\\|を用います。|\\|は|\@centercr|に|\let|されています。
+% \begin{macrocode}
+\newenvironment{verse}
+ {\let\\\@centercr
+ \list{}{\itemsep\z@ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin 1.5em}%
+ \item\relax}{\endlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsubsection{quotation環境}
+%
+% \begin{environment}{quotation}
+% quotation環境もまた、list環境のパラメータを使用して定義されています。
+% この環境の各行は、|\textwidth|よりも小さく設定されています。
+% この環境における、段落の最初の行はインデントされます。
+% \begin{macrocode}
+\newenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent\listparindent
+ \rightmargin\leftmargin
+ \parsep\z@ \@plus\p@}%
+ \item\relax}{\endlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsubsection{quote環境}
+%
+% \begin{environment}{quote}
+% quote環境は、段落がインデントされないことを除き、quotation環境と同じです。
+% \begin{macrocode}
+\newenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \item\relax}{\endlist}
+% \end{macrocode}
+% \end{environment}
+%
+%
+%
+% \subsection{フロート}
+%
+% \file{ltfloat.dtx}では、フロートオブジェクトを操作するためのツールしか
+% 定義していません。タイプが\texttt{TYPE}のフロートオブジェクトを
+% 扱うマクロを定義するには、次の変数が必要です。
+%
+% \begin{description}
+% \item[\texttt{\bslash fps@TYPE}]
+% タイプ\texttt{TYPE}のフロートを置くデフォルトの位置です。
+%
+% \item[\texttt{\bslash ftype@TYPE}]
+% タイプ\texttt{TYPE}のフロートの番号です。
+% 各\texttt{TYPE}には、一意な、2の倍数の\texttt{TYPE}番号を割り当てます。
+% たとえば、図が番号1ならば、表は2です。次のタイプは4となります。
+%
+% \item[\texttt{\bslash ext@TYPE}]
+% タイプ\texttt{TYPE}のフロートの目次を出力するファイルの拡張子です。
+% たとえば、|\ext@figure|は`lot'です。
+%
+% \item[\texttt{\bslash fnum@TYPE}]
+% キャプション用の図番号を生成するマクロです。
+% たとえば、|\fnum@figure|は`図|\thefigure|'を作ります。
+% \end{description}
+%
+% \subsubsection{figure環境}
+% ここでは、figure環境を実装しています。
+%
+% \begin{macro}{\c@figure}
+% \begin{macro}{\thefigure}
+% 図番号です。
+% \begin{macrocode}
+%<article>\newcounter{figure}
+%<report|book>\newcounter{figure}[chapter]
+%<*tate>
+%<article>\renewcommand{\thefigure}{\rensuji{\@arabic\c@figure}}
+% \end{macrocode}
+% \changes{v1.1d}{1997/02/14}{\cs{ifnum}文の構文エラーを訂正。}
+% \begin{macrocode}
+%<*report|book>
+\renewcommand{\thefigure}{%
+ \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure}}
+%</report|book>
+%</tate>
+%<*yoko>
+%<article>\renewcommand{\thefigure}{\@arabic\c@figure}
+%<*report|book>
+\renewcommand{\thefigure}{%
+ \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
+%</report|book>
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\fps@figure}
+% \begin{macro}{\ftype@figure}
+% \begin{macro}{\ext@figure}
+% \begin{macro}{\fnum@figure}
+% フロートオブジェクトタイプ``figure''のためのパラメータです。
+% \begin{macrocode}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+%<tate>\def\fnum@figure{\figurename\thefigure}
+%<yoko>\def\fnum@figure{\figurename~\thefigure}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{figure}
+% \begin{environment}{figure*}
+% |*|形式は2段抜きのフロートとなります。
+% \begin{macrocode}
+\newenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\newenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+%
+% \subsubsection{table環境}
+% ここでは、table環境を実装しています。
+%
+% \begin{macro}{\c@table}
+% \begin{macro}{\thetable}
+% \changes{v1.1n}{1998/10/13}
+% {report, bookクラスでchapterカウンタを考慮していなかったのを修正。
+% ありがとう、平川@慶應大さん。}
+% 表番号です。
+% \begin{macrocode}
+%<article>\newcounter{table}
+%<report|book>\newcounter{table}[chapter]
+%<*tate>
+%<article>\renewcommand{\thetable}{\rensuji{\@arabic\c@table}}
+%<*report|book>
+\renewcommand{\thetable}{%
+ \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@table}}
+%</report|book>
+%</tate>
+%<*yoko>
+%<article>\renewcommand{\thetable}{\@arabic\c@table}
+%<*report|book>
+\renewcommand{\thetable}{%
+ \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@table}
+%</report|book>
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\fps@table}
+% \begin{macro}{\ftype@table}
+% \begin{macro}{\ext@table}
+% \begin{macro}{\fnum@table}
+% フロートオブジェクトタイプ``table''のためのパラメータです。
+% \begin{macrocode}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+%<tate>\def\fnum@table{\tablename\thetable}
+%<yoko>\def\fnum@table{\tablename~\thetable}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{table}
+% \begin{environment}{table*}
+% |*|形式は2段抜きのフロートとなります。
+% \begin{macrocode}
+\newenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\newenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+%
+% \subsection{キャプション}
+%
+% \begin{macro}{\@makecaption}
+% |\caption|コマンドは、キャプションを組み立てるために|\@mkcaption|を呼出ます。
+% このコマンドは二つの引数を取ります。
+% 一つは、\meta{number}で、フロートオブジェクトの番号です。
+% もう一つは、\meta{text}でキャプション文字列です。
+% \meta{number}には通常、`図 3.2'のような文字列が入っています。
+% このマクロは、|\parbox|の中で呼び出されます。書体は|\normalsize|です。
+%
+% \begin{macro}{\abovecaptionskip}
+% \begin{macro}{\belowcaptionskip}
+% これらの長さはキャプションの前後に挿入されるスペースです。
+% \begin{macrocode}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% キャプション内で複数の段落を作成することができるように、
+% このマクロは|\long|で定義をします。
+% \begin{macrocode}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \iftdir\sbox\@tempboxa{#1\hskip1zw#2}%
+ \else\sbox\@tempboxa{#1: #2}%
+ \fi
+ \ifdim \wd\@tempboxa >\hsize
+ \iftdir #1\hskip1zw#2\relax\par
+ \else #1: #2\relax\par\fi
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{コマンドパラメータの設定}
+%
+% \subsubsection{arrayとtabular環境}
+%
+% \begin{macro}{\arraycolsep}
+% array環境のカラムは2|\arraycolsep|で分離されます。
+% \begin{macrocode}
+\setlength\arraycolsep{5\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tabcolsep}
+% tabular環境のカラムは2|\tabcolsep|で分離されます。
+% \begin{macrocode}
+\setlength\tabcolsep{6\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\arrayrulewidth}
+% arrayとtabular環境内の罫線の幅です。
+% \begin{macrocode}
+\setlength\arrayrulewidth{.4\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doublerulesep}
+% arrayとtabular環境内の罫線間を調整する空白です。
+% \begin{macrocode}
+\setlength\doublerulesep{2\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{tabbing環境}
+%
+% \begin{macro}{\tabbingsep}
+% |\'|コマンドで置かれるスペースを制御します。
+% \begin{macrocode}
+\setlength\tabbingsep{\labelsep}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{minipage環境}
+%
+% \begin{macro}{\@mpfootins}
+% minipageにも脚注を付けることができます。
+% |\skip||\@mpfootins|は、通常の|\skip||\footins|と同じような動作をします。
+% \begin{macrocode}
+\skip\@mpfootins = \skip\footins
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{framebox環境}
+%
+% \begin{macro}{\fboxsep}
+% \begin{macro}{\fboxrule}
+% |\fboxsep|は、|\fbox|と|\framebox|での、
+% テキストとボックスの間に入る空白です。
+% |\fboxrule|は|\fbox|と|\framebox|で作成される罫線の幅です。
+% \begin{macrocode}
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{equationとeqnarray環境}
+%
+% \begin{macro}{\theequation}
+% equationカウンタは、新しい章の開始でリセットされます。
+% また、equation番号には、章番号が付きます。
+%
+% このコードは|\chapter|定義の後、より正確にはchapterカウンタの定義の後、
+% でなくてはいけません。
+% \begin{macrocode}
+%<article>\renewcommand{\theequation}{\@arabic\c@equation}
+%<*report|book>
+\@addtoreset{equation}{chapter}
+\renewcommand{\theequation}{%
+ \ifnum\c@chapter>\z@\thechapter.\fi \@arabic\c@equation}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{フォントコマンド}
+% |disablejfam|オプションが指定されていない場合には、以下の設定がなさ
+% れます。
+% まず、数式内に日本語を直接、記述するために数式記号用文字に
+% ``JY2/mc/m/n''を登録します。数式バージョンがboldの場合は、
+% ``JY2/gt/m/n''を用います。
+% これらは、|\mathmc|, |\mathgt|として登録されます。
+% また、日本語数式ファミリとして|\symmincho|がこの段階で設定されます。
+% |mathrmmc|オプションが指定されていた場合には、これに引き続き
+% |\mathrm|と|\mathbf|を和欧文両対応にするための作業がなされます。この際、
+% 他のマクロとの衝突を避けるため|\AtBeginDocument|
+% を用いて展開順序を遅らせる必要があります。
+%
+% |disablejfam|オプションが指定されていた場合には、
+% |\mathmc|と|\mathgt|に対してエラーを出すだけのダミーの定義を
+% 与える設定のみが行われます。
+%
+% \textbf{変更}
+%
+% \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
+% p\LaTeX{} 2.09
+% compatibility modeでは和文数式フォントfamが2重定義されていた
+% ので、その部分を変更しました。
+% \begin{macrocode}
+\if@enablejfam
+ \if@compatibility\else
+ \DeclareSymbolFont{mincho}{JY2}{mc}{m}{n}
+ \DeclareSymbolFontAlphabet{\mathmc}{mincho}
+ \SetSymbolFont{mincho}{bold}{JY2}{gt}{m}{n}
+ \jfam\symmincho
+ \DeclareMathAlphabet{\mathgt}{JY2}{gt}{m}{n}
+ \fi
+ \if@mathrmmc
+ \AtBeginDocument{%
+ \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
+ \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
+ }%
+ \fi
+\else
+ \DeclareRobustCommand{\mathmc}{%
+ \@latex@error{Command \noexpand\mathmc invalid with\space
+ `disablejfam' class option.}\@eha
+ }
+ \DeclareRobustCommand{\mathgt}{%
+ \@latex@error{Command \noexpand\mathgt invalid with\space
+ `disablejfam' class option.}\@eha
+ }
+\fi
+% \end{macrocode}
+%
+% ここでは\LaTeX~2.09で一般的に使われていたコマンドを定義しています。
+% これらのコマンドはテキストモードと数式モードの\emph{どちらでも}動作します。
+% これらは互換性のために提供をしますが、できるだけ|\text...|と|\math...|を
+% 使うようにしてください。
+%
+% \begin{macro}{\mc}
+% \begin{macro}{\gt}
+% \begin{macro}{\rm}
+% \begin{macro}{\sf}
+% \begin{macro}{\tt}
+% これらのコマンドはフォントファミリを変更します。
+% 互換モードの同名コマンドと異なり、すべてのコマンドがデフォルトフォントに
+% リセットしてから、対応する属性を変更することに注意してください。
+% \begin{macrocode}
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bf}
+% このコマンドはボールド書体にします。ノーマル書体に変更するには、
+% |\mdseries|と指定をします。
+% \begin{macrocode}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\it}
+% \begin{macro}{\sl}
+% \begin{macro}{\sc}
+% これらのコマンドはフォントシェイプを切替えます。
+% スラント体とスモールキャップの数式アルファベットはありませんので、
+% 数式モードでは何もしませんが、警告メッセージを出力します。
+% |\upshape|コマンドで通常のシェイプにすることができます。
+% \begin{macrocode}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\cal}
+% \begin{macro}{\mit}
+% これらのコマンドは数式モードでだけ使うことができます。
+% 数式モード以外では何もしません。
+% 現在のNFSSは、これらのコマンドが警告を生成するように定義していますので、
+% `手ずから'定義する必要があります。
+% \begin{macrocode}
+\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+% \section{相互参照}
+%
+% \subsection{目次}
+% |\section|コマンドは、\file{.toc}ファイルに、次のような行を出力します。
+%
+% |\contentsline{section}{|\meta{title}|}{|\meta{page}|}|
+%
+% \meta{title}には項目が、\meta{page}にはページ番号が入ります。
+% |\section|に見出し番号が付く場合は、\meta{title}は、
+% |\numberline{|\meta{num}|}{|\meta{heading}|}|となります。
+% \meta{num}は|\thesection|コマンドで生成された見出し番号です。
+% \meta{heading}は見出し文字列です。この他の見出しコマンドも同様です。
+%
+% figure環境での|\caption|コマンドは、\file{.lof}ファイルに、
+% 次のような行を出力します。
+%
+% |\contentsline{figure}{\numberline{|\meta{num}|}{|%
+% \meta{caption}|}}{|\meta{page}|}|
+%
+% \meta{num}は、|\thefigure|コマンドで生成された図番号です。
+% \meta{caption}は、キャプション文字列です。table環境も同様です。
+%
+% |\contentsline{|\meta{name}|}|コマンドは、|\l@|\meta{name}に展開されます。
+% したがって、目次の体裁を記述するには、|\l@chapter|, |\l@section|などを
+% 定義します。図目次のためには|\l@figure|です。
+% これらの多くのコマンドは|\@dottedtocline|コマンドで定義されています。
+% このコマンドは次のような書式となっています。
+%
+% |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|^^A
+% \meta{numwidth}|}{|\meta{title}|}{|\meta{page}|}|
+%
+% \begin{description}
+% \item[\meta{level}] ``\meta{level} $<=$ \Lcount{tocdepth}''のときにだけ、
+% 生成されます。|\chapter|はレベル0、|\section|はレベル1、$\ldots$ です。
+% \item[\meta{indent}] 一番外側からの左マージンです。
+% \item[\meta{numwidth}] 見出し番号(|\numberline|コマンドの\meta{num})が
+% 入るボックスの幅です。
+% \end{description}
+%
+% \begin{macro}{\c@tocdepth}
+% \Lcount{tocdepth}は、目次ページに出力をする見出しレベルです。
+% \begin{macrocode}
+%<article>\setcounter{tocdepth}{3}
+%<!article>\setcounter{tocdepth}{2}
+% \end{macrocode}
+% \end{macro}
+%
+% また、目次を生成するために次のパラメータも使います。
+%
+% \begin{macro}{\@pnumwidth}
+% ページ番号の入るボックスの幅です。
+% \begin{macrocode}
+\newcommand{\@pnumwidth}{1.55em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@tocrmarg}
+% 複数行にわたる場合の右マージンです。
+% \begin{macrocode}
+\newcommand{\@tocrmarg}{2.55em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@dotsep}
+% ドットの間隔(mu単位)です。2や1.7のように指定をします。
+% \begin{macrocode}
+\newcommand{\@dotsep}{4.5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\toclineskip}
+% この長さ変数は、目次項目の間に入るスペースの長さです。
+% デフォルトはゼロとなっています。縦組のとき、スペースを少し広げます。
+% \begin{macrocode}
+\newdimen\toclineskip
+%<yoko>\setlength\toclineskip{\z@}
+%<tate>\setlength\toclineskip{2\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\numberline}
+% \begin{macro}{\@lnumwidth}
+% |\numberline|マクロの定義を示します。オリジナルの定義では、ボックスの幅を
+% |\@tempdima|にしていますが、この変数はいろいろな箇所で使われますので、
+% 期待した値が入らない場合があります。
+%
+% ^^A たとえば、p\LaTeXe{}での|\selectfont|は、和欧文のベースラインを調整する
+% ^^A ために|\@tempdima|変数を用いています。そのため、|\l@...|マクロの中で
+% ^^A フォントを切替えると、|\numberline|マクロのボックス
+% ^^A の幅が、ベースラインを調整するときに計算した値になってしまいます。
+% ^^A →修正(texjporg):最近の|\adjustbaseline|では|\adjust@dimen|が使われて
+% ^^A いるため、記述をコメントアウトしました。
+%
+% フォント選択コマンドの後、あるいは|\numberline|マクロの中でフォントを
+% 切替えてもよいのですが、一時変数を意識したくないので、
+% 見出し番号の入るボックスを|\@lnumwidth|変数を用いて組み立てるように
+% |\numberline|マクロを再定義します。
+% \begin{macrocode}
+\newdimen\@lnumwidth
+\def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@dottedtocline}
+% 目次の各行間に|\toclineskip|を入れるように変更します。
+% このマクロは\file{ltsect.dtx}で定義されています。
+% \changes{v1.3}{2001/10/04}{第5引数の書体を\cs{rmfamily}から\cs{normalfont}に変更}
+% \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
+% latex/2343 (sync with ltsect.dtx v1.0z)}
+% \begin{macrocode}
+\def\@dottedtocline#1#2#3#4#5{%
+ \ifnum #1>\c@tocdepth \else
+ \vskip\toclineskip \@plus.2\p@
+ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@lnumwidth #3\relax
+ \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
+ {#4}\nobreak
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
+ \hfill\nobreak
+ \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
+ \par}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\addcontentsline}
+% 縦組の場合にページ番号を|\rensuji|で囲むように変更します。
+% ^^A 横組のときにも`|\rensuji|'コマンドが出力されますが、
+% ^^A このコマンドによる影響はありません。
+%
+% このマクロは\file{ltsect.dtx}で定義されています。
+% \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
+% (sync with ltsect.dtx 2018/09/26 v1.1c)}
+% \begin{macrocode}
+\providecommand*\protected@file@percent{}
+\def\addcontentsline#1#2#3{%
+ \protected@write\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
+%<tate> \@temptokena{\rensuji{\thepage}}}%
+%<yoko> \@temptokena{\thepage}}%
+ {\string\@writefile{#1}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}%
+ \protected@file@percent}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{本文目次}
+%
+% \begin{macro}{\tableofcontents}
+% 目次を生成します。
+% \begin{macrocode}
+\newcommand{\tableofcontents}{%
+%<*report|book>
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+%</report|book>
+%<article> \section*{\contentsname
+%<!article> \chapter*{\contentsname
+% \end{macrocode}
+% |\tableofcontents|では、|\@mkboth|はheadingの中に入れてあります。
+% ほかの命令(|\listoffigures|など)については、|\@mkboth|はheadingの
+% 外に出してあります。これは\LaTeX の\file{classes.dtx}に合わせています。
+% \begin{macrocode}
+ \@mkboth{\contentsname}{\contentsname}%
+ }\@starttoc{toc}%
+%<report|book> \if@restonecol\twocolumn\fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@part}
+% partレベルの目次です。
+% \begin{macrocode}
+\newcommand*{\l@part}[2]{%
+ \ifnum \c@tocdepth >-2\relax
+%<article> \addpenalty{\@secpenalty}%
+%<!article> \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \parindent\z@\rightskip\@pnumwidth
+ \parfillskip-\@pnumwidth
+ {\leavevmode\large\bfseries
+ \setlength\@lnumwidth{4zw}%
+ #1\hfil\nobreak
+ \hb@xt@\@pnumwidth{\hss#2}}\par
+ \nobreak
+%<article> \if@compatibility
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+%<article> \fi
+ \endgroup
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@chapter}
+% chapterレベルの目次です。
+% \begin{macrocode}
+%<*report|book>
+\newcommand*{\l@chapter}[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \addvspace{1.0em \@plus\p@}%
+ \begingroup
+ \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
+ \leavevmode\bfseries
+ \setlength\@lnumwidth{4zw}%
+ \advance\leftskip\@lnumwidth \hskip-\leftskip
+ #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@section}
+% sectionレベルの目次です。
+% \begin{macrocode}
+%<*article>
+\newcommand*{\l@section}[2]{%
+ \ifnum \c@tocdepth >\z@
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em \@plus\p@}%
+ \begingroup
+ \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
+ \leavevmode\bfseries
+ \setlength\@lnumwidth{1.5em}%
+ \advance\leftskip\@lnumwidth \hskip-\leftskip
+ #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
+ \endgroup
+ \fi}
+%</article>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*report|book>
+%<tate>\newcommand*{\l@section}{\@dottedtocline{1}{1zw}{4zw}}
+%<yoko>\newcommand*{\l@section}{\@dottedtocline{1}{1.5em}{2.3em}}
+%</report|book>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@subsection}
+% \begin{macro}{\l@subsubsection}
+% \begin{macro}{\l@paragraph}
+% \begin{macro}{\l@subparagraph}
+% 下位レベルの目次項目の体裁です。
+% \begin{macrocode}
+%<*tate>
+%<*article>
+\newcommand*{\l@subsection} {\@dottedtocline{2}{1zw}{4zw}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{2zw}{6zw}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{3zw}{8zw}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{4zw}{9zw}}
+%</article>
+%<*report|book>
+\newcommand*{\l@subsection} {\@dottedtocline{2}{2zw}{6zw}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{3zw}{8zw}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{4zw}{9zw}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{5zw}{10zw}}
+%</report|book>
+%</tate>
+%<*yoko>
+%<*article>
+\newcommand*{\l@subsection} {\@dottedtocline{2}{1.5em}{2.3em}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{3.8em}{3.2em}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{7.0em}{4.1em}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{10em}{5em}}
+%</article>
+%<*report|book>
+\newcommand*{\l@subsection} {\@dottedtocline{2}{3.8em}{3.2em}}
+\newcommand*{\l@subsubsection}{\@dottedtocline{3}{7.0em}{4.1em}}
+\newcommand*{\l@paragraph} {\@dottedtocline{4}{10em}{5em}}
+\newcommand*{\l@subparagraph} {\@dottedtocline{5}{12em}{6em}}
+%</report|book>
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{図目次と表目次}
+%
+% \begin{macro}{\listoffigures}
+% 図の一覧を作成します。
+% \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
+% arg (sync with classes.dtx v1.4c)}
+% \begin{macrocode}
+\newcommand{\listoffigures}{%
+%<*report|book>
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\listfigurename}%
+%</report|book>
+%<article> \section*{\listfigurename}%
+ \@mkboth{\listfigurename}{\listfigurename}%
+ \@starttoc{lof}%
+%<report|book> \if@restonecol\twocolumn\fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@figure}
+% 図目次の体裁です。
+% \begin{macrocode}
+%<tate>\newcommand*{\l@figure}{\@dottedtocline{1}{1zw}{4zw}}
+%<yoko>\newcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.3em}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\listoftables}
+% \changes{v1.0c}{1995/12/28}{fix the \cs{listoftable} typo.}
+% 表の一覧を作成します。
+% \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
+% arg (sync with classes.dtx v1.4c)}
+% \begin{macrocode}
+\newcommand{\listoftables}{%
+%<*report|book>
+ \if@twocolumn\@restonecoltrue\onecolumn
+ \else\@restonecolfalse\fi
+ \chapter*{\listtablename}%
+%</report|book>
+%<article> \section*{\listtablename}%
+ \@mkboth{\listtablename}{\listtablename}%
+ \@starttoc{lot}%
+%<report|book> \if@restonecol\twocolumn\fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@table}
+% 表目次の体裁は、図目次と同じにします。
+% \begin{macrocode}
+\let\l@table\l@figure
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{参考文献}
+%
+% \begin{macro}{\bibindent}
+% オープンスタイルの参考文献で使うインデント幅です。
+% \begin{macrocode}
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\newblock}
+% |\newblock|のデフォルト定義は、小さなスペースを生成します。
+% \begin{macrocode}
+\newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{thebibliography}
+% 参考文献や関連図書のリストを作成します。
+% \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
+% arg (sync with classes.dtx v1.4c)}
+% \begin{macrocode}
+\newenvironment{thebibliography}[1]
+%<article>{\section*{\refname}\@mkboth{\refname}{\refname}%
+%<report|book>{\chapter*{\bibname}\@mkboth{\bibname}{\bibname}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+% \end{macrocode}
+% \changes{v1.1a}{1997/01/23}{\break\LaTeX\ \texttt{!<1996/12/01!>}に合わせて修正}
+% \begin{macrocode}
+ \clubpenalty4000
+ \@clubpenalty\clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\@openbib@code}
+% |\@openbib@code|のデフォルト定義は何もしません。
+% この定義は、\Lopt{openbib}オプションによって変更されます。
+% \begin{macrocode}
+\let\@openbib@code\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@biblabel}
+% The label for a |\bibitem[...]| command is produced by this
+% macro. The default from \file{latex.dtx} is used.
+% \begin{macrocode}
+% \renewcommand*{\@biblabel}[1]{[#1]\hfill}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@cite}
+% The output of the |\cite| command is produced by this macro. The
+% default from \file{ltbibl.dtx} is used.
+% \begin{macrocode}
+% \renewcommand*{\@cite}[1]{[#1]}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{索引}
+%
+% \begin{environment}{theindex}
+% 2段組の索引を作成します。
+% 索引の先頭のページのスタイルは\pstyle{jpl@in}とします。したがって、
+% \pstyle{headings}と\pstyle{bothstyle}に適した位置に出力されます。
+% \begin{macrocode}
+\newenvironment{theindex}
+ {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
+%<article> \twocolumn[\section*{\indexname}]%
+%<report|book> \twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\indexname}{\indexname}%
+ \thispagestyle{jpl@in}\parindent\z@
+% \end{macrocode}
+% パラメータ|\columnseprule|と|\columnsep|の変更は、|\twocolumn|が
+% 実行された後でなければなりません。そうしないと、索引の前のページ
+% にも影響してしまうためです。
+% \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
+% 変更を後ろに移動(sync with classes.dtx v1.4f)}
+% \begin{macrocode}
+ \parskip\z@ \@plus .3\p@\relax
+ \columnseprule\z@ \columnsep 35\p@
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\@idxitem}
+% \begin{macro}{\subitem}
+% \begin{macro}{\subsubitem}
+% 索引項目の字下げ幅です。|\@idxitem|は|\item|の項目の字下げ幅です。
+% \begin{macrocode}
+\newcommand{\@idxitem}{\par\hangindent 40\p@}
+\newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
+\newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\indexspace}
+% 索引の``文字''見出しの前に入るスペースです。
+% \begin{macrocode}
+\newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{脚注}
+%
+% \begin{macro}{\footnoterule}
+% 本文と脚注の間に引かれる罫線です。
+% \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
+% \begin{macrocode}
+\renewcommand{\footnoterule}{%
+ \kern-3\p@
+ \hrule\@width.4\columnwidth
+ \kern2.6\p@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@footnote}
+% reportとbookクラスでは、chapterレベルでリセットされます。
+% \begin{macrocode}
+%<!article>\@addtoreset{footnote}{chapter}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@makefntext}
+% このマクロにしたがって脚注が組まれます。
+%
+% |\@makefnmark|は脚注記号を組み立てるマクロです。
+% \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
+% \cs{hb@xt@} (sync with classes.dtx v1.3a)}
+% \begin{macrocode}
+%<*tate>
+\newcommand\@makefntext[1]{\parindent 1zw
+ \noindent\hb@xt@ 2zw{\hss\@makefnmark}#1}
+%</tate>
+%<*yoko>
+\newcommand\@makefntext[1]{\parindent 1em
+ \noindent\hb@xt@ 1.8em{\hss\@makefnmark}#1}
+%</yoko>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{今日の日付}
+% 組版時における現在の日付を出力します。
+%
+% \iffalse meta-comment!
+% 注意:ここで \DisableCrossrefs, \EnableCrossrefs をしているのは、
+% platex jclasses.dtx で dvi を作るときにエラーになるため。
+% \fi
+% \DisableCrossrefs
+% \begin{macro}{\if西暦}
+% \begin{macro}{\西暦}
+% \begin{macro}{\和暦}
+% \changes{v1.0h}{1996/12/17}{Typo:和歴 to 和暦}
+% |\today|コマンドの`年'を、
+% 西暦か和暦のどちらで出力するかを指定するコマンドです。
+% 2018年7月以降の日本語\TeX{}開発コミュニティ版(v1.8)では、
+% デフォルトを和暦ではなく西暦に設定しています。
+% \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
+% \begin{macrocode}
+\newif\if西暦 \西暦true
+\def\西暦{\西暦true}
+\def\和暦{\西暦false}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \EnableCrossrefs
+%
+% \begin{macro}{\heisei}
+% \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
+% \changes{v1.8b}{2019/04/02}{\cs{heisei}の値は$\mbox{西暦}-1988$で固定}
+% |\today|コマンドを|\rightmark|で指定したとき、|\rightmark|を出力する部分
+% で和暦のための計算ができないので、クラスファイルを読み込む時点で計算して
+% おきます。
+% \begin{macrocode}
+\newcount\heisei \heisei\year \advance\heisei-1988\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\today}
+% \begin{macro}{\pltx@today@year}
+% \changes{v1.8b}{2019/04/02}{\cs{today}の計算・出力方法を変更。}
+% 縦組の場合は、漢数字で出力します
+% \pLaTeX\ 2018-12-01以前では縦数式ディレクション時でも漢数字で出力していましたが、
+% \pLaTeX\ 2019-04-06以降からはそうしなくなりました。
+% \begin{macrocode}
+\def\pltx@today@year@#1{%
+ \ifnum\numexpr\year-#1=1 元\else
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
+ \kansuji\number\numexpr\year-#1\relax
+ \else
+ \number\numexpr\year-#1\relax\nobreak
+ \fi
+ \fi 年
+}
+\def\pltx@today@year{%
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
+ 昭和\pltx@today@year@{1925}%
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
+ 平成\pltx@today@year@{1988}%
+ \else
+ 令和\pltx@today@year@{2018}%
+ \fi\fi}
+\def\today{{%
+ \if西暦
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi\kansuji\number\year
+ \else\number\year\nobreak\fi 年
+ \else
+ \pltx@today@year
+ \fi
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
+ \kansuji\number\month 月
+ \kansuji\number\day 日
+ \else
+ \number\month\nobreak 月
+ \number\day\nobreak 日
+ \fi}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+%
+% \section{初期設定}
+%
+% \begin{macro}{\prepartname}
+% \begin{macro}{\postpartname}
+% \begin{macro}{\prechaptername}
+% \begin{macro}{\postchaptername}
+% \begin{macrocode}
+\newcommand{\prepartname}{第}
+\newcommand{\postpartname}{部}
+%<report|book>\newcommand{\prechaptername}{第}
+%<report|book>\newcommand{\postchaptername}{章}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\contentsname}
+% \begin{macro}{\listfigurename}
+% \begin{macro}{\listtablename}
+% \begin{macrocode}
+\newcommand{\contentsname}{目 次}
+\newcommand{\listfigurename}{図 目 次}
+\newcommand{\listtablename}{表 目 次}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\refname}
+% \begin{macro}{\bibname}
+% \begin{macro}{\indexname}
+% \begin{macrocode}
+%<article>\newcommand{\refname}{参考文献}
+%<report|book>\newcommand{\bibname}{関連図書}
+\newcommand{\indexname}{索 引}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\figurename}
+% \begin{macro}{\tablename}
+% \begin{macrocode}
+\newcommand{\figurename}{図}
+\newcommand{\tablename}{表}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\appendixname}
+% \begin{macro}{\abstractname}
+% \begin{macrocode}
+\newcommand{\appendixname}{付 録}
+%<article|report>\newcommand{\abstractname}{概 要}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \changes{v1.0d}{1996/02/29}{articleとreportのデフォルトを
+% \pstyle{plain}に修正}
+% \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
+% \begin{macrocode}
+%<book>\pagestyle{headings}
+%<!book>\pagestyle{plain}
+\pagenumbering{arabic}
+\raggedbottom
+\if@twocolumn
+ \twocolumn
+ \sloppy
+\else
+ \onecolumn
+\fi
+% \end{macrocode}
+% |\@mparswitch|は傍注を左右(縦組では上下)どちらのマージンに
+% 出力するかの指定です。偽の場合、傍注は一方の側にしか出力されません。
+% このスイッチを真とすると、とくに縦組の場合、奇数ページでは本文の上に、
+% 偶数ページでは本文の下に傍注が出力されますので、おかしなことになります。
+%
+% また、縦組のときには、傍注を本文の下に出すようにしています。
+% |\reversemarginpar|とすると本文の上側に出力されます。
+% ただし、二段組の場合は、つねに隣接するテキスト側のマージンに出力されます。
+% \begin{macrocode}
+%<*tate>
+\normalmarginpar
+\@mparswitchfalse
+%</tate>
+%<*yoko>
+\if@twoside
+ \@mparswitchtrue
+\else
+ \@mparswitchfalse
+\fi
+%</yoko>
+%</article|report|book>
+% \end{macrocode}
+%
+%
+%
+% \Finale
+%
+\endinput
diff --git a/language/japanese/uplatex/ukinsoku.dtx b/language/japanese/uplatex/ukinsoku.dtx
new file mode 100644
index 0000000000..6fe076ff02
--- /dev/null
+++ b/language/japanese/uplatex/ukinsoku.dtx
@@ -0,0 +1,590 @@
+% \iffalse meta-comment
+%% File: ukinsoku.dtx
+%
+% pLaTeX kinsoku file:
+% Copyright 1995 ASCII Corporation.
+% and modified for upLaTeX
+%
+% Copyright (c) 2010 ASCII MEDIA WORKS
+% Copyright (c) 2016 Takuji Tanaka
+% Copyright (c) 2016-2019 Japanese TeX Development Community
+%
+% This file is part of the upLaTeX2e system (community edition).
+% --------------------------------------------------------------
+%
+% \fi
+%
+%
+% \setcounter{StandardModuleDepth}{1}
+% \StopEventually{}
+%
+% \iffalse
+% \changes{v1.0-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
+% \changes{v1.0-u01}{2017/08/02}{U+00B7 (MIDDLE DOT; JIS X 0213)の
+% 前禁則ペナルティをU+30FBと同じ値に設定、注意点を明文化}
+% \changes{v1.0b}{2017/08/05}{%、&、\%、\&の禁則ペナルティが
+% 誤っていたのを修正(post $\rightarrow$ pre)}
+% \changes{v1.0b-u01}{2017/08/05}{p\LaTeX{}の変更に追随}
+% \changes{v1.0b-u02}{2018/01/27}{up\TeX{}の将来の変更に備え、
+% Latin-1 Supplementのうち属性がLatinのもの
+% (Latin-1 letters)をコードポイントで指定}
+% \changes{v1.0b-u03}{2018/04/08}{\LaTeX\ 2018-04-01対策}
+% \changes{v1.0b-u04}{2019/01/29}{内部Unicode化されていることを確認}
+% \changes{v1.0b-u05}{2019/05/19}{up\TeX~v1.24の\cs{kcatcode}の既定値のバグ回避}
+% \fi
+%
+% \iffalse
+%<*driver>
+\NeedsTeXFormat{pLaTeX2e}
+% \fi
+\ProvidesFile{ukinsoku.dtx}[2019/05/19 v1.0b-u05 upLaTeX Kernel]
+% \iffalse
+\documentclass{jltxdoc}
+\GetFileInfo{ukinsoku.dtx}
+\title{禁則パラメータ\space\fileversion}
+\author{Ken Nakano \& TTK}
+\date{作成日:\filedate}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% このファイルは、禁則と文字間スペースの設定について説明をしています。
+% 日本語\TeX{}の機能についての詳細は、『日本語\TeX テクニカルブックI』を
+% 参照してください。
+%
+% なお、このファイルのコード部分は、
+% p\TeX{}やp\LaTeX{}で配布されている\file{kinsoku.tex}に、
+% JIS X 0213の定義文字などの設定を追加したものです。
+% このファイルは内部コードUnicode (|uptex|)なup\TeX{}エンジンで読まれる
+% 必要があります。
+% \changes{v1.0-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
+% \changes{v1.0b-u04}{2019/01/29}{内部コードがUnicodeであることを確認}
+%
+% \begin{macrocode}
+%<*plcore>
+\ifnum\ucs"3000="3000 \else
+ \errhelp{Please try to run (e)uptex with option
+ `-kanji-internal=uptex'.}%
+ \errmessage{This file should be read with
+ internal Kanji encoding Unicode}\@@end
+\fi
+% \end{macrocode}
+%
+% up\TeX~v1.24で``Halfwidth and Fullwidth Forms''のブロックの|\kcatcode|の既定値に
+% バグが入ったため、回避策を講じます(このバグはv1.25で修正済み)。
+% \changes{v1.0b-u05}{2019/05/19}{up\TeX~v1.24の\cs{kcatcode}の既定値のバグ回避}
+% \begin{macrocode}
+%%
+%% default kcatcode, workaround for upTeX 1.24
+\edef\upTeXVersionNumber{\the\uptexversion\uptexrevision}%
+\def\upTeXRevIpXXIV{1.24}%
+\ifx\upTeXVersionNumber\upTeXRevIpXXIV
+ \kcatcode"FF00=16% Halfwidth and Fullwidth Forms -> 16(kanji)
+ \message{### special kcatcode setting to work around for upTeX 1.24 ###}
+\fi
+\let\upTeXVersionNumber\relax
+\let\upTeXRevIpXXIV\relax
+% \end{macrocode}
+%
+% \section{禁則}
+%
+% ある文字を行頭禁則の対象にするには、|\prebreakpenalty|に正の値を指定します。
+% ある文字を行末禁則の対象にするには、|\postbreakpenalty|に正の値を指定します。
+% 数値が大きいほど、行頭、あるいは行末で改行されにくくなります。
+%
+% \subsection{半角文字に対する禁則}
+% ここでは、半角文字に対する禁則の設定を行なっています。
+% \changes{v1.0b}{2017/08/05}{%、&、\%、\&の禁則ペナルティが
+% 誤っていたのを修正(post $\rightarrow$ pre)}
+%
+% \begin{macrocode}
+%%
+%% 行頭、行末禁則パラメータ
+%%
+%% 1byte characters
+\prebreakpenalty`!=10000
+\prebreakpenalty`"=10000
+\postbreakpenalty`\#=500
+\postbreakpenalty`\$=500
+\prebreakpenalty`\%=500
+\prebreakpenalty`\&=500
+\postbreakpenalty`\`=10000
+\prebreakpenalty`'=10000
+\prebreakpenalty`)=10000
+\postbreakpenalty`(=10000
+\prebreakpenalty`*=500
+\prebreakpenalty`+=500
+\prebreakpenalty`-=10000
+\prebreakpenalty`.=10000
+\prebreakpenalty`,=10000
+\prebreakpenalty`/=500
+\prebreakpenalty`;=10000
+\prebreakpenalty`?=10000
+\prebreakpenalty`:=10000
+\prebreakpenalty`]=10000
+\postbreakpenalty`[=10000
+% \end{macrocode}
+%
+% \subsection{全角文字に対する禁則}
+% ここでは、全角文字に対する禁則の設定を行なっています。
+%
+% up\TeX{}/up\LaTeX{}の場合、JIS X 0213(日本)・KS C 5601(韓国)・
+% GB2312(中国)・Big5(台湾)などの文字集合に含まれる、
+% いわゆる全角文字の一部が、8-bit Latinと同じコードポイントを
+% 共有します。すなわち、同じコードポイントが、CJKトークンとしても
+% non-CJKトークンとしても有効に扱われることがあります。
+% 以下に例を示します\footnote{ここで表示しているnon-CJKトークンと
+% して扱われた結果は、up\LaTeX{}のデフォルト従属欧文エンコーディング
+% であるT1の場合のものです。}。
+% {\font\lmr=rm-lmr10\lmr
+% \begin{itemize}
+% \item \texttt{0xA1}: \kchar"A1 (CJK) vs. \char"A1\ (non-CJK)
+% \item \texttt{0xAB}: \kchar"AB (CJK) vs. \char"AB\ (non-CJK)
+% \item \texttt{0xB7}: \kchar"B7 (CJK) vs. \char"B7\ (non-CJK)
+% \item \texttt{0xB9}: \kchar"B9 (CJK) vs. \char"B9\ (non-CJK)
+% \item …
+% \end{itemize}}
+% \file{ukinsoku.tex}ではCJKトークンを優先した禁則設定を行っています。
+% この設定により、同じコードポイントをnon-CJKトークンとして扱う場合に
+% 予期せずLatin-1の文字が禁則対象になってしまいます。
+% 問題が起きた場合は禁則の設定を調整してください。
+% \changes{v1.0-u01}{2017/08/02}{U+00B7 (MIDDLE DOT; JIS X 0213)の
+% 前禁則ペナルティをU+30FBと同じ値に設定、注意点を明文化}
+% \changes{v1.0b-u02}{2018/01/27}{up\TeX{}の将来の変更に備え、
+% Latin-1 Supplementのうち属性がLatinのもの
+% (Latin-1 letters)をコードポイントで指定}
+%
+% なお、以下で複数回登場する |"AA| と |"BA| はそれぞれªとºですが、
+% \LaTeXe\ 2018-04-01でUTF-8入力になった影響で、これらの文字は
+% |macrocode| 環境内のコードに(たとえ |%| に続くコメントであっても)
+% 書けなくなってしまったようです。これらの文字で
+% docstrip処理中にエラー
+%\begin{verbatim}
+% ! Argument of \@font@info has an extra }.
+%\end{verbatim}
+% が出ないように、コメントからも削除しました。
+% \changes{v1.0b-u03}{2018/04/08}{\LaTeX\ 2018-04-01対策}
+%
+% \begin{macrocode}
+%%全角文字
+\prebreakpenalty`、=10000
+\prebreakpenalty`。=10000
+\prebreakpenalty`,=10000
+\prebreakpenalty`.=10000
+\prebreakpenalty`・=10000
+\prebreakpenalty`:=10000
+\prebreakpenalty`;=10000
+\prebreakpenalty`?=10000
+\prebreakpenalty`!=10000
+\prebreakpenalty`゛=10000%\jis"212B
+\prebreakpenalty`゜=10000%\jis"212C
+\prebreakpenalty`´=10000%\jis"212D
+\postbreakpenalty``=10000%\jis"212E
+\prebreakpenalty`々=10000%\jis"2139
+\prebreakpenalty`…=250%\jis"2144
+\prebreakpenalty`‥=250%\jis"2145
+\postbreakpenalty`‘=10000%\jis"2146
+\prebreakpenalty`’=10000%\jis"2147
+\postbreakpenalty`“=10000%\jis"2148
+\prebreakpenalty`”=10000%\jis"2149
+\prebreakpenalty`)=10000
+\postbreakpenalty`(=10000
+\prebreakpenalty`}=10000
+\postbreakpenalty`{=10000
+\prebreakpenalty`]=10000
+\postbreakpenalty`[=10000
+%%\postbreakpenalty`‘=10000
+%%\prebreakpenalty`’=10000
+\postbreakpenalty`〔=10000%\jis"214C
+\prebreakpenalty`〕=10000%\jis"214D
+\postbreakpenalty`〈=10000%\jis"2152
+\prebreakpenalty`〉=10000%\jis"2153
+\postbreakpenalty`《=10000%\jis"2154
+\prebreakpenalty`》=10000%\jis"2155
+\postbreakpenalty`「=10000%\jis"2156
+\prebreakpenalty`」=10000%\jis"2157
+\postbreakpenalty`『=10000%\jis"2158
+\prebreakpenalty`』=10000%\jis"2159
+\postbreakpenalty`【=10000%\jis"215A
+\prebreakpenalty`】=10000%\jis"215B
+\prebreakpenalty`ー=10000
+\prebreakpenalty`+=200
+\prebreakpenalty`−=200% U+2212 MINUS SIGN
+\prebreakpenalty`-=200% U+FF0D FULLWIDTH HYPHEN-MINUS
+\prebreakpenalty`==200
+\postbreakpenalty`#=200
+\postbreakpenalty`$=200
+\prebreakpenalty`%=200
+\prebreakpenalty`&=200
+\prebreakpenalty`ぁ=150
+\prebreakpenalty`ぃ=150
+\prebreakpenalty`ぅ=150
+\prebreakpenalty`ぇ=150
+\prebreakpenalty`ぉ=150
+\prebreakpenalty`っ=150
+\prebreakpenalty`ゃ=150
+\prebreakpenalty`ゅ=150
+\prebreakpenalty`ょ=150
+\prebreakpenalty`ゎ=150%\jis"246E
+\prebreakpenalty`ァ=150
+\prebreakpenalty`ィ=150
+\prebreakpenalty`ゥ=150
+\prebreakpenalty`ェ=150
+\prebreakpenalty`ォ=150
+\prebreakpenalty`ッ=150
+\prebreakpenalty`ャ=150
+\prebreakpenalty`ュ=150
+\prebreakpenalty`ョ=150
+\prebreakpenalty`ヮ=150%\jis"256E
+\prebreakpenalty`ヵ=150%\jis"2575
+\prebreakpenalty`ヶ=150%\jis"2576
+%% kinsoku JIS X 0208 additional
+\prebreakpenalty`ヽ=10000
+\prebreakpenalty`ヾ=10000
+\prebreakpenalty`ゝ=10000
+\prebreakpenalty`ゞ=10000
+%%
+%% kinsoku JIS X 0213
+%%
+\prebreakpenalty`〳=10000
+\prebreakpenalty`〴=10000
+\prebreakpenalty`〵=10000
+\prebreakpenalty`〻=10000
+\postbreakpenalty`⦅=10000
+\prebreakpenalty`⦆=10000
+\postbreakpenalty`⦅=10000
+\prebreakpenalty`⦆=10000
+\postbreakpenalty`〘=10000
+\prebreakpenalty`〙=10000
+\postbreakpenalty`〖=10000
+\prebreakpenalty`〗=10000
+\postbreakpenalty`«=10000
+\prebreakpenalty`»=10000
+\postbreakpenalty`〝=10000
+\prebreakpenalty`〟=10000
+\prebreakpenalty`‼=10000
+\prebreakpenalty`⁇=10000
+\prebreakpenalty`⁈=10000
+\prebreakpenalty`⁉=10000
+\postbreakpenalty`¡=10000
+\postbreakpenalty`¿=10000
+\prebreakpenalty`ː=10000
+\prebreakpenalty`·=10000
+\prebreakpenalty"AA=10000
+\prebreakpenalty"BA=10000
+\prebreakpenalty`¹=10000
+\prebreakpenalty`²=10000
+\prebreakpenalty`³=10000
+\postbreakpenalty`€=10000
+\prebreakpenalty`ゕ=150
+\prebreakpenalty`ゖ=150
+\prebreakpenalty`ㇰ=150
+\prebreakpenalty`ㇱ=150
+\prebreakpenalty`ㇲ=150
+\prebreakpenalty`ㇳ=150
+\prebreakpenalty`ㇴ=150
+\prebreakpenalty`ㇵ=150
+\prebreakpenalty`ㇶ=150
+\prebreakpenalty`ㇷ=150
+\prebreakpenalty`ㇸ=150
+\prebreakpenalty`ㇹ=150
+%%\prebreakpenalty`ㇷ゚=150
+\prebreakpenalty`ㇺ=150
+\prebreakpenalty`ㇻ=150
+\prebreakpenalty`ㇼ=150
+\prebreakpenalty`ㇽ=150
+\prebreakpenalty`ㇾ=150
+\prebreakpenalty`ㇿ=150
+%%
+%% kinsoku JIS X 0212
+%%
+%%\postbreakpenalty`¡=10000
+%%\postbreakpenalty`¿=10000
+%%\prebreakpenalty"BA=10000
+%%\prebreakpenalty"AA=10000
+\prebreakpenalty`™=10000
+%%
+%% kinsoku 半角片仮名
+%%
+\prebreakpenalty`。=10000
+\prebreakpenalty`、=10000
+\prebreakpenalty`゙=10000
+\prebreakpenalty`゚=10000
+\prebreakpenalty`」=10000
+\postbreakpenalty`「=10000
+% \end{macrocode}
+%
+% \section{文字間のスペース}
+%
+% ある英字の前後と、その文字に隣合う漢字に挿入されるスペースを制御するには、
+% |\xspcode|を用います。
+%
+% ある漢字の前後と、その文字に隣合う英字に挿入されるスペースを制御するには、
+% |\inhibitxspcode|を用います。
+%
+% \subsection{ある英字と前後の漢字の間の制御}
+% ここでは、英字に対する設定を行なっています。
+%
+% 指定する数値とその意味は次のとおりです。
+%
+% \begin{center}
+% \begin{tabular}{ll}
+% 0 & 前後の漢字の間での処理を禁止する。\\
+% 1 & 直前の漢字との間にのみ、スペースの挿入を許可する。\\
+% 2 & 直後の漢字との間にのみ、スペースの挿入を許可する。\\
+% 3 & 前後の漢字との間でのスペースの挿入を許可する。\\
+% \end{tabular}
+% \end{center}
+%
+% \begin{macrocode}
+%%
+%% xspcode
+\xspcode`(=1
+\xspcode`)=2
+\xspcode`[=1
+\xspcode`]=2
+\xspcode``=1
+\xspcode`'=2
+\xspcode`;=2
+\xspcode`,=2
+\xspcode`.=2
+%% for 8bit Latin
+\xspcode"80=3
+\xspcode"81=3
+\xspcode"82=3
+\xspcode"83=3
+\xspcode"84=3
+\xspcode"85=3
+\xspcode"86=3
+\xspcode"87=3
+\xspcode"88=3
+\xspcode"89=3
+\xspcode"8A=3
+\xspcode"8B=3
+\xspcode"8C=3
+\xspcode"8D=3
+\xspcode"8E=3
+\xspcode"8F=3
+\xspcode"90=3
+\xspcode"91=3
+\xspcode"92=3
+\xspcode"93=3
+\xspcode"94=3
+\xspcode"95=3
+\xspcode"96=3
+\xspcode"97=3
+\xspcode"98=3
+\xspcode"99=3
+\xspcode"9A=3
+\xspcode"9B=3
+\xspcode"9C=3
+\xspcode"9D=3
+\xspcode"9E=3
+\xspcode"9F=3
+\xspcode"A0=3
+\xspcode"A1=3
+\xspcode"A2=3
+\xspcode"A3=3
+\xspcode"A4=3
+\xspcode"A5=3
+\xspcode"A6=3
+\xspcode"A7=3
+\xspcode"A8=3
+\xspcode"A9=3
+\xspcode"AA=3
+\xspcode"AB=3
+\xspcode"AC=3
+\xspcode"AD=3
+\xspcode"AE=3
+\xspcode"AF=3
+\xspcode"B0=3
+\xspcode"B1=3
+\xspcode"B2=3
+\xspcode"B3=3
+\xspcode"B4=3
+\xspcode"B5=3
+\xspcode"B6=3
+\xspcode"B7=3
+\xspcode"B8=3
+\xspcode"B9=3
+\xspcode"BA=3
+\xspcode"BB=3
+\xspcode"BC=3
+\xspcode"BD=3
+\xspcode"BE=3
+\xspcode"BF=3
+\xspcode"C0=3
+\xspcode"C1=3
+\xspcode"C2=3
+\xspcode"C3=3
+\xspcode"C4=3
+\xspcode"C5=3
+\xspcode"C6=3
+\xspcode"C7=3
+\xspcode"C8=3
+\xspcode"C9=3
+\xspcode"CA=3
+\xspcode"CB=3
+\xspcode"CC=3
+\xspcode"CD=3
+\xspcode"CE=3
+\xspcode"CF=3
+\xspcode"D0=3
+\xspcode"D1=3
+\xspcode"D2=3
+\xspcode"D3=3
+\xspcode"D4=3
+\xspcode"D5=3
+\xspcode"D6=3
+\xspcode"D7=3
+\xspcode"D8=3
+\xspcode"D9=3
+\xspcode"DA=3
+\xspcode"DB=3
+\xspcode"DC=3
+\xspcode"DD=3
+\xspcode"DE=3
+\xspcode"DF=3
+\xspcode"E0=3
+\xspcode"E1=3
+\xspcode"E2=3
+\xspcode"E3=3
+\xspcode"E4=3
+\xspcode"E5=3
+\xspcode"E6=3
+\xspcode"E7=3
+\xspcode"E8=3
+\xspcode"E9=3
+\xspcode"EA=3
+\xspcode"EB=3
+\xspcode"EC=3
+\xspcode"ED=3
+\xspcode"EE=3
+\xspcode"EF=3
+\xspcode"F0=3
+\xspcode"F1=3
+\xspcode"F2=3
+\xspcode"F3=3
+\xspcode"F4=3
+\xspcode"F5=3
+\xspcode"F6=3
+\xspcode"F7=3
+\xspcode"F8=3
+\xspcode"F9=3
+\xspcode"FA=3
+\xspcode"FB=3
+\xspcode"FC=3
+\xspcode"FD=3
+\xspcode"FE=3
+\xspcode"FF=3
+% \end{macrocode}
+%
+% \subsection{ある漢字と前後の英字の間の制御}
+% ここでは、漢字に対する設定を行なっています。
+%
+% 指定する数値とその意味は次のとおりです。
+%
+% \begin{center}
+% \begin{tabular}{ll}
+% 0 & 前後の英字との間にスペースを挿入することを禁止する。\\
+% 1 & 直前の英字との間にスペースを挿入することを禁止する。\\
+% 2 & 直後の英字との間にスペースを挿入することを禁止する。\\
+% 3 & 前後の英字との間でのスペースの挿入を許可する。\\
+% \end{tabular}
+% \end{center}
+%
+% \begin{macrocode}
+%%
+%% inhibitxspcode
+\inhibitxspcode`、=1
+\inhibitxspcode`。=1
+\inhibitxspcode`,=1
+\inhibitxspcode`.=1
+\inhibitxspcode`;=1
+\inhibitxspcode`?=1
+\inhibitxspcode`)=1
+\inhibitxspcode`(=2
+\inhibitxspcode`]=1
+\inhibitxspcode`[=2
+\inhibitxspcode`}=1
+\inhibitxspcode`{=2
+\inhibitxspcode`‘=2
+\inhibitxspcode`’=1
+\inhibitxspcode`“=2
+\inhibitxspcode`”=1
+\inhibitxspcode`〔=2
+\inhibitxspcode`〕=1
+\inhibitxspcode`〈=2
+\inhibitxspcode`〉=1
+\inhibitxspcode`《=2
+\inhibitxspcode`》=1
+\inhibitxspcode`「=2
+\inhibitxspcode`」=1
+\inhibitxspcode`『=2
+\inhibitxspcode`』=1
+\inhibitxspcode`【=2
+\inhibitxspcode`】=1
+\inhibitxspcode`—=0% U+2014 EM DASH
+\inhibitxspcode`―=0% U+2015 HORIZONTAL BAR
+\inhibitxspcode`〜=0% U+301C WAVE DASH
+\inhibitxspcode`~=0% U+FF5E FULLWIDTH TILDE
+\inhibitxspcode`…=0
+\inhibitxspcode`¥=0% U+00A5 YEN SIGN
+\inhibitxspcode`¥=0% U+FFE5 FULLWIDTH YEN SIGN
+\inhibitxspcode`°=1
+\inhibitxspcode`′=1
+\inhibitxspcode`″=1
+%%
+%% inhibitxspcode JIS X 0213
+%%
+\inhibitxspcode`⦅=2
+\inhibitxspcode`⦆=1
+\inhibitxspcode`⦅=2
+\inhibitxspcode`⦆=1
+\inhibitxspcode`〘=2
+\inhibitxspcode`〙=1
+\inhibitxspcode`〖=2
+\inhibitxspcode`〗=1
+\inhibitxspcode`«=2
+\inhibitxspcode`»=1
+\inhibitxspcode`〝=2
+\inhibitxspcode`〟=1
+\inhibitxspcode`‼=1
+\inhibitxspcode`⁇=1
+\inhibitxspcode`⁈=1
+\inhibitxspcode`⁉=1
+\inhibitxspcode`¡=2
+\inhibitxspcode`¿=2
+\inhibitxspcode"AA=1
+\inhibitxspcode"BA=1
+\inhibitxspcode`¹=1
+\inhibitxspcode`²=1
+\inhibitxspcode`³=1
+\inhibitxspcode`€=2
+%%
+%% inhibitxspcode JIS X 0212
+%%
+%%\inhibitxspcode`¡=2
+%%\inhibitxspcode`¿=2
+%%\inhibitxspcode"BA=1
+%%\inhibitxspcode"AA=1
+\inhibitxspcode`™=1
+%%
+%% inhibitxspcode 半角片仮名
+%%
+\inhibitxspcode`。=1
+\inhibitxspcode`、=1
+\inhibitxspcode`「=2
+\inhibitxspcode`」=1
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</plcore>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput
diff --git a/language/japanese/uplatex/uplatex-en.pdf b/language/japanese/uplatex/uplatex-en.pdf
new file mode 100644
index 0000000000..584aaf612e
--- /dev/null
+++ b/language/japanese/uplatex/uplatex-en.pdf
Binary files differ
diff --git a/language/japanese/uplatex/uplatex.dtx b/language/japanese/uplatex/uplatex.dtx
new file mode 100644
index 0000000000..75d9fcb3a4
--- /dev/null
+++ b/language/japanese/uplatex/uplatex.dtx
@@ -0,0 +1,1217 @@
+% \iffalse meta-comment
+%% File: uplatex.dtx
+%
+% pLaTeX base file:
+% Copyright 1995,1996 ASCII Corporation.
+% and modified for upLaTeX
+%
+% Copyright (c) 2010 ASCII MEDIA WORKS
+% Copyright (c) 2016 Takuji Tanaka
+% Copyright (c) 2016-2019 Japanese TeX Development Community
+%
+% This file is part of the upLaTeX2e 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[注意:]}}
+%\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}
+\def\upTeX{u\pTeX}
+\def\eupTeX{$\varepsilon$-\upTeX}
+\def\upLaTeX{u\pLaTeX}
+\def\upLaTeXe{u\pLaTeXe}
+%</driver|pldoc>
+% \fi
+%
+% \StopEventually{}
+%
+% \iffalse
+%\ifJAPANESE
+% \changes{v1.0c-u00}{2011/05/07}{\pLaTeX{}用から\upLaTeX{}用に修正。
+% (based on platex.dtx 1997/01/29 v1.0c)}
+% \changes{v1.0e-u00}{2016/04/06}{\pLaTeX{}の変更に追随。
+% (based on platex.dtx 2016/02/16 v1.0e)}
+% \changes{v1.0h-u00}{2016/05/08}{ドキュメントから\file{uplpatch.ltx}を除外
+% (based on platex.dtx 2016/05/08 v1.0h)}
+% \changes{v1.0k-u00}{2016/05/21}{\pLaTeX{}の変更に追随。
+% (based on platex.dtx 2016/05/21 v1.0k)}
+% \changes{v1.0k-u01}{2016/06/06}{\upLaTeX{}用にドキュメントを全体的に改訂}
+% \changes{v1.0l-u01}{2016/06/19}{パッチレベルを\file{uplvers.dtx}から取得
+% (based on platex.dtx 2016/06/19 v1.0l)}
+% \changes{v1.0m-u01}{2016/08/26}{\file{uplatex.cfg}の読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on platex.dtx 2016/08/26 v1.0m)}
+% \changes{v1.0n-u01}{2016/09/14}{\pLaTeX{}の変更に追随。
+% (based on platex.dtx 2016/09/14 v1.0n)}
+% \changes{v1.0p-u01}{2017/11/11}{\pLaTeX{}の変更に追随。
+% (based on platex.dtx 2017/11/11 v1.0p)}
+% \changes{v1.0q-u01}{2017/11/29}{英語版ドキュメントを追加
+% (based on platex.dtx 2017/11/29 v1.0q)}
+% \changes{v1.0r-u01}{2017/12/02}{\upLaTeX{}と\upTeX{}の参考文献も追加}
+% \changes{v1.0s-u01}{2017/12/05}{デフォルト設定ファイルの読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on platex.dtx 2017/12/05 v1.0s)}
+% \changes{v1.0s-u02}{2017/12/10}{\file{uplcore.ltx}の前に
+% \file{plcore.ltx}を読み込むようにした(最近の\pLaTeX{}が前提)}
+% \changes{v1.0u-u02}{2018/02/18}{\pLaTeX{}の変更に追随。
+% (based on platex.dtx 2018/02/18 v1.0u)}
+% \changes{v1.0v-u02}{2018/04/06}{最新のsource2eへの追随
+% (based on platex.dtx 2018/04/06 v1.0v)}
+% \changes{v1.0w-u02}{2018/04/08}{安全のためフォーマット作成時の
+% バナー表示をやめた
+% (based on platex.dtx 2018/04/08 v1.0w)}
+% \changes{v1.0x-u02}{2018/09/03}{ドキュメントを更新
+% (based on platex.dtx 2018/09/03 v1.0x)}
+% \changes{v1.0y-u02}{2018/09/22}{最終更新日を\file{upldoc.pdf}に表示
+% (based on platex.dtx 2018/09/22 v1.0y)}
+% \changes{v1.0y-u03}{2019/05/22}{ドキュメントを更新}
+%\else
+% \changes{v1.0c-u00}{2011/05/07}{Created \upLaTeX\ version based on \pLaTeX\ one
+% (based on platex.dtx 1997/01/29 v1.0c)}
+% \changes{v1.0e-u00}{2016/04/06}{Sync with \pLaTeX.
+% (based on platex.dtx 2016/02/16 v1.0e)}
+% \changes{v1.0h-u00}{2016/05/08}{Exclude \file{uplpatch.ltx} from the document
+% (based on platex.dtx 2016/05/08 v1.0h)}
+% \changes{v1.0k-u00}{2016/05/21}{Sync with \pLaTeX.
+% (based on platex.dtx 2016/05/21 v1.0k)}
+% \changes{v1.0k-u01}{2016/06/06}{Update documents for \upLaTeX.}
+% \changes{v1.0l-u01}{2016/06/19}{Get the patch level from \file{uplvers.dtx}
+% (based on platex.dtx 2016/06/19 v1.0l)}
+% \changes{v1.0m-u01}{2016/08/26}{Moved loading \file{uplatex.cfg}
+% from \file{uplcore.ltx} to \file{uplatex.ltx}
+% (based on platex.dtx 2016/08/26 v1.0m)}
+% \changes{v1.0n-u01}{2016/09/14}{Sync with \pLaTeX.
+% (based on platex.dtx 2016/09/14 v1.0n)}
+% \changes{v1.0p-u01}{2017/11/11}{Sync with \pLaTeX.
+% (based on platex.dtx 2017/11/11 v1.0p)}
+% \changes{v1.0q-u01}{2017/11/29}{New English documentation added!
+% (based on platex.dtx 2017/11/29 v1.0q)}
+% \changes{v1.0r-u01}{2017/12/02}{\upLaTeX\ and \upTeX\ references added}
+% \changes{v1.0s-u01}{2017/12/05}{Moved loading default settings
+% from \file{uplcore.ltx} to \file{uplatex.ltx}
+% (based on platex.dtx 2017/12/05 v1.0s)}
+% \changes{v1.0s-u02}{2017/12/10}{Load \file{plcore.ltx} before
+% \file{uplcore.ltx} (recent version of \pLaTeX\ is assumed)}
+% \changes{v1.0u-u02}{2018/02/18}{Sync with \pLaTeX.
+% (based on platex.dtx 2018/02/18 v1.0u)}
+% \changes{v1.0v-u02}{2018/04/06}{Sync with the latest \file{source2e.tex}
+% (based on platex.dtx 2018/04/06 v1.0v)}
+% \changes{v1.0w-u02}{2018/04/08}{Stop showing banner during
+% format generation for safety
+% (based on platex.dtx 2018/04/08 v1.0w)}
+% \changes{v1.0x-u02}{2018/09/03}{Update document.
+% (based on platex.dtx 2018/09/03 v1.0x)}
+% \changes{v1.0y-u02}{2018/09/22}{Show last update info on \file{upldoc.pdf}
+% (based on platex.dtx 2018/09/22 v1.0y)}
+% \changes{v1.0y-u03}{2019/05/22}{Update document.}
+%\fi
+% \fi
+%
+% \iffalse
+%<*driver>
+\NeedsTeXFormat{pLaTeX2e}
+% \fi
+\ProvidesFile{uplatex.dtx}[2019/05/22 v1.0y-u03 upLaTeX document file]
+% \iffalse
+\documentclass{jltxdoc}
+\usepackage{plext}
+\GetFileInfo{uplatex.dtx}
+\ifJAPANESE
+\title{\upLaTeXe{}について}
+\author{中野 賢 \& 日本語\TeX{}開発コミュニティ \& TTK}
+\date{作成日:\filedate}
+\renewcommand{\refname}{参考文献}
+\GlossaryPrologue{\section*{変更履歴}%
+ \markboth{変更履歴}{変更履歴}%
+ \addcontentsline{toc}{section}{変更履歴}}
+\else
+\title{About \upLaTeXe{}}
+\author{Ken Nakano \& Japanese \TeX\ Development Community \& TTK}
+\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{>・}
+\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 (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
+%
+%
+%\ifJAPANESE
+% \changes{v1.0c-u00}{2011/05/07}{\pLaTeX{}用から\upLaTeX{}用に修正。
+% (based on platex.dtx 1997/01/29 v1.0c)}
+% \changes{v1.0k-u01}{2016/06/06}{\upLaTeX{}用にドキュメントを全体的に改訂}
+% \changes{v1.0q-u01}{2017/11/29}{英語版ドキュメントを追加
+% (based on platex.dtx 2017/11/29 v1.0q)}
+% \changes{v1.0x-u02}{2018/09/03}{ドキュメントを更新
+% (based on platex.dtx 2018/09/03 v1.0x)}
+% \changes{v1.0y-u03}{2019/05/22}{ドキュメントを更新}
+%\else
+% \changes{v1.0c-u00}{2011/05/07}{Created \upLaTeX\ version based on \pLaTeX\ one
+% (based on platex.dtx 1997/01/29 v1.0c)}
+% \changes{v1.0k-u01}{2016/06/06}{Update documents for \upLaTeX.}
+% \changes{v1.0q-u01}{2017/11/29}{New English documentation added!
+% (based on platex.dtx 2017/11/29 v1.0q)}
+% \changes{v1.0x-u02}{2018/09/03}{Update document.
+% (based on platex.dtx 2018/09/03 v1.0x)}
+% \changes{v1.0y-u03}{2018/09/03}{Update document.}
+%\fi
+%\ifJAPANESE
+% \upLaTeX{}は、内部コードをUnicode化した\pLaTeX{}の拡張版です。
+% このバージョンは、「コミュニティ版\pLaTeXe{}」をベースにしています。
+%\else
+% \upLaTeX\ is a Unicode version of Japanese \pLaTeXe.
+% This version is based on `\pLaTeXe\ Community Edition.'
+%\fi
+%
+%\ifJAPANESE
+% \pTeX{}は、高品質の日本語組版ソフトウェアとしてデファクト
+% スタンダードの地位にあるといえます。しかし、\pTeX{}には
+% \begin{itemize}
+% \item 直接使える文字集合が原則的にJIS X 0208(JIS第1,2水準)の範囲に限定
+% されていること、
+% \item 8bitの非英語欧文との親和性が高いとは言えないこと、
+% \item \pTeX{}の利用が日本語に限られ、中国語・韓国語との混植への利用が
+% 進んでいないこと
+% \end{itemize}
+% といった弱点がありました。
+%
+% これらの弱点を克服するため、\pTeX{}の内部コードをUnicode化した拡張版
+% が\upTeX{}です。また、\upTeX{}上で用いるUnicode版\pLaTeX{}が\upLaTeX{}で
+% す\footnote{\texttt{http://www.t-lab.opal.ne.jp/tex/uptex.html}}。
+% 現在の\upLaTeX{}は、日本語\TeX{}開発コミュニティが配布しているコミュニティ
+% 版\pLaTeX{}\footnote{\texttt{https://github.com/texjporg/platex}}を
+% ベースにしており、\eupTeX{}というエンジン(\upTeX{}の\epTeX{}拡張版)で
+% 動作します。
+%
+% 開発中の版は\pLaTeX{}と同様に、GitHubの
+% リポジトリ\footnote{\texttt{https://github.com/texjporg/uplatex}}で
+% 管理しています。\upLaTeX{}はアスキーとは無関係ですので、
+% バグレポートはアスキー宛てではなく、日本語\TeX{}開発コミュニティに報告
+% してください。\TeX\ ForumやGitHubのIssueシステムが利用できます。
+%\else
+% \pTeX\ is the most popular \TeX\ engine in Japan and is widely
+% used for a high-quality typesetting, even for commercial printing.
+% However, \pTeX\ has some limitations:
+% \begin{itemize}
+% \item The Character set available is limited to JIS X 0208,
+% namely JIS level-1 and level-2
+% \item Difficulty in handlign 8-bit Latin, due to legacy double byte
+% Japanese encodings
+% \item Difficulty in typesetting CJK (Chinese, Japanese and Korean)
+% multilingual documents
+% \end{itemize}
+%
+% To overcome these weak points,
+% a Unicode extension of \pTeX, \upTeX, has been
+% developed.\footnote{\texttt{http://www.t-lab.opal.ne.jp/tex/uptex.html}}
+% The Unicode \pLaTeX\ format run on \upTeX\ is called \upLaTeX.
+% Current \upLaTeX\ is maintained by Japanese \TeX\ Development
+% Community,\footnote{\texttt{https://texjp.org}}
+% in sync with \pLaTeX\ community
+% edition.\footnote{\texttt{https://github.com/texjporg/platex}}
+% It runs on \eupTeX, an engine with both \upTeX\ and \epTeX\ features.
+%
+% The development version is available from
+% GitHub repository\footnote{\texttt{https://github.com/texjporg/uplatex}}.
+% Any bug reports and requests should be sent to
+% Japanese \TeX\ Development Community, using GitHub Issue system.
+%\fi
+%
+%
+% \clearpage
+%
+%\ifJAPANESE
+% \section{この文書について}\label{platex:intro}
+% この文書は\upLaTeXe{}の概要を示していますが、使い方のガイドでは
+% ありません。ほとんどの機能は元となっている\pLaTeXe{}や\LaTeXe{}と
+% 同等ですので、それぞれの付属文書などを参照してください。
+%
+% \upTeX{}については公式ウェブサイトあるいは\cite{tb108tanaka}(英語)を
+% 参照してください。
+%\else
+% \section{Introduction to this document}\label{platex:intro}
+% This document briefly describes \upLaTeXe, but is not a manual of \upLaTeXe.
+% The basic functions of \upLaTeXe\ are almost the same with those of
+% \pLaTeXe\ and \LaTeXe, so please refer to the documentation of those formats.
+%
+% For \upTeX, please refer to the official website or
+% \cite{tb108tanaka} (in English).
+%\fi
+%
+%\ifJAPANESE
+% この文書の構成は次のようになっています。
+%
+% \begin{quote}
+% \begin{description}
+% \item[第\ref{platex:intro}節]
+% この節です。この文書についての概要を述べています。
+%
+% \item[第\ref{platex:plcore}節]
+% \upLaTeXe{}で拡張した機能についての概要です。
+% 付属のクラスファイルやパッケージファイルについても簡単に
+% 説明しています。
+%
+% \item[第\ref{platex:compatibility}節]
+% 現在のバージョンの\upLaTeX{}と旧バージョン、あるいは元となっている
+% \pLaTeX{}/\LaTeX{}との互換性について述べています。
+%
+% \item[付録\ref{app:dst}]
+% この文書ソース(uplatex.dtx)の
+% \dst{}のためのオプションについて述べています。
+%
+% \item[付録\ref{app:pldoc}]
+% \upLaTeXe{}のdtxファイルをまとめて、一つのソースコード説明書に
+% するための文書ファイルの説明をしています。
+%
+% \item[付録\ref{app:omake}]
+% 付録\ref{app:pldoc}で説明した文書ファイルを処理するshスクリプト(手順)
+% などについて説明しています。
+% \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 \upLaTeXe.
+% Also describes the standard classes and packages.
+%
+% \item[Section \ref{platex:compatibility}]
+% The compatibility note for users of the old version of
+% \upLaTeXe\ or those of the original \pLaTeXe/\LaTeXe.
+%
+% \item[Appendix \ref{app:dst}]
+% Describes \dst\ Options for this document.
+%
+% \item[Appendix \ref{app:pldoc}]
+% Description of `upldoc.tex' (counterpart for `source2e.tex' in \LaTeXe).
+%
+% \item[Appendix \ref{app:omake}]
+% Description of a shell script to process `upldoc.tex', etc.
+% \end{description}
+% \end{quote}
+%\fi
+%
+%
+%\ifJAPANESE
+% \section{\upLaTeXe{}の機能について}\label{platex:plcore}
+% \upLaTeXe{}が提供するファイルは、次の3種類に分類することができます。
+% この構成は\pLaTeXe{}と同様です。
+%
+% \begin{itemize}
+% \item フォーマットファイル
+% \item クラスファイル
+% \item パッケージファイル
+% \end{itemize}
+%\else
+% \section{About Functions of \pLaTeXe}\label{platex:plcore}
+% The structure of \upLaTeXe\ is similar to that of \pLaTeXe;
+% it consists of 3 types of files: a format (uplatex.ltx),
+% classes and packages.
+%\fi
+%
+%\ifJAPANESE
+% \subsection{フォーマットファイル}
+% \upLaTeX{}のフォーマットファイルを作成するには、
+% ソースファイル``uplatex.ltx''を\eupTeX{}のINIモードで処理します
+% \footnote{2016年以前は\upTeX{}と\eupTeX{}のどちらでもフォーマットを作成する
+% ことができましたが、2017年に\LaTeX{}が\eTeX{}必須となったことに伴い、
+% \upLaTeX{}も\eupTeX{}が必須となりました。}。
+% ただし、\TeX\ LiveやW32\TeX{}ではこの処理を簡単にする|fmtutil-sys|あるいは
+% |fmtutil|というプログラムが用意されています。
+% 以下を実行すれば、フォーマットファイル\file{uplatex.fmt}が作成されます。
+%\else
+% \subsection{About the Format}
+% To make a format for \upLaTeX,
+% process ``uplatex.ltx'' with INI mode of \eupTeX.\footnote{Formerly
+% both \upTeX\ and \eupTeX\ can make the format file for \upLaTeX, 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{uplatex.fmt}.
+%\fi
+%\begin{verbatim}
+% fmtutil-sys --byfmt uplatex
+%\end{verbatim}
+%
+%\ifJAPANESE
+% 次のリストが、\file{uplatex.ltx}の内容です。
+% ただし、このバージョンでは、\LaTeX{}から\upLaTeX{}への拡張を
+% \file{plcore.ltx}(\pLaTeX{}によって提供される)および
+% \file{uplcore.ltx}をロードすることで行ない、
+% \file{latex.ltx}には直接、手を加えないようにしています。
+% したがって\file{uplatex.ltx}はとても短いものとなっています。
+% \file{latex.ltx}には\LaTeX{}のコマンドが、
+% \file{uplcore.ltx}には\upLaTeX{}で拡張したコマンドが定義されています。
+%\else
+% The content of \file{uplatex.ltx} is shown below.
+% In the current version of \upLaTeX,
+% first we simply load \file{latex.ltx} and
+% modify/extend some definitions by loading
+% \file{plcore.ltx} (available from \pLaTeX) and \file{uplcore.ltx}.
+%\fi
+% \begin{macrocode}
+%<*plcore>
+% \end{macrocode}
+%
+%\ifJAPANESE
+% \file{latex.ltx}の末尾で使われている|\dump|をいったん無効化します。
+%\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}を読み込みます。
+% \TeX\ Liveの標準的インストールでは、この中でBabel由来のハイフネーション・
+% パターン\file{hyphen.cfg}が読み込まれるはずです。
+%\else
+% Load \file{latex.ltx} here.
+% Within the standard installation of \TeX\ Live, \file{hyphen.cfg}
+% provided by ``Babel'' package will be used.
+%\fi
+% \begin{macrocode}
+\input latex.ltx
+% \end{macrocode}
+%
+%\ifJAPANESE
+% \file{plcore.ltx}と\file{uplcore.ltx}を読み込みます。
+% \changes{v1.0s-u02}{2017/12/10}{\file{uplcore.ltx}の前に
+% \file{plcore.ltx}を読み込むようにした(最近の\pLaTeX{}が前提)}
+%\else
+% Load \file{plcore.ltx} and \file{uplcore.ltx}.
+% \changes{v1.0s-u02}{2017/12/10}{Load \file{plcore.ltx} before
+% \file{uplcore.ltx} (recent version of \pLaTeX\ is assumed)}
+%\fi
+% \begin{macrocode}
+\typeout{**************************^^J%
+ *^^J%
+ * making upLaTeX format^^J%
+ *^^J%
+ **************************}
+\makeatletter
+\input plcore.ltx
+\input uplcore.ltx
+% \end{macrocode}
+%
+%\ifJAPANESE
+% フォント関連のデフォルト設定ファイルである、
+% \file{upldefs.ltx}を読み込みます。
+% \TeX{}の入力ファイル検索パスに設定されている
+% ディレクトリに\file{upldefs.cfg}ファイルがある場合は、
+% そのファイルを使います。
+% \changes{v1.0s-u01}{2017/12/05}{デフォルト設定ファイルの読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on platex.dtx 2017/12/05 v1.0s)}
+%\else
+% Load font-related default settings, \file{upldefs.ltx}.
+% If a file \file{upldefs.cfg} is found, then that file will be
+% used instead.
+% \changes{v1.0s-u01}{2017/12/05}{Moved loading default settings
+% from \file{uplcore.ltx} to \file{uplatex.ltx}
+% (based on platex.dtx 2017/12/05 v1.0s)}
+%\fi
+% \begin{macrocode}
+\InputIfFileExists{upldefs.cfg}
+ {\typeout{*************************************^^J%
+ * Local config file upldefs.cfg used^^J%
+ *************************************}}%
+ {\input{upldefs.ltx}}
+% \end{macrocode}
+%
+%\ifJAPANESE
+% 以前のバージョンでは、フォーマット作成時に\upLaTeX{}のバージョンが
+% わかるように、端末に表示していましたが、|\everyjob| にバナー表示
+% 以外のコードが含まれる可能性を考慮し、安全のためやめました。
+% \changes{v1.0w-u02}{2018/04/08}{安全のためフォーマット作成時の
+% バナー表示をやめた
+% (based on platex.dtx 2018/04/08 v1.0w)}
+%\else
+% In the previous version, we displayed \upLaTeX\ 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-u02}{2018/04/08}{Stop showing banner during
+% format generation for safety
+% (based on platex.dtx 2018/04/08 v1.0w)}
+%\fi
+% \begin{macrocode}
+%\the\everyjob
+% \end{macrocode}
+%
+%\ifJAPANESE
+% \upLaTeXe{}の起動時に\file{uplatex.cfg}がある場合、それを読み込む
+% ようにします(\pLaTeXe{}が\file{platex.cfg}を読み込むのと同様)。
+% バージョン2016/07/01ではコードを\file{uplcore.ltx}に入れていました
+% が、\file{uplatex.ltx}へ移動しました。
+% \changes{v1.0m-u01}{2016/08/26}{\file{uplatex.cfg}の読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on platex.dtx 2016/08/26 v1.0m)}
+%\else
+% Load \file{uplatex.cfg} if it exists at runtime of \upLaTeXe.
+% (Counterpart of \file{platex.cfg} in \pLaTeXe.)
+% \changes{v1.0m-u01}{2016/08/26}{Moved loading \file{uplatex.cfg}
+% from \file{uplcore.ltx} to \file{uplatex.ltx}
+% (based on platex.dtx 2016/08/26 v1.0m)}
+%\fi
+% \begin{macrocode}
+\everyjob\expandafter{%
+ \the\everyjob
+ \IfFileExists{uplatex.cfg}{%
+ \typeout{*************************^^J%
+ * Loading uplatex.cfg.^^J%
+ *************************}%
+ \input{uplatex.cfg}}{}%
+}
+% \end{macrocode}
+%
+%\ifJAPANESE
+% フォーマットファイルにダンプします。
+%\else
+% Dump to the format file.
+%\fi
+% \begin{macrocode}
+\let\dump\orgdump
+\let\orgdump\@undefined
+\makeatother
+\dump
+%\endinput
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</plcore>
+% \end{macrocode}
+%
+%\ifJAPANESE
+% 実際に\upLaTeXe{}への拡張を行なっている\file{uplcore.ltx}は、
+% \dst{}プログラムによって、次のファイルの断片が連結されたものです。
+%
+% \begin{itemize}
+% \item \file{uplvers.dtx}は、\upLaTeXe{}のフォーマットバージョンを
+% 定義しています。
+% \end{itemize}
+%
+% また、プリロードフォントや組版パラメータなどのデフォルト設定は、
+% \file{uplatex.ltx}の中で\file{upldefs.ltx}をロードすることにより行います
+% \footnote{旧版では\file{uplcore.ltx}の中でロードしていましたが、
+% 2018年以降の新しいコミュニティ版\upLaTeX{}では
+% \file{uplatex.ltx}から読み込むことにしました。}。
+% このファイル\file{upldefs.ltx}も\file{uplfonts.dtx}から生成されます。
+% \begin{chuui}
+% このファイルに記述されている設定を変更すれば
+% \upLaTeXe{}をカスタマイズすることができますが、
+% その場合は\file{upldefs.ltx}を直接修正するのではなく、いったん
+% \file{upldefs.cfg}という名前でコピーして、そのファイルを編集してください。
+% フォーマット作成時に\file{upldefs.cfg}が存在した場合は、そちらが
+% \file{upldefs.ltx}の代わりに読み込まれます。
+% \end{chuui}
+%\else
+% The file \file{uplcore.ltx}, which provides modifications/extensions
+% to make \upLaTeXe, is a concatenation of stripped files below
+% using \dst\ program.
+%
+% \begin{itemize}
+% \item \file{uplvers.dtx} defines the format version of \upLaTeXe.
+% \item \file{uplfonts.dtx} extends \NFSS2 for Japanese font selection.
+% \item \file{plcore.dtx} (the same content as \pLaTeXe); defines other
+% modifications to \LaTeXe.
+% \end{itemize}
+%
+% Moreover, default settings of pre-loaded fonts and typesetting parameters
+% are done by loading \file{upldefs.ltx} inside
+% \file{uplatex.ltx}.\footnote{Older \upLaTeX\ loaded \file{upldefs.ltx}
+% inside \file{uplcore.ltx}; however, \upLaTeX\ community edition newer than
+% 2018 loads \file{upldefs.ltx} inside \file{uplatex.ltx}.}
+% This file \file{upldefs.ltx} is also stripped from \file{uplfonts.dtx}.
+% \begin{chuui}
+% You can customize \upLaTeXe\ by tuning these settings.
+% If you need to do that, copy/rename it as \file{upldefs.cfg} and edit it,
+% instead of overwriting \file{upldefs.ltx} itself.
+% If a file named \file{upldefs.cfg} is found at a format creation
+% time, it will be read as a substitute of \file{upldefs.ltx}.
+% \end{chuui}
+%\fi
+%
+%\ifJAPANESE
+% ここまで見てきたように、\upLaTeX{}の各ファイルはそれぞれ\pLaTeX{}での
+% 対応するファイル名の頭に``u''を付けた名前になっています。
+%\else
+% As shown above, the files in \upLaTeX\ is named after \pLaTeX\ ones,
+% prefixed with ``u.''
+%\fi
+%
+%
+%\ifJAPANESE
+% \subsubsection{バージョン}
+% \upLaTeXe{}のバージョンやフォーマットファイル名は、
+% \file{uplvers.dtx}で定義しています。これは、\pLaTeXe{}のバージョンや
+% フォーマットファイル名が\file{plvers.dtx}で定義されているのと同じです。
+%\else
+% \subsubsection{Version}
+% The version (like ``\pfmtversion'') and the format name
+% (``\pfmtname'') of \upLaTeXe\ are defined in \file{uplvers.dtx}.
+% This is similar to \pLaTeXe, which defines those in \file{plvers.dtx}.
+%\fi
+%
+%
+%\ifJAPANESE
+% \subsubsection{\NFSS2コマンド}
+% \upLaTeXe{}は\pLaTeXe{}と共通の\file{plcore.ltx}を使用していますので、
+% \NFSS2の和文フォント選択への拡張が有効になっています。
+%\else
+% \subsubsection{\NFSS2 Commands}
+% \upLaTeXe\ shares \file{plcore.dtx} with \pLaTeXe, so
+% the extensions of \NFSS2 for selecting Japanese fonts are available.
+%\fi
+%
+%
+%\ifJAPANESE
+% \subsubsection{出力ルーチンとフロート}
+% \upLaTeXe{}は\pLaTeXe{}と共通の\file{plcore.ltx}を使用していますので、
+% 出力ルーチンや脚注マクロなどは\pLaTeXe{}と同じように動作します。
+%\else
+% \subsubsection{Output Routine and Floats}
+% \upLaTeXe\ shares \file{plcore.dtx} with \pLaTeXe, so
+% the output routine and footnote macros will behave similar to \pLaTeXe.
+%\fi
+%
+%
+%\ifJAPANESE
+% \subsection{クラスファイルとパッケージファイル}
+%
+% \upLaTeXe{}が提供をするクラスファイルやパッケージファイルは、
+% \pLaTeXe{}に含まれるファイルを基にしています。
+%
+% \upLaTeXe{}に付属のクラスファイルは、次のとおりです。
+%
+% \begin{itemize}
+% \item ujarticle.cls, ujbook.cls, ujreport.cls\par
+% 横組用の標準クラスファイル。
+% \file{ujclasses.dtx}から作成される。
+% それぞれjarticle.cls, jbook.cls, jreport.clsの\upLaTeX{}版。
+%
+% \item utarticle.cls, utbook.cls, utreport.cls\par
+% 縦組用の標準クラスファイル。
+% \file{ujclasses.dtx}から作成される。
+% それぞれtarticle.cls, tbook.cls, treport.clsの\upLaTeX{}版。
+% \end{itemize}
+%
+% なおjltxdoc.clsの\upLaTeX{}版はありませんが、これは\pLaTeX{}のものが
+% \upLaTeX{}でもそのまま使えます。
+%\else
+% \subsection{Classes and Packages}
+%
+% Classes and packages bundled with \upLaTeXe\ are based on
+% those in original \pLaTeXe, and modified some parameters.
+%
+% \upLaTeXe\ classes:
+%
+% \begin{itemize}
+% \item ujarticle.cls, ujbook.cls, ujreport.cls\par
+% Standard \emph{yoko-kumi} (horizontal writing) classes;
+% stripped from \file{ujclasses.dtx}.
+% \upLaTeX\ edition of jarticle.cls, jbook.cls and jreport.cls.
+%
+% \item utarticle.cls, utbook.cls, utreport.cls\par
+% Standard \emph{tate-kumi} (vertical writing) classes;
+% stripped from \file{ujclasses.dtx}.
+% \upLaTeX\ edition of tarticle.cls, tbook.cls and treport.cls.
+% \end{itemize}
+%
+% We don't provide \upLaTeX\ edition of jltxdoc.cls, but the one
+% from \pLaTeX\ can be used also on \upLaTeX\ without problem.
+%\fi
+%
+%\ifJAPANESE
+% また、\upLaTeXe{}に付属のパッケージファイルは、次のとおりです。
+%
+% \begin{itemize}
+% \item uptrace.sty\par
+% ptrace.styの\upLaTeX{}版。
+% \LaTeX{}でフォント選択コマンドのトレースに使う\file{tracefnt.sty}が
+% 再定義してしまう\NFSS2コマンドを、\upLaTeXe{}用に再々定義するための
+% パッケージ。
+% \file{uplfonts.dtx}から作成される。
+% \end{itemize}
+%
+% 他の\pLaTeX{}のパッケージは、\upLaTeX{}でもそのまま動作します。
+%\else
+% \upLaTeXe\ packages:
+%
+% \begin{itemize}
+% \item uptrace.sty\par
+% \upLaTeXe\ version of \file{tracefnt.sty};
+% the package \file{tracefnt.sty} overwrites \upLaTeXe-style \NFSS2
+% commands, so \file{uptrace.sty} provides redefinitions to recover
+% \upLaTeXe\ extensions. Stripped from \file{uplfonts.dtx}.
+% \end{itemize}
+%
+% Other \pLaTeX\ packages work also on \upLaTeX.
+%\fi
+%
+%
+%\ifJAPANESE
+% \section{他のフォーマット・旧バージョンとの互換性}
+% \label{platex:compatibility}
+% ここでは、この\upLaTeXe{}のバージョンと以前のバージョン、あるいは
+% \pLaTeXe{}/\LaTeXe{}との互換性について説明をしています。
+%
+% \subsection{\pLaTeXe{}および\LaTeXe{}との互換性}
+% \upLaTeXe{}は、\pLaTeXe{}の上位互換という形を取っていますので、
+% クラスファイルやいくつかのコマンドを置き換えるだけで、
+% たいていの\pLaTeXe{}文書を簡単に\upLaTeXe{}文書に変更することができます。
+% ただし、\upLaTeXe{}のデフォルトの日本語フォントメトリックは\pLaTeXe{}の
+% それと異なりますので、レイアウトが変化することがあります。
+% また、\LaTeXe{}のいくつかの命令の定義も変更していますので、
+% \LaTeXe{}で処理できるファイルを\upLaTeXe{}で処理した場合に
+% 完全に同じ結果になるとは限りません。
+%
+% また、\upLaTeXe{}は新しいマクロパッケージですので、2.09互換モードを
+% サポートしていません。\LaTeXe{}の仕様に従ってドキュメントを作成して
+% ください。
+%
+% \pLaTeXe{}向けあるいは\LaTeXe{}向けに作られた多くのクラスファイルや
+% パッケージファイルはそのまま使えると思います。
+% ただし、例えばクラスファイルが\pLaTeX{}標準の
+% 漢字エンコーディング(JY1, JT1)を前提としている場合は、
+% \upLaTeX{}で採用した漢字エンコーディング(JY2, JT2)と合致せずに
+% エラーが発生してしまいます。この場合は、そのクラスファイルが
+% \upLaTeX{}に対応していないことになります。このような場合は、
+% \pLaTeX{}を使い続けるか、その作者に連絡して\upLaTeX{}に対応して
+% もらうなどの対応をとってください。
+%\else
+% \section{Compatibility with Other Formats and Older Versions}
+% \label{platex:compatibility}
+% Here we provide some information about the compatibility between
+% current \upLaTeXe\ and older versions or original \pLaTeXe/\LaTeXe.
+%
+% \subsection{Compatibility with \pLaTeXe/\LaTeXe}
+% \upLaTeXe\ is in most part upper compatible with \pLaTeXe,
+% so you can move from \pLaTeXe\ to \upLaTeXe\ by simply replacing
+% the document class and some macros. However, the default Japanese
+% font metrics in \upLaTeXe\ is different from those in \pLaTeXe;
+% therefore, you should not expect identical output from both
+% \pLaTeXe\ and \upLaTeXe.
+%
+% Note that \upLaTeX\ is a new format, so we do \emph{not} provide support
+% for 2.09 compatibility mode. Follow the standard \LaTeXe\ convention!
+%
+% We hope that most classes and packages meant for \LaTeXe/\pLaTeXe\ works
+% also for \upLaTeXe\ without any modification. However for example,
+% if a class or a package uses Kanji encoding `JY1' or `JT1' (default on
+% \pLaTeXe), an error complaining the mismatch of Kanji encoding might
+% happen on \upLaTeX, in which the default is `JY2' and `JT2.'
+% In this case, we have to say that the class or package does not support
+% \upLaTeXe; you should use \pLaTeX, or report to the author of the
+% package or class.
+%\fi
+%
+%\ifJAPANESE
+% \subsection{latexreleaseパッケージへの対応}
+% \LaTeX\ \texttt{<2015/01/01>}で導入されたlatexreleaseパッケージを
+% もとに、新しい\pLaTeX{}ではplatexreleaseパッケージが用意されました。
+% 本来は\upLaTeX{}でも同様のパッケージを用意するのがよいのですが、
+% 現在は\pLaTeX{}から\upLaTeX{}への変更点が含まれていませんので、
+% 幸いplatexreleaseパッケージをそのまま用いることができます。
+% このため、\upLaTeX{}で独自のパッケージを用意することはしていません。
+% platexreleaseパッケージを用いると、過去の\upLaTeX{}をエミュレート
+% したり、フォーマットを作り直すことなく新しい\upLaTeX{}を試したりする
+% ことができます。詳細はplatexreleaseのドキュメントを参照してください。
+%\else
+% \subsection{Support for Package `latexrelease'}
+% \pLaTeX\ provides `platexrelease' package, which is based on
+% `latexrelease' package (introduced in \LaTeX\ \texttt{<2015/01/01>}).
+% It could be better if we also provide a similar package on \upLaTeX,
+% but currently we don't need it; \upLaTeX\ does not have any recent
+% \upLaTeX-specific changes. So, you can safely use `platexrelease'
+% package for emulating the specified format date.
+%\fi
+%
+%
+%
+% \appendix
+%
+%\ifJAPANESE
+% \section{\dst{}プログラムのためのオプション}\label{app:dst}
+% この文書のソース(\file{uplatex.dtx})を\dst{}プログラムで
+% 処理することによって、
+% いくつかの異なるファイルを生成することができます。
+% \dst{}プログラムの詳細は、\file{docstrip.dtx}を参照してください。
+%
+% この文書の\dst{}プログラムのためのオプションは、次のとおりです。
+%
+% \DeleteShortVerb{\|}
+% \begin{center}
+% \begin{tabular}{l|p{.8\linewidth}}
+% \emph{オプション} & \emph{意味}\\\hline
+% plcore & フォーマットファイルを作るためのファイルを生成\\
+% pldoc & \upLaTeXe{}のソースファイルをまとめて組版するための
+% 文書ファイル(upldoc.tex)を生成\\[2mm]
+% shprog & 上記のファイルを作成するためのshスクリプトを生成\\
+% Xins & 上記のshスクリプトやperlスクリプトを取り出すための
+% \dst{}バッチファイル(Xins.ins)を生成\\
+% \end{tabular}
+% \end{center}
+% \MakeShortVerb{\|}
+%\else
+% \section{\dst\ Options}\label{app:dst}
+% By processing \file{uplatex.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 `upldoc.tex' for typesetting
+% \upLaTeXe\ sources\\[2mm]
+% shprog & Generates a shell script to process `upldoc.tex'\\
+% Xins & Generates a \dst\ batch file `Xins.ins' for
+% generating the above shell/perl scripts\\
+% \end{tabular}
+% \end{center}
+% \MakeShortVerb{\|}
+%\fi
+%
+%
+%\ifJAPANESE
+% \section{文書ファイル}\label{app:pldoc}
+% ここでは、このパッケージに含まれているdtxファイルをまとめて組版し、
+% ソースコード説明書を得るための文書ファイル\file{upldoc.tex}について
+% 説明をしています。個別に処理した場合と異なり、
+% 変更履歴や索引も付きます。
+%
+% デフォルトではソースコードの説明が日本語で書かれます。
+% もし英語の説明書を読みたい場合は、\par\medskip
+% \begin{minipage}{.5\textwidth}\ttfamily
+% | |\cs{newif}\cs{ifJAPANESE}
+% \end{minipage}\par\medskip\noindent
+% という内容の\file{uplatex.cfg}を予め用意してから\file{upldoc.tex}を
+% 処理してください(2016年7月1日以降の\upLaTeXe{}が必要)。
+%
+% コードは\pLaTeXe{}のものと(ファイル名を除き)ほぼ同一なので、
+% ここでは違っている部分だけ説明します。
+%\else
+% \section{Documentation of \upLaTeXe\ sources}\label{app:pldoc}
+% The contents of `upldoc.tex' for typesetting \upLaTeXe\ sources
+% is described here. Compared to individual processings,
+% batch processing using `upldoc.tex' prints also changes and an index.
+%
+% By default, the description of \upLaTeXe\ 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{uplatex.cfg}, and process \file{upldoc.tex}
+% (\upLaTeXe\ newer than July 2016 is required).
+%
+% Here we explain only difference between \file{pldoc.tex} (\pLaTeXe)
+% and \file{upldoc.tex} (\upLaTeXe).
+%\fi
+%
+% \begin{macrocode}
+%<*pldoc>
+\begin{filecontents}{upldoc.dic}
+西暦 せいれき
+和暦 われき
+\end{filecontents}
+% \end{macrocode}
+%\ifJAPANESE
+% \pLaTeXe{}のドキュメントでは、\file{plext.dtx}の中で組み立てるサンプル
+% のために\file{plext}パッケージが必要ですが、\upLaTeXe{}のファイル
+% にはそのようなサンプルが含まれないので除外しています。
+%\else
+% The document of \pLaTeXe\ requires \file{plext} package,
+% since \file{plext.dtx} contains several examples of partial
+% vertical writing. However, we don't have such examples in
+% \upLaTeXe\ files, so no need for it.
+%\fi
+% \begin{macrocode}
+\documentclass{jltxdoc}
+%\usepackage{plext} %% comment out for upLaTeX
+\listfiles
+
+\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}
+
+\ifJAPANESE
+\IndexPrologue{\part*{索 引}%
+ \markboth{索 引}{索 引}%
+ \addcontentsline{toc}{part}{索 引}%
+イタリック体の数字は、その項目が説明されているページを示しています。
+下線の引かれた数字は、定義されているページを示しています。
+その他の数字は、その項目が使われているページを示しています。}
+\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*{変更履歴}%
+ \markboth{変更履歴}{変更履歴}%
+ \addcontentsline{toc}{part}{変更履歴}}
+\else
+\GlossaryPrologue{\part*{Change History}%
+ \markboth{Change History}{Change History}%
+ \addcontentsline{toc}{part}{Change History}}
+\fi
+
+\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}
+\renewcommand*\MacroFont{\fontencoding\encodingdefault
+ \fontfamily\ttdefault
+ \fontseries\mddefault
+ \fontshape\updefault
+ \small
+ \hfuzz 6pt\relax}
+\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.8em}}
+\renewcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.4em}}
+\makeatother
+\RecordChanges
+\CodelineIndex
+\EnableCrossrefs
+\setcounter{IndexColumns}{2}
+\settowidth\MacroIndent{\ttfamily\scriptsize 000\ }
+% \end{macrocode}
+%\ifJAPANESE
+% この文書のタイトル・著者・日付を設定します。
+% \changes{v1.0h-u00}{2016/05/08}{ドキュメントから\file{uplpatch.ltx}を除外
+% (based on platex.dtx 2016/05/08 v1.0h)}
+% \changes{v1.0l-u01}{2016/06/19}{パッチレベルを\file{uplvers.dtx}から取得
+% (based on platex.dtx 2016/06/19 v1.0l)}
+% \changes{v1.0y-u02}{2018/09/22}{最終更新日を\file{upldoc.pdf}に表示
+% (based on platex.dtx 2018/09/22 v1.0y)}
+%\else
+% Set the title, authors and the date for this document.
+% \changes{v1.0h-u00}{2016/05/08}{Exclude \file{uplpatch.ltx} from the document
+% (based on platex.dtx 2016/05/08 v1.0h)}
+% \changes{v1.0l-u01}{2016/06/19}{Get the patch level from \file{uplvers.dtx}
+% (based on platex.dtx 2016/06/19 v1.0l)}
+% \changes{v1.0y-u02}{2018/09/22}{Show last update info on \file{upldoc.pdf}
+% (based on platex.dtx 2018/09/22 v1.0y)}
+%\fi
+% \begin{macrocode}
+ \title{The \upLaTeXe\ Sources}
+ \author{Ken Nakano \& Japanese \TeX\ Development Community \& TTK}
+
+% Get the (temporary) date and up-patch level from uplvers.dtx
+\makeatletter
+\let\patchdate=\@empty
+\begingroup
+ \def\ProvidesFile#1[#2 #3]#4\def\uppatch@level#5{%
+ \date{#2}\xdef\patchdate{#5}\endinput}
+ \input{uplvers.dtx}
+\endgroup
+
+% Add the patch version if available.
+\def\Xpatch{}
+\ifx\patchdate\Xpatch\else
+ \edef\@date{\@date\space version \patchdate}
+\fi
+
+% Obtain the last update info, as upLaTeX does not change format date
+% -> if successful, reconstruct the date completely
+\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{uplvers.dtx}
+ \input{uplfonts.dtx}
+ \input{ukinsoku.dtx}
+ \input{ujclasses.dtx}
+\endgroup
+\@ifl@t@r{\lastupd@te}{0000/00/00}{%
+ \date{Version \patchdate\break (last updated: \lastupd@te)}%
+}{}
+\makeatother
+% \end{macrocode}
+%\ifJAPANESE
+% ここからが本文ページとなります。
+%\else
+% Here starts the document body.
+%\fi
+% \begin{macrocode}
+\begin{document}
+\pagenumbering{roman}
+\maketitle
+\renewcommand\maketitle{}
+\tableofcontents
+\clearpage
+\pagenumbering{arabic}
+
+\DocInclude{uplvers} % upLaTeX version
+
+\DocInclude{uplfonts} % NFSS2 commands
+
+\DocInclude{ukinsoku} % kinsoku parameter
+
+\DocInclude{ujclasses} % Standard class
+
+\StopEventually{\end{document}}
+
+\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
+\let\PrintChanges\relax
+\let\PrintIndex\relax
+\end{document}
+%</pldoc>
+% \end{macrocode}
+%
+%
+%
+%\ifJAPANESE
+% \section{おまけプログラム}\label{app:omake}
+%
+% \subsection{シェルスクリプト\file{mkpldoc.sh}}\label{app:shprog}
+% \upLaTeXe{}のマクロ定義ファイルをまとめて組版し、変更履歴と索引も
+% 付けるときに便利なシェルスクリプトです。
+% このシェルスクリプトの使用方法は次のとおりです。
+%\begin{verbatim}
+% sh mkpldoc.sh
+%\end{verbatim}
+%
+% コードは\pLaTeXe{}のものと(ファイル名を除き)ほぼ同一なので、
+% ここでは違っている部分だけ説明します。
+%\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.
+%
+% The script is almost identical to that in \pLaTeXe, so
+% here we describe only the difference.
+%\fi
+%
+% \begin{macrocode}
+%<*shprog>
+%<ja>rm -f upldoc.toc upldoc.idx upldoc.glo
+%<en>rm -f upldoc-en.toc upldoc-en.idx upldoc-en.glo
+echo "" > ltxdoc.cfg
+%<ja>uplatex upldoc.tex
+%<en>uplatex -jobname=upldoc-en upldoc.tex
+% \end{macrocode}
+%\ifJAPANESE
+% 変更履歴や索引の生成にはmendexを用いますが、
+% \upLaTeX{}の場合はUTF-8モードで実行する必要がありますので、
+% |-U|というオプションを付けます\footnote{uplatexコマンドも
+% 実際にはUTF-8モードで実行する必要がありますが、デフォルトの内部漢字
+% コードがUTF-8に設定されているはずですので、\texttt{-kanji=utf8}を
+% 付けなくても処理できると思います。}。
+% makeindexコマンドには、このオプションがありません。
+%\else
+% To make the Change log and Glossary (Change History) for
+% \upLaTeX\ using `mendex,' we need to run it in UTF-8 mode.
+% So, option |-U| is important.\footnote{The command `uplatex'
+% should be also in UTF-8 mode, but it defaults to UTF-8 mode;
+% therefore, we don't need to add \texttt{-kanji=utf8} explicitly.}
+%\fi
+% \begin{macrocode}
+%<ja>mendex -U -s gind.ist -d upldoc.dic -o upldoc.ind upldoc.idx
+%<en>mendex -U -s gind.ist -d upldoc.dic -o upldoc-en.ind upldoc-en.idx
+%<ja>mendex -U -f -s gglo.ist -o upldoc.gls upldoc.glo
+%<en>mendex -U -f -s gglo.ist -o upldoc-en.gls upldoc-en.glo
+echo "\includeonly{}" > ltxdoc.cfg
+%<ja>uplatex upldoc.tex
+%<en>uplatex -jobname=upldoc-en upldoc.tex
+echo "" > ltxdoc.cfg
+%<ja>uplatex upldoc.tex
+%<en>uplatex -jobname=upldoc-en upldoc.tex
+# EOT
+%</shprog>
+% \end{macrocode}
+%
+%
+%\ifJAPANESE
+% \subsection{perlスクリプト\file{dstcheck.pl}}\label{app:plprog}
+% \pLaTeXe{}のものがそのまま使えるので、\upLaTeXe{}では省略します。
+%\else
+% \subsection{Perl Script \file{dstcheck.pl}}\label{app:plprog}
+% The one from \pLaTeXe\ can be use without any change, so
+% omitted here in \upLaTeXe.
+%\fi
+%
+%
+%\ifJAPANESE
+% \subsection{\dst{}バッチファイル}
+% 付録\ref{app:shprog}で説明をしたスクリプトを、このファイルから
+% 取り出すための\dst{}バッチファイルです。コードは\pLaTeXe{}の
+% ものと(ファイル名を除き)ほぼ同一なので、説明は割愛します。
+%\else
+% \subsection{\dst{} Batch file}
+% Here we introduce a \dst\ batch file `Xins.ins,' which generates the
+% script described in Appendix \ref{app:shprog}.
+% The code is almost identical to that in \pLaTeXe.
+%\fi
+%
+% \begin{macrocode}
+%<*Xins>
+\input docstrip
+\keepsilent
+% \end{macrocode}
+%
+% \begin{macrocode}
+{\catcode`#=12 \gdef\MetaPrefix{## }}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\declarepreamble\thispre
+\endpreamble
+\usepreamble\thispre
+% \end{macrocode}
+%
+% \begin{macrocode}
+\declarepostamble\thispost
+\endpostamble
+\usepostamble\thispost
+% \end{macrocode}
+%
+% \begin{macrocode}
+\generate{
+ \file{mkpldoc.sh}{\from{uplatex.dtx}{shprog,ja}}
+ \file{mkpldoc-en.sh}{\from{uplatex.dtx}{shprog,en}}
+}
+\endbatchfile
+%</Xins>
+% \end{macrocode}
+%
+% \newpage
+% \begin{thebibliography}{9}
+% \bibitem{tb108tanaka}
+% Takuji Tanaka,
+% \newblock Up\TeX\ --- Unicode version of \pTeX\ with CJK extensions
+% \newblock TUGboat issue 34:3, 2013.\\
+% (\texttt{http://tug.org/TUGboat/tb34-3/tb108tanaka.pdf})
+% \end{thebibliography}
+%
+% \iffalse
+% ここで、このあとに組版されるかもしれない文書のために、
+% 節見出しの番号を算用数字に戻します。
+% \fi
+%
+% \renewcommand{\thesection}{\arabic{section}}
+%
+% \Finale
+%
+\endinput
diff --git a/language/japanese/uplatex/uplatex.ini b/language/japanese/uplatex/uplatex.ini
new file mode 100644
index 0000000000..5ac594b3aa
--- /dev/null
+++ b/language/japanese/uplatex/uplatex.ini
@@ -0,0 +1,9 @@
+%% for upLaTeX (Unicode pLaTeX)
+%% written by Tono san (modified by texjporg 2016/05/12)
+%%
+\begingroup \catcode`\{=1 \catcode`\}=2%
+ \immediate\write20{<<< making "uplatex with Babel" format >>>}
+\endgroup
+\scrollmode
+\input uplatex.ltx
+\endinput
diff --git a/language/japanese/uplatex/uplatex.pdf b/language/japanese/uplatex/uplatex.pdf
new file mode 100644
index 0000000000..cb65a3fef6
--- /dev/null
+++ b/language/japanese/uplatex/uplatex.pdf
Binary files differ
diff --git a/language/japanese/uplatex/uplcls.ins b/language/japanese/uplatex/uplcls.ins
new file mode 100644
index 0000000000..7876d28c99
--- /dev/null
+++ b/language/japanese/uplatex/uplcls.ins
@@ -0,0 +1,49 @@
+\input docstrip
+\keepsilent
+\ifToplevel{\askonceonly}
+\usedir{tex/uplatex/base}
+
+\Msg{*** Generating the upLaTeX class files ***}
+
+\preamble
+
+Copyright (c) 2010 ASCII MEDIA WORKS
+Copyright (c) 2016 Takuji Tanaka
+Copyright (c) 2016-2019 Japanese TeX Development Community
+
+This file is part of the upLaTeX2e system (community edition).
+--------------------------------------------------------------
+
+\endpreamble
+
+%
+% 横組用クラスファイル
+%
+\generate{
+ \file{ujarticle.cls}{\from{ujclasses.dtx}{article,yoko}}
+ \file{ujreport.cls}{\from{ujclasses.dtx}{report,yoko}}
+ \file{ujbook.cls}{\from{ujclasses.dtx}{book,yoko}}
+ \file{ujsize10.clo}{\from{ujclasses.dtx}{10pt,yoko}}
+ \file{ujsize11.clo}{\from{ujclasses.dtx}{11pt,yoko}}
+ \file{ujsize12.clo}{\from{ujclasses.dtx}{12pt,yoko}}
+ \file{ujbk10.clo}{\from{ujclasses.dtx}{10pt,bk,yoko}}
+ \file{ujbk11.clo}{\from{ujclasses.dtx}{11pt,bk,yoko}}
+ \file{ujbk12.clo}{\from{ujclasses.dtx}{12pt,bk,yoko}}
+}
+
+%
+% 縦組用クラスファイル
+%
+\generate{
+ \file{utarticle.cls}{\from{ujclasses.dtx}{article,tate}}
+ \file{utreport.cls}{\from{ujclasses.dtx}{report,tate}}
+ \file{utbook.cls}{\from{ujclasses.dtx}{book,tate}}
+ \file{utsize10.clo}{\from{ujclasses.dtx}{10pt,tate}}
+ \file{utsize11.clo}{\from{ujclasses.dtx}{11pt,tate}}
+ \file{utsize12.clo}{\from{ujclasses.dtx}{12pt,tate}}
+ \file{utbk10.clo}{\from{ujclasses.dtx}{10pt,bk,tate}}
+ \file{utbk11.clo}{\from{ujclasses.dtx}{11pt,bk,tate}}
+ \file{utbk12.clo}{\from{ujclasses.dtx}{12pt,bk,tate}}
+}
+
+\endbatchfile
diff --git a/language/japanese/uplatex/upldoc.pdf b/language/japanese/uplatex/upldoc.pdf
new file mode 100644
index 0000000000..807e450215
--- /dev/null
+++ b/language/japanese/uplatex/upldoc.pdf
Binary files differ
diff --git a/language/japanese/uplatex/upldocs.ins b/language/japanese/uplatex/upldocs.ins
new file mode 100644
index 0000000000..8dd59de163
--- /dev/null
+++ b/language/japanese/uplatex/upldocs.ins
@@ -0,0 +1,24 @@
+\input docstrip
+\keepsilent
+\ifToplevel{\askonceonly}
+\usedir{tex/uplatex/base}
+
+\Msg{*** Generating the upLaTeX files for making the documents ***}
+
+\preamble
+
+Copyright (c) 2010 ASCII MEDIA WORKS
+Copyright (c) 2016 Takuji Tanaka
+Copyright (c) 2016-2018 Japanese TeX Development Community
+
+This file is part of the upLaTeX2e system (community edition).
+--------------------------------------------------------------
+
+\endpreamble
+
+\generate{
+ \file{upldoc.tex}{\from{uplatex.dtx}{pldoc}}
+ \file{Xins.ins}{\from{uplatex.dtx}{Xins}}
+}
+
+\endbatchfile
diff --git a/language/japanese/uplatex/uplfmt.ins b/language/japanese/uplatex/uplfmt.ins
new file mode 100644
index 0000000000..884cfc1840
--- /dev/null
+++ b/language/japanese/uplatex/uplfmt.ins
@@ -0,0 +1,32 @@
+\input docstrip
+\keepsilent
+\ifToplevel{\askonceonly}
+\usedir{tex/uplatex/base}
+
+\Msg{*** Generating the upLaTeX files for making the documents ***}
+
+\preamble
+
+Copyright (c) 2010 ASCII MEDIA WORKS
+Copyright (c) 2016 Takuji Tanaka
+Copyright (c) 2016-2018 Japanese TeX Development Community
+
+This file is part of the upLaTeX2e system (community edition).
+--------------------------------------------------------------
+
+\endpreamble
+
+\generate{
+ \file{uplatex.ltx}{\from{uplatex.dtx}{plcore}}
+ \file{uplcore.ltx}{\from{uplvers.dtx}{plcore}
+ \from{uplvers.dtx}{plfinal}}
+ \file{ukinsoku.tex}{\from{ukinsoku.dtx}{plcore}}
+ \file{upldefs.ltx}{\from{uplfonts.dtx}{pldefs,xpt}}
+ \file{jy2mc.fd}{\from{uplfonts.dtx}{JY2mc}}
+ \file{jy2gt.fd}{\from{uplfonts.dtx}{JY2gt}}
+ \file{jt2mc.fd}{\from{uplfonts.dtx}{JT2mc}}
+ \file{jt2gt.fd}{\from{uplfonts.dtx}{JT2gt}}
+ \file{uptrace.sty}{\from{uplfonts.dtx}{trace}}
+}
+
+\endbatchfile
diff --git a/language/japanese/uplatex/uplfonts.dtx b/language/japanese/uplatex/uplfonts.dtx
new file mode 100644
index 0000000000..1a988137bb
--- /dev/null
+++ b/language/japanese/uplatex/uplfonts.dtx
@@ -0,0 +1,482 @@
+% \iffalse meta-comment
+%% File: uplfonts.dtx
+%
+% pLaTeX fonts files:
+% Copyright 1994-2006 ASCII Corporation.
+% and modified for upLaTeX
+%
+% Copyright (c) 2010 ASCII MEDIA WORKS
+% Copyright (c) 2016 Takuji Tanaka
+% Copyright (c) 2016-2018 Japanese TeX Development Community
+%
+% This file is part of the upLaTeX2e system (community edition).
+% --------------------------------------------------------------
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ifx\JAPANESEtrue\undefined
+ \expandafter\newif\csname ifJAPANESE\endcsname
+ \JAPANESEtrue
+\fi
+\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}
+\def\upTeX{u\pTeX}
+\def\eupTeX{$\varepsilon$-\upTeX}
+\def\upLaTeX{u\pLaTeX}
+\def\upLaTeXe{u\pLaTeXe}
+%</driver>
+% \fi
+%
+% \setcounter{StandardModuleDepth}{1}
+% \StopEventually{}
+%
+% \iffalse
+% \changes{v1.5-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。
+% (based on plfonts.dtx 2006/11/10 v1.5)}
+% \changes{v1.6a-u00}{2016/04/06}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2016/04/01 v1.6a)}
+% \changes{v1.6b-u00}{2016/04/30}{uptrace.styの冒頭でtracefnt.styを
+% \cs{RequirePackageWithOptions}するようにした
+% (based on plfonts.dtx 2016/04/30 v1.6b)}
+% \changes{v1.6c-u00}{2016/06/06}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2016/06/06 v1.6c)}
+% \changes{v1.6d-u00}{2016/06/19}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2016/06/19 v1.6d)}
+% \changes{v1.6e-u00}{2016/06/29}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2016/06/26 v1.6e)}
+% \changes{v1.6f-u00}{2017/03/05}{uptrace.styのplatexrelease対応
+% (based on plfonts.dtx 2017/02/20 v1.6f)}
+% \changes{v1.6g-u00}{2017/03/08}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2017/03/07 v1.6g)}
+% \changes{v1.6h-u00}{2017/08/05}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2017/08/05 v1.6h)}
+% \changes{v1.6i-u00}{2017/09/24}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2017/09/24 v1.6i)}
+% \changes{v1.6j-u00}{2017/11/06}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2017/11/06 v1.6j)}
+% \changes{v1.6k-u00}{2017/12/05}{デフォルト設定ファイルの読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on plfonts.dtx 2017/12/05 v1.6k)}
+% \changes{v1.6k-u01}{2017/12/10}{uptraceパッケージは
+% ptraceパッケージを読み込むだけとした}
+% \changes{v1.6k-u02}{2017/12/10}{p\LaTeX{}との統合のため、
+% up\LaTeX{}用の最小限の変更だけを定義するようにした}
+% \changes{v1.6l-u02}{2018/02/04}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2018/02/04 v1.6l)}
+% \changes{v1.6q-u02}{2018/07/03}{p\LaTeX{}の変更に追随。
+% (based on plfonts.dtx 2018/07/03 v1.6q)}
+% \fi
+%
+% \iffalse
+%<*driver>
+\NeedsTeXFormat{pLaTeX2e}
+% \fi
+\ProvidesFile{uplfonts.dtx}[2018/07/03 v1.6q-u02 upLaTeX New Font Selection Scheme]
+% \iffalse
+\documentclass{jltxdoc}
+\GetFileInfo{uplfonts.dtx}
+\title{up\LaTeXe{}のフォントコマンド\space\fileversion}
+\author{Ken Nakano \& Hideaki Togashi \& TTK}
+\date{作成日:\filedate}
+\begin{document}
+ \maketitle
+ \tableofcontents
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \section{概要}\label{plfonts:intro}
+% ここでは、和文書体を\NFSS2のインターフェイスで選択するための
+% コマンドやマクロについて説明をしています。
+% また、フォント定義ファイルや初期設定ファイルなどの説明もしています。
+% 新しいフォント選択コマンドの使い方については、\file{fntguide.tex}や
+% \file{usrguide.tex}を参照してください。
+% \changes{v1.5-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。
+% (based on plfonts.dtx 2006/11/10 v1.5)}
+% \changes{v1.6k-u02}{2017/12/10}{p\LaTeX{}との統合のため、
+% up\LaTeX{}用の最小限の変更だけを定義するようにした}
+%
+% \begin{description}
+% \item[第\ref{plfonts:intro}節] この節です。このファイルの概要と
+% \dst{}プログラムのためのオプションを示しています。
+% \item[第\ref{plfonts:codes}節] 実際のコードの部分です。
+% \item[第\ref{plfonts:pldefs}節] プリロードフォントやエラーフォントなどの
+% 初期設定について説明をしています。
+% \item[第\ref{plfonts:fontdef}節] フォント定義ファイルについて
+% 説明をしています。
+% \end{description}
+%
+%
+% \subsection{\dst{}プログラムのためのオプション}
+% \dst{}プログラムのためのオプションを次に示します。
+%
+% \DeleteShortVerb{\|}
+% \begin{center}
+% \begin{tabular}{l|p{0.7\linewidth}}
+% \emph{オプション} & \emph{意味}\\\hline
+% plcore & \file{uplcore.ltx}の断片を生成するオプションでしたが、削除。\\
+% trace & \file{uptrace.sty}を生成します。\\
+% JY2mc & 横組用、明朝体のフォント定義ファイルを生成します。\\
+% JY2gt & 横組用、ゴシック体のフォント定義ファイルを生成します。\\
+% JT2mc & 縦組用、明朝体のフォント定義ファイルを生成します。\\
+% JT2gt & 縦組用、ゴシック体のフォント定義ファイルを生成します。\\
+% pldefs & \file{upldefs.ltx}を生成します。次の4つのオプションを付加する
+% ことで、プリロードするフォントを選択することができます。
+% デフォルトは10ptです。\\
+% xpt & 10pt プリロード\\
+% xipt & 11pt プリロード\\
+% xiipt & 12pt プリロード\\
+% ori & \file{plfonts.tex}に似たプリロード\\
+% \end{tabular}
+% \end{center}
+% \MakeShortVerb{\|}
+%
+%
+%
+% \section{コード}\label{plfonts:codes}
+% \NFSS2の拡張は、p\LaTeX{}において\file{plfonts.dtx}から生成される
+% \file{plcore.ltx}をそのまま利用するので、up\LaTeX{}では定義しません。
+% 後方互換性のため、\file{uptrace.sty}を提供しますが、
+% これも単に\file{ptrace.sty}を読み込むだけとします。
+%
+% \changes{v1.6b-u00}{2016/04/30}{uptrace.styの冒頭でtracefnt.styを
+% \cs{RequirePackageWithOptions}するようにした}
+% \changes{v1.6k-u01}{2017/12/10}{uptraceパッケージは
+% ptraceパッケージを読み込むだけとした}
+% \begin{macrocode}
+%<*trace>
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesPackage{uptrace}
+ [2017/12/10 v1.6k-u02 Standard upLaTeX package (font tracing)]
+\RequirePackageWithOptions{ptrace}
+%</trace>
+% \end{macrocode}
+%
+% デフォルト設定ファイル\file{upldefs.ltx}は、もともと\file{uplcore.ltx}の途中で
+% 読み込んでいましたが、2018年以降の新しいコミュニティ版\upLaTeX{}では
+% \file{uplatex.ltx}から読み込むことにしました。
+% 実際の中身については、第\ref{plfonts:pldefs}節を参照してください。
+% \changes{v1.6k-u00}{2017/12/05}{デフォルト設定ファイルの読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on plfonts.dtx 2017/12/05 v1.6k)}
+%
+%
+%
+%
+% \section{デフォルト設定ファイル}\label{plfonts:pldefs}
+% ここでは、フォーマットファイルに読み込まれるデフォルト値を設定しています。
+% この節での内容は\file{upldefs.ltx}に出力されます。
+% このファイルの内容を\file{uplcore.ltx}に含めてもよいのですが、
+% デフォルトの設定を参照しやすいように、別ファイルにしてあります。
+%
+% プリロードサイズは、\dst{}プログラムのオプションで変更することができます。
+% これ以外の設定を変更したい場合は、\file{upldefs.ltx}を
+% 直接、修正するのではなく、このファイルを\file{upldefs.cfg}という名前で
+% コピーをして、そのファイルに対して修正を加えるようにしてください。
+% \begin{macrocode}
+%<*pldefs>
+\ProvidesFile{upldefs.ltx}
+ [2018/02/04 v1.6l-u02 upLaTeX Kernel (Default settings)]
+%</pldefs>
+% \end{macrocode}
+%
+% \subsection{テキストフォント}
+% テキストフォントのための属性やエラー書体などの宣言です。
+% p\LaTeX{}のデフォルトの横組エンコードはJY1、縦組エンコードはJT1ですが、
+% up\LaTeX{}では横組エンコードはJY2、縦組エンコードはJT2とします。
+% \noindent
+% 縦横エンコード共通:
+% \begin{macrocode}
+%<*pldefs>
+\DeclareKanjiEncodingDefaults{}{}
+\DeclareErrorKanjiFont{JY2}{mc}{m}{n}{10}
+% \end{macrocode}
+% 横組エンコード:
+% \begin{macrocode}
+\DeclareYokoKanjiEncoding{JY2}{}{}
+\DeclareKanjiSubstitution{JY2}{mc}{m}{n}
+% \end{macrocode}
+% 縦組エンコード:
+% \begin{macrocode}
+\DeclareTateKanjiEncoding{JT2}{}{}
+\DeclareKanjiSubstitution{JT2}{mc}{m}{n}
+% \end{macrocode}
+% 縦横のエンコーディングのセット化:
+% \changes{v1.6j}{2017/11/06}{縦横のエンコーディングのセット化を
+% plcoreからpldefsへ移動}
+% \begin{macrocode}
+\KanjiEncodingPair{JY2}{JT2}
+% \end{macrocode}
+% フォント属性のデフォルト値:
+% \begin{macrocode}
+\newcommand\mcdefault{mc}
+\newcommand\gtdefault{gt}
+\newcommand\kanjiencodingdefault{JY2}
+\newcommand\kanjifamilydefault{\mcdefault}
+\newcommand\kanjiseriesdefault{\mddefault}
+\newcommand\kanjishapedefault{\updefault}
+% \end{macrocode}
+% 和文エンコードの指定:
+% \begin{macrocode}
+\kanjiencoding{JY2}
+% \end{macrocode}
+% フォント定義:
+% これらの具体的な内容は第\ref{plfonts:fontdef}節を参照してください。
+% \changes{v1.3}{1997/01/24}{Rename font definition filename.}
+% \begin{macrocode}
+\input{jy2mc.fd}
+\input{jy2gt.fd}
+\input{jt2mc.fd}
+\input{jt2gt.fd}
+% \end{macrocode}
+% フォントを有効にします。
+% \begin{macrocode}
+\fontencoding{JT2}\selectfont
+\fontencoding{JY2}\selectfont
+% \end{macrocode}
+%
+% \begin{macro}{\textmc}
+% \begin{macro}{\textgt}
+% \changes{v1.3b}{1997/01/28}{\cs{textmc}, \cs{textgt}の動作修正}
+% テキストファミリを切り替えるためのコマンドです。
+% \file{ltfntcmd.dtx}で定義されている|\textrm|などに対応します。
+% \begin{macrocode}
+\DeclareTextFontCommand{\textmc}{\mcfamily}
+\DeclareTextFontCommand{\textgt}{\gtfamily}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\em}
+% \begin{macro}{\emph}
+% \begin{macro}{\eminnershape}
+% \changes{v1.3d}{1997/06/25}{\cs{em},\cs{emph}で和文を強調書体に}
+% \changes{v1.6}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}での\cs{em}の
+% 定義変更に対応。\cs{eminnershape}を追加。}
+% 従来は|\em|, |\emph|で和文フォントの切り替えは行っていませんでしたが、
+% 和文フォントも|\gtfamily|に切り替えるようにしました。
+% \LaTeX\ \texttt{<2015/01/01>}で追加された|\eminnershape|も取り入れ、
+% 強調コマンドを入れ子にする場合の書体を自由に再定義できるようになりました。
+% \begin{macrocode}
+%</pldefs>
+%<platexrelease>\plIncludeInRelease{2016/04/17}{\eminnershape}{\eminnershape}%
+%<*pldefs|platexrelease>
+\DeclareRobustCommand\em
+ {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+ \eminnershape \else \gtfamily \itshape \fi}%
+\def\eminnershape{\mcfamily \upshape}%
+%</pldefs|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}%
+%<platexrelease>\DeclareRobustCommand\em
+%<platexrelease> {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+%<platexrelease> \mcfamily \upshape \else \gtfamily \itshape \fi}
+%<platexrelease>\def\eminnershape{\upshape}% defined by LaTeX, but not used by pLaTeX
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}%
+%<platexrelease>\DeclareRobustCommand\em
+%<platexrelease> {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+%<platexrelease> \mcfamily \upshape \else \gtfamily \itshape \fi}
+%<platexrelease>\let\eminnershape\@undefined
+%<platexrelease>\plEndIncludeInRelease
+%<*pldefs>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \changes{v1.3b}{1997/01/30}{数式用フォントの宣言をクラスファイルに移動した}
+%
+%
+% \subsection{プリロードフォント}
+% あらかじめフォーマットファイルにロードされるフォントの宣言です。
+% \dst{}プログラムのオプションでロードされるフォントのサイズを
+% 変更することができます。\file{uplfmt.ins}では|xpt|を指定しています。
+% \begin{macrocode}
+%<*xpt>
+\DeclarePreloadSizes{JY2}{mc}{m}{n}{5,7,10,12}
+\DeclarePreloadSizes{JY2}{gt}{m}{n}{5,7,10,12}
+\DeclarePreloadSizes{JT2}{mc}{m}{n}{5,7,10,12}
+\DeclarePreloadSizes{JT2}{gt}{m}{n}{5,7,10,12}
+%</xpt>
+%<*xipt>
+\DeclarePreloadSizes{JY2}{mc}{m}{n}{5,7,10.95,12}
+\DeclarePreloadSizes{JY2}{gt}{m}{n}{5,7,10.95,12}
+\DeclarePreloadSizes{JT2}{mc}{m}{n}{5,7,10.95,12}
+\DeclarePreloadSizes{JT2}{gt}{m}{n}{5,7,10.95,12}
+%</xipt>
+%<*xiipt>
+\DeclarePreloadSizes{JY2}{mc}{m}{n}{7,9,12,14.4}
+\DeclarePreloadSizes{JY2}{gt}{m}{n}{7,9,12,14.4}
+\DeclarePreloadSizes{JT2}{mc}{m}{n}{7,9,12,14.4}
+\DeclarePreloadSizes{JT2}{gt}{m}{n}{7,9,12,14.4}
+%</xiipt>
+%<*ori>
+\DeclarePreloadSizes{JY2}{mc}{m}{n}
+ {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
+\DeclarePreloadSizes{JY2}{gt}{m}{n}
+ {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
+\DeclarePreloadSizes{JT2}{mc}{m}{n}
+ {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
+\DeclarePreloadSizes{JT2}{gt}{m}{n}
+ {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
+%</ori>
+% \end{macrocode}
+%
+%
+% \subsection{組版パラメータ}
+% 禁則パラメータや文字間へ挿入するスペースの設定などです。
+% 実際の各文字への禁則パラメータおよびスペースの挿入の許可設定などは、
+% \file{ukinsoku.tex}で行なっています。
+% 具体的な設定については、\file{ukinsoku.dtx}を参照してください。
+% \begin{macrocode}
+\InputIfFileExists{ukinsoku.tex}%
+ {\message{Loading kinsoku patterns for japanese.}}
+ {\errhelp{The configuration for kinsoku is incorrectly installed.^^J%
+ If you don't understand this error message you need
+ to seek^^Jexpert advice.}%
+ \errmessage{OOPS! I can't find any kinsoku patterns for japanese^^J%
+ \space Think of getting some or the
+ uplatex2e setup will never succeed}\@@end}
+% \end{macrocode}
+%
+% 組版パラメータの設定をします。
+% |\kanjiskip|は、漢字と漢字の間に挿入されるグルーです。
+% |\noautospacing|で、挿入を中止することができます。
+% デフォルトは|\autospacing|です。
+% \begin{macrocode}
+\kanjiskip=0pt plus .4pt minus .5pt
+\autospacing
+% \end{macrocode}
+% |\xkanjiskip|は、和欧文間に自動的に挿入されるグルーです。
+% |\noautoxspacing|で、挿入を中止することができます。
+% デフォルトは|\autoxspacing|です。
+% \changes{v1.1c}{1995/09/12}{\cs{xkanjiskip}のデフォルト値}
+% \begin{macrocode}
+\xkanjiskip=.25zw plus1pt minus1pt
+\autoxspacing
+% \end{macrocode}
+% |\jcharwidowpenalty|は、パラグラフに対する禁則です。
+% パラグラフの最後の行が1文字だけにならないように調整するために使われます。
+% \begin{macrocode}
+\jcharwidowpenalty=500
+% \end{macrocode}
+%
+% \begin{macro}{\<}
+% 最後に、|\inhibitglue|の簡略形を定義します。
+% このコマンドは、和文フォントのメトリック情報から、自動的に挿入される
+% グルーの挿入を禁止します。
+%
+% 2014年のp\TeX{}の|\inhibitglue|のバグ修正に伴い、
+% |\inhibitglue|が垂直モードでは効かなくなりました。
+% \LaTeX{}では垂直モードと水平モードの区別が隠されていますので、
+% p\LaTeX{}の追加命令である|\<|は段落頭でも効くように修正します。
+%
+% |\DeclareRobustCommand|を使うと|\protect|の影響で前方の文字に対する
+% |\inhibitglue|が効かなくなるので、e-\TeX{}の|\protected|が必要です。
+% \changes{v1.6i}{2017/09/24}{\cs{<}が段落頭でも効くようにした}
+% \begin{macrocode}
+%</pldefs>
+%<platexrelease>\plIncludeInRelease{2017/10/28}{\<}
+%<platexrelease> {\inhibitglue in vertical mode}%
+%<*pldefs|platexrelease>
+\ifx\protected\@undefined
+\def\<{\inhibitglue}
+\else
+\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
+\fi
+%</pldefs|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\<}
+%<platexrelease> {\inhibitglue in vertical mode}%
+%<platexrelease>\def\<{\inhibitglue}
+%<platexrelease>\plEndIncludeInRelease
+%<*pldefs>
+% \end{macrocode}
+% \end{macro}
+%
+% ここまでが、\file{pldefs.ltx}の内容です。
+% \begin{macrocode}
+%</pldefs>
+% \end{macrocode}
+%
+%
+%
+% \section{フォント定義ファイル}\label{plfonts:fontdef}
+% \changes{v1.3}{1997/01/24}{Rename provided font definition filename.}
+% ここでは、フォント定義ファイルの設定をしています。フォント定義ファイルは、
+% \LaTeX{}のフォント属性を\TeX{}フォントに置き換えるためのファイルです。
+% 記述方法についての詳細は、|fntguide.tex|を参照してください。
+%
+% 欧文書体の設定については、
+% \file{cmfonts.fdd}や\file{slides.fdd}などを参照してください。
+% \file{skfonts.fdd}には、写研代用書体を使うためのパッケージと
+% フォント定義が記述されています。
+% \begin{macrocode}
+%<JY2mc>\ProvidesFile{jy2mc.fd}
+%<JY2gt>\ProvidesFile{jy2gt.fd}
+%<JT2mc>\ProvidesFile{jt2mc.fd}
+%<JT2gt>\ProvidesFile{jt2gt.fd}
+%<JY2mc,JY2gt,JT2mc,JT2gt> [2018/07/03 v1.6q-u02 KANJI font defines]
+% \end{macrocode}
+% 横組用、縦組用ともに、
+% 明朝体のシリーズ|bx|がゴシック体となるように宣言しています。
+% \changes{v1.2}{1995/11/24}{it, sl, scの宣言を外した}
+% \changes{v1.3b}{1997/01/29}{フォント定義ファイルのサイズ指定の調整}
+% \changes{v1.3b}{1997/03/11}{すべてのサイズをロード可能にした}
+% また、シリーズ|b|は同じ書体の|bx|と等価になるように宣言します。
+% \changes{v1.6q}{2018/07/03}{シリーズbがbxと等価になるように宣言}
+%
+% p\LaTeX{}では従属書体にOT1エンコーディングを指定していましたが、
+% up\LaTeX{}ではT1エンコーディングを用いるように変更しました。
+% また、要求サイズ(指定されたフォントサイズ)が10ptのとき、
+% 全角幅の実寸が9.62216ptとなるようにしますので、
+% 和文スケール値($1\,\mathrm{zw} \div \textmc{要求サイズ}$)は
+% $9.62216\,\mathrm{pt}/10\,\mathrm{pt}=0.962216$です。
+% upjis系のメトリックは全角幅が10ptでデザインされているので、
+% これを0.962216倍で読込みます。
+% \changes{v1.6l}{2018/02/04}{和文スケール値を明文化}
+% \begin{macrocode}
+%<*JY2mc>
+\DeclareKanjiFamily{JY2}{mc}{}
+\DeclareRelationFont{JY2}{mc}{m}{}{T1}{cmr}{m}{}
+\DeclareRelationFont{JY2}{mc}{bx}{}{T1}{cmr}{bx}{}
+\DeclareFontShape{JY2}{mc}{m}{n}{<->s*[0.962216]upjisr-h}{}
+\DeclareFontShape{JY2}{mc}{bx}{n}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY2}{mc}{b}{n}{<->ssub*mc/bx/n}{}
+%</JY2mc>
+%<*JT2mc>
+\DeclareKanjiFamily{JT2}{mc}{}
+\DeclareRelationFont{JT2}{mc}{m}{}{T1}{cmr}{m}{}
+\DeclareRelationFont{JT2}{mc}{bx}{}{T1}{cmr}{bx}{}
+\DeclareFontShape{JT2}{mc}{m}{n}{<->s*[0.962216]upjisr-v}{}
+\DeclareFontShape{JT2}{mc}{bx}{n}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT2}{mc}{b}{n}{<->ssub*mc/bx/n}{}
+%</JT2mc>
+%<*JY2gt>
+\DeclareKanjiFamily{JY2}{gt}{}
+\DeclareRelationFont{JY2}{gt}{m}{}{T1}{cmr}{bx}{}
+\DeclareFontShape{JY2}{gt}{m}{n}{<->s*[0.962216]upjisg-h}{}
+\DeclareFontShape{JY2}{gt}{bx}{n}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY2}{gt}{b}{n}{<->ssub*gt/bx/n}{}
+%</JY2gt>
+%<*JT2gt>
+\DeclareKanjiFamily{JT2}{gt}{}
+\DeclareRelationFont{JT2}{gt}{m}{}{T1}{cmr}{bx}{}
+\DeclareFontShape{JT2}{gt}{m}{n}{<->s*[0.962216]upjisg-v}{}
+\DeclareFontShape{JT2}{gt}{bx}{n}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT2}{gt}{b}{n}{<->ssub*gt/bx/n}{}
+%</JT2gt>
+% \end{macrocode}
+%
+%
+% \Finale
+%
+\endinput
diff --git a/language/japanese/uplatex/uplvers.dtx b/language/japanese/uplatex/uplvers.dtx
new file mode 100644
index 0000000000..f6f8869e84
--- /dev/null
+++ b/language/japanese/uplatex/uplvers.dtx
@@ -0,0 +1,194 @@
+% \iffalse meta-comment
+%% File: uplvers.dtx
+%
+% pLaTeX version setting file:
+% Copyright 1995-2006 ASCII Corporation.
+% and modified for upLaTeX
+%
+% Copyright (c) 2010 ASCII MEDIA WORKS
+% Copyright (c) 2016 Takuji Tanaka
+% Copyright (c) 2016-2019 Japanese TeX Development Community
+%
+% This file is part of the upLaTeX2e system (community edition).
+% --------------------------------------------------------------
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ifx\JAPANESEtrue\undefined
+ \expandafter\newif\csname ifJAPANESE\endcsname
+ \JAPANESEtrue
+\fi
+\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}
+\def\upTeX{u\pTeX}
+\def\eupTeX{$\varepsilon$-\upTeX}
+\def\upLaTeX{u\pLaTeX}
+\def\upLaTeXe{u\pLaTeXe}
+%</driver>
+% \fi
+%
+% \setcounter{StandardModuleDepth}{1}
+% \StopEventually{}
+%
+% \iffalse
+% \changes{v1.0q-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。
+% (based on plvers.dtx 2006/11/10 v1.0q)}
+% \changes{v1.0u-u00}{2016/04/17}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2016/04/17 v1.0u)}
+% \changes{v1.0w-u00}{2016/05/12}{起動時の文字列に入れるBabelのバージョンを
+% 元の\LaTeX{}のバナーから取得するコードを\file{uplatex.ini}から取り入れた
+% (based on plvers.dtx 2016/05/12 v1.0w)}
+% \changes{v1.0w-u01}{2016/05/21}{サポート外の\LaTeX~2.09互換モードが
+% 使われた場合に明確なエラーを出すようにした。}
+% \changes{v1.0x-u01}{2016/06/19}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2016/06/19 v1.0x)}
+% \changes{v1.0y-u01}{2016/06/29}{\file{uplatex.cfg}の読み込みを追加
+% (based on plvers.dtx 2016/06/27 v1.0y)}
+% \changes{v1.0z-u01}{2016/08/26}{\file{uplatex.cfg}の読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on plvers.dtx 2016/08/26 v1.0z)}
+% \changes{v1.1-u01}{2016/09/14}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2016/09/14 v1.1)}
+% \changes{v1.1c-u01}{2017/05/04}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2017/04/23 v1.1c)}
+% \changes{v1.1d-u01}{2017/09/24}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2017/09/24 v1.1d)}
+% \changes{v1.1g-u01}{2017/12/04}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2017/12/04 v1.1g)}
+% \changes{v1.1g-u02}{2017/12/10}{p\LaTeX{}との統合のため、
+% up\LaTeX{}のバージョンと最小限の変更だけを定義するようにした}
+% \changes{v1.1h-u02}{2018/02/18}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2018/01/10 v1.1h)}
+% \changes{v1.1i-u02}{2018/03/31}{p\LaTeXe\ 2018/03/09以降必須}
+% \fi
+%
+% \iffalse
+%<*driver>
+% \fi
+\ProvidesFile{uplvers.dtx}[2018/03/31 v1.1i-u02 upLaTeX Kernel (Version Info)]
+% \iffalse
+\documentclass{jltxdoc}
+\GetFileInfo{uplvers.dtx}
+\author{Ken Nakano \& Hideaki Togashi \& TTK}
+\title{\filename}
+\date{作成日:\filedate}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \section{up\LaTeXe{}のバージョンの設定}
+% まず、このディストリビューションでのup\LaTeXe{}の日付とバージョン番号
+% を定義します。
+% このバージョンのup\LaTeXe{}のフォーマット作成では、
+% p\LaTeXe{}が提供する\file{plcore.ltx}の後から
+% \file{uplcore.ltx}が読まれなければなりません。
+%
+% \changes{v1.0q-u00}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。
+% (based on plvers.dtx 2006/11/10 v1.0q)}
+% \changes{v1.1g-u02}{2017/12/10}{p\LaTeX{}との統合のため、
+% up\LaTeX{}のバージョンと最小限の変更だけを定義するようにした}
+%
+% まず、次のバージョンのp\LaTeX{}が利用可能なことを確認します。
+% \changes{v1.1i-u02}{2018/03/31}{p\LaTeXe\ 2018/03/09以降必須}
+% \begin{macrocode}
+%<*plcore>
+\ifx\pfmtversion\@undefined
+ \errhelp{Please update your TeX installation; if not available,
+ obtain it^^Jmanually from CTAN
+ (https://ctan.org/pkg/uplatex) or from^^JGitHub
+ (https://github.com/texjporg/uplatex).}%
+ \errmessage{This should not happen!^^JThere should be some
+ inconsistency in your installation;^^Jtry
+ removing old `uplatex.ltx' and install the
+ latest one}\@@end
+\else
+ \ifnum\expandafter\@parse@version\pfmtversion//00\@nil<20180309
+ \errhelp{Please update your TeX installation; if not available,
+ obtain it^^Jmanually from CTAN
+ (https://ctan.org/pkg/platex) or from^^JGitHub
+ (https://github.com/texjporg/platex).}%
+ \errmessage{This version of upLaTeX2e requires pLaTeX2e 2018/03/09
+ or newer!^^JObtain a newer version of `platex',
+ otherwise upLaTeX2e setup will^^Jnever succeed}\@@end
+ \fi
+\fi
+%</plcore>
+% \end{macrocode}
+%
+% \begin{macro}{\pfmtname}
+% \begin{macro}{\pfmtversion}
+% \begin{macro}{\ppatch@level}
+% up\LaTeXe{}のフォーマットファイル名とバージョンです。
+% フォーマット名はp\LaTeXe{}のもの (\pfmtname) をそのまま引き継ぎ、
+% バージョンはp\LaTeXe{}のものの末尾に``u02''のようにサフィックスを付けます。
+% \begin{macrocode}
+%<*plcore>
+%\def\pfmtname{pLaTeX2e}
+\def\uppatch@level{u02}
+\edef\pfmtversion{\pfmtversion\uppatch@level}
+%</plcore>
+% \end{macrocode}
+% \end{macro}
+% \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.\MessageBreak Use \noexpand\documentclass instead}{%
+ \noexpand\documentstyle is an old convention of LaTeX 2.09,
+ which has been\MessageBreak obsolete since 1995. upLaTeX is
+ first released in 2007, so we do\MessageBreak not provide any
+ emulation of the LaTeX 2.09 author environment.\MessageBreak
+ New documents should use Standard LaTeX conventions, and
+ start\MessageBreak with the \noexpand\documentclass command.}%
+ \documentclass}
+%</plfinal>
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{起動時に表示するバナー}
+%
+% \begin{macro}{\everyjob}
+% up\LaTeXe{}が起動されたときに表示される文字列は、
+% p\LaTeXe{}の中ですでに設定されています。
+% \changes{v1.0w-u00}{2016/05/12}{起動時の文字列に入れるBabelのバージョンを
+% 元の\LaTeX{}のバナーから取得するコードを\file{uplatex.ini}から取り入れた
+% (based on plvers.dtx 2016/05/12 v1.0w)}
+% \changes{v1.1-u01}{2016/09/14}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2016/09/14 v1.1)}
+% \changes{v1.1d-u01}{2017/09/24}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2017/09/24 v1.1d)}
+% \changes{v1.1g-u01}{2017/12/04}{p\LaTeX{}の変更に追随。
+% (based on plvers.dtx 2017/12/04 v1.1g)}
+%
+% ^^A 起動時に\file{uplatex.cfg}がある場合、それを読み込むようにする
+% ^^A コードは、\file{uplcore.ltx}から\file{uplatex.ltx}へ移動しました。
+% \changes{v1.0y-u01}{2016/06/29}{\file{uplatex.cfg}の読み込みを追加
+% (based on plvers.dtx 2016/06/27 v1.0y)}
+% \changes{v1.0z-u01}{2016/08/26}{\file{uplatex.cfg}の読み込みを
+% \file{uplcore.ltx}から\file{uplatex.ltx}へ移動
+% (based on plvers.dtx 2016/08/26 v1.0z)}
+% \end{macro}
+%
+% \Finale
+%
+\endinput