%
% Copyright 1995-2001 ASCII Corporation.
% Copyright (c) 2010 ASCII MEDIA WORKS
-% Copyright (c) 2016-2019 Japanese TeX Development Community
+% Copyright (c) 2016-2020 Japanese TeX Development Community
%
% This file is part of the pLaTeX2e system (community edition).
% -------------------------------------------------------------
% (ありがとうございます、鈴木た@MILNさん)}
% \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
% \changes{v1.6-ltj}{2011/09/27}{jclasses.dtx v1.6 をベースにLua\LaTeX-ja用に修正。}
-% \changes{v1.6-ltj-2}{2013/06/06}{luatexja.cfgに対応.}
-% \changes{v1.6-ltj-3}{2014/06/08}{縦組クラスの時のgeometry.styに対応.}
-% \changes{v1.6-ltj-4}{2014/06/30}{組方向の変更箇所を現行のLua\TeX-jaの仕様に合うように修正.}
-% \changes{v1.6-ltj-5}{2014/07/02}{\cs{ifydir}, \cs{iftdir}を使わないように修正.}
-% \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正.}
-% \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正.}
-% \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
-% \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正.}
-% \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応.}
-% \changes{v1.6-ltj-11}{2016/07/19}{トンボ使用時の用紙サイズの設定方法を変更(aminophenさん,ありがとうございます).}
+% \changes{v1.6-ltj-2}{2013/06/06}{luatexja.cfgに対応。}
+% \changes{v1.6-ltj-3}{2014/06/08}{縦組クラスの時のgeometry.styに対応。}
+% \changes{v1.6-ltj-4}{2014/06/30}{組方向の変更箇所を現行のLua\TeX-jaの仕様に合うように修正。}
+% \changes{v1.6-ltj-5}{2014/07/02}{\cs{ifydir}, \cs{iftdir}を使わないように修正。}
+% \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正。}
+% \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正。}
+% \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離。それに伴いv1.6-ltj-3での変更を削除。}
+% \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正。}
+% \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応。}
+% \changes{v1.6-ltj-11}{2016/07/19}{トンボ使用時の用紙サイズの設定方法を変更(aminophenさん、ありがとうございます)。}
% \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.7c}{2016/12/18}{Only add empty page after part if
% twoside and openright (sync with classes.dtx v1.4b)}
% \changes{v1.7c-ltj-12}{2017/01/17}{|\stockwidth|,~|\stockheight|をトンボオプション指定時にのみ定義
-% (aminophenさん,ありがとうございます).}
+% (aminophenさん、ありがとうございます)。}
% \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
% ドキュメントを追加}
% \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
% 偶数ならば0にリセットするように変更}
% \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
% \changes{v1.7d-ltj-13}{2017/02/19}{縦組時クラスで|ftnright|パッケージを使うと
-% 脚注番号が上書きされ横に寝てしまう問題を修正(aminophenさん,ありがとうございます).}
+% 脚注番号が上書きされ横に寝てしまう問題を修正(aminophenさん、ありがとうございます)。}
% \changes{v1.7d-ltj-14}{2017/02/20}{openleftオプションの処理で\cs{iftdir}, \cs{ifydir}を
-% 誤って使っている問題を修正(aminophenさん,ありがとうございます).}
+% 誤って使っている問題を修正(aminophenさん、ありがとうございます)。}
% \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
% \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
% 奇数ページに送るように変更}
-% \changes{v1.7e-ltj-15}{2017/08/31}{本ドキュメントのタイプセットで,小塚フォントが存在するときには
-% それを用いるように変更(PDFサイズ削減のため).}
+% \changes{v1.7e-ltj-15}{2017/08/31}{本ドキュメントのタイプセットで、小塚フォントが存在するときには
+% それを用いるように変更(PDFサイズ削減のため)。}
% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
% \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
% \changes{v1.8d}{2019/10/25}{Don't use \cs{MakeRobust} if
% in rollback prior to 2015
% (sync with classes.dtx 2019/10/25 v1.4k)}
+% \changes{v1.8e}{2020/01/03}{Normalize label fonts
+% (sync with classes.dtx 2019/12/20 v1.4l)}
+% \changes{v1.8e-ltj-18}{2020/05/30}{原ノ味フォントが\TeX~Liveに導入されたことにより、
+% v1.8-ltj-16の変更を削除。「\pTeX と互換性を持たせる」メトリックの変更などは
+% 新設の|ptexmin|オプション指定時にのみ行うようにした。
+% 句読点を「、」「。」に統一。}
+% \changes{v1.8e-ltj-19}{2020/07/27}{|everyshi|パッケージへのパッチを別パッケージへ分離。}
+% \changes{v1.8e-ltj-20}{2020/08/03}{\LaTeX~2020-10-01への対応.}
+% \changes{v1.8f}{2020/09/30}{add a fourth argument for better
+% hyperref compability
+% (sync with ltsect.dtx 2020/07/27 v1.1e)}
% \fi
%
% \iffalse
%<11pt&bk>\ProvidesFile{ltjtbk11.clo}
%<12pt&bk>\ProvidesFile{ltjtbk12.clo}
%</tate>
- [2019/11/23 v1.8d-ltj-17
+ [2020-09-30 v1.8f-ltj-20
%<article|report|book> Standard LuaLaTeX-ja class]
%<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)]
%<*driver>
]
\documentclass{ltjltxdoc}
\GetFileInfo{ltjclasses.dtx}
-\begingroup
- \suppressfontnotfounderror=1
- \global\font\testfont=file:KozMinPr6N-Regular.otf
- \global\font\testfonta=file:HaranoAjiMincho-Regular.otf
-\endgroup
-\ifx\testfonta\nullfont\ifx\testfont\nullfont
- \usepackage[ipaex,nfssonly]{luatexja-preset}
-\else
- \usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
-\fi\else
- \usepackage[haranoaji,nfssonly]{luatexja-preset}
-\fi
-\let\testfont\undefined\let\testfonta\undefined
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\def\pLaTeX{p\kern-.05em\LaTeX}
% \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
% \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
%
-% \changes{v1.6-ltj-4}{2014/06/30}{本文の組方向を \cs{AtBeginDocument} で
-% 変更することができなくなったことに対応}
+% [2014-06-30 LTJ] 本文の組方向を \cs{AtBeginDocument}で変更することができなくなったことに対応。
% \begin{macrocode}
\DeclareOption{tate}{%
\tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
%
% 縦組クラスと|everyshi|パッケージの相性が悪い問題に対処します。
% この処理は、ZRさんの|pxeveryshi|パッケージと実質的に同じ内容です。
+%
+% [2020-07-27 LTJ] |lltjp-everyshi.sty|に移しました。
% \begin{macrocode}
%<*tate>
-\AtEndOfPackageFile{everyshi}{%
- \def\@EveryShipout@Output{%
- \setbox8\vbox{%
- \yoko
- \@EveryShipout@Hook
- \@EveryShipout@AtNextHook
- \global\setbox\luatexoutputbox=\box\luatexoutputbox
- }%
- \gdef\@EveryShipout@AtNextHook{}%
- \@EveryShipout@Org@Shipout\box\luatexoutputbox
- }}
+%\AtEndOfPackageFile{everyshi}{%
+% \def\@EveryShipout@Output{%
+% \setbox8\vbox{%
+% \yoko
+% \@EveryShipout@Hook
+% \@EveryShipout@AtNextHook
+% \global\setbox\luatexoutputbox=\box\luatexoutputbox
+% }%
+% \gdef\@EveryShipout@AtNextHook{}%
+% \@EveryShipout@Org@Shipout\box\luatexoutputbox
+% }}
%</tate>
% \end{macrocode}
%
% |mathrmmc|オプションは、
% |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
% \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
-% \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-ja本体が,主にメモリ消費を抑える目的で
-% |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。}
+%
+% [2018-10-08 LTJ] Lua\TeX-ja本体が、主にメモリ消費を抑える目的で
+% |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。
% \begin{macrocode}
\if@compatibility
\@mathrmmctrue
% \end{macrocode}
%
% \subsection{フォントメトリックの変更}
-%
% Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
-% 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、
+% 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、|ptexmin|オプション指定時のみ
% \begin{itemize}
% \item メトリックを\texttt{min10.tfm}ベースの\texttt{jfm-min.lua}に変更。
% \item 明朝とゴシックは両方とも\texttt{jfm-min.lua}を用いるが、
% 和文処理用グルー挿入時には「違うメトリックを使用」として思わせる。
% \item p\TeX と同様に、「異なるメトリックの2つの和文文字」の間には、両者から定める
% グルーを両方挿入する。
-% \item calllbackã\82\92å\88©ç\94¨ã\81\97ã\80\81æ¨\99æº\96ã\81§ç\94¨ã\81\84ã\82\8b\texttt{jfm-min.lua}ã\82\92ã\80\81段è\90½å§\8bã\82\81ã\81®æ\8b¬å¼§ã\81\8cå\85¨è§\92äº\8cå\88\86ä¸\8bã\81\8cã\82\8aã\81«ã\81ªã\82\8bã\82\88ã\81\86ã\81«å\86\85é\83¨ã\81§å¤\89æ\9b´ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
+% \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更。
%
% \end{itemize}
+% という変更を加えます。
%
% |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
-% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく、
-% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
-% セットされるものです。
+% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではありません。
%
-% \changes{v1.6-ltj-9}{2015/01/01}{サイズクラスのロード前にメトリックの変更を行わないと,
-% \cs{Cht}等の値が反映されないのでこの場所に移動させました.}
+% [2015-01-01 LTJ] サイズクラスのロード前にメトリックの変更を行わないと、
+% \cs{Cht}等の値が反映されないのでこの場所に移動させました。
+%
+% [2020-05-30 LTJ] 本節の内容は新設の|ptexmin|オプション指定時にのみ行うようにしました。
+% その関係で、実際の処理は|\ProcessOptions|のところに移動させました。
%
% \begin{macrocode}
%<*article|report|book>
-\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
- function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
- 'ltj.jclasses_load_jfm', 1)}
-{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
-\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
-\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
-\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
-\ltjglobalsetparameter{differentjfm=both}
-\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\newif\ifptexmin
+\DeclareOption{ptexmin}{\ptexmintrue}%
%</article|report|book>
% \end{macrocode}
%
% \subsection{disablejfamオプション}
-% \changes{v1.8b-ltj-17}{2019/08/12}{disablejfamの``Unused global option(s)''警告を出さないようにした}
-% disablejfamオプションはLua\TeX-ja本体で処理しますが,
-% もうLua\TeX-jaは読み込んでいるため,このままでは``Unused global option(s): [disablejfam]''警告が
-% 出てしまいます.そのため,「何もしない」disablejfamオプションをクラス内で定義しておきます.
+% disablejfamオプションはLua\TeX-ja本体で処理しますが、
+% もうLua\TeX-jaは読み込んでいるため、このままでは``Unused global option(s): [disablejfam]''警告が
+% 出てしまいます。そのため、「何もしない」disablejfamオプションをクラス内で定義しておきます。
+%
+% [2019-08-12 LTJ] |disablejfam|の``Unused global option(s)''警告を出さないようにした。
%
% \begin{macrocode}
%<*article|report|book>
%<yoko>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
%</book>
\ProcessOptions\relax
+% \end{macrocode}
+%
+% [2020-05-30 LTJ] 「フォントメトリックの変更」の節の内容の処理をここで行います。
+%
+% \begin{macrocode}
+\ifptexmin
+\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
+ function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
+ 'ltj.jclasses_load_jfm', 1)}
+{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
+\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
+\ltjglobalsetparameter{differentjfm=both}
+\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
%<book&tate>\input{ltjtbk1\@ptsize.clo}
%<!book&tate>\input{ltjtsize1\@ptsize.clo}
%<book&yoko>\input{ltjbk1\@ptsize.clo}
% \end{macrocode}
% 縦組用クラスファイルの場合は、ここで\file{plext.sty}も読み込みます。
% \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
-% \changes{v1.6-ltj-6}{2014/07/28}{Lua\TeX-jaでは,代わりに\file{lltjext.sty}を読み込みま
-% す.これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです.}
+
+% [2014-07-28 LTJ] Lua\TeX-jaでは、代わりに\file{lltjext.sty}を読み込みま
+% す。これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです。
% \begin{macrocode}
%<tate>\RequirePackage{lltjext}
%</article|report|book>
% 出力のPDFの用紙サイズをここで設定しておきます。
% |tombow|が真のときは2インチ足しておきます。
%
-% [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので,
-% それに合わせておきます.
+% [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので、
+% それに合わせておきます。
%
% [2016-07-19 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。
%
-% [2017-01-17 LTJ] [lt]jsclassesに合わせ,トンボオプションが指定されているとき「だけ」|\stockwidth|,
-% |\stockheight|を定義するようにしました。aminophenさん,ありがとうございます.
+% [2017-01-17 LTJ] [lt]jsclassesに合わせ、トンボオプションが指定されているとき「だけ」|\stockwidth|、
+% |\stockheight|を定義するようにしました。aminophenさん、ありがとうございます。
%
% \begin{macrocode}
\iftombow
% itemize環境のそれぞれの項目のラベルは、
% |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
% \changes{v1.1a}{1997/01/28}{Bug fix: \cs{labelitemii}.}
+% \changes{v1.8e}{2020/01/03}{Normalize label fonts
+% (sync with classes.dtx 2019/12/20 v1.4l)}
% \begin{macrocode}
-\newcommand{\labelitemi}{\textbullet}
+\newcommand{\labelitemi}{\labelitemfont \textbullet}
\newcommand{\labelitemii}{%
\ifnum\ltjgetparameter{direction}=3
- {\textcircled{~}}
+ {\labelitemfont \textcircled{~}}
\else
- {\normalfont\bfseries\textendash}
+ {\labelitemfont \bfseries\textendash}
\fi
}
-\newcommand{\labelitemiii}{\textasteriskcentered}
-\newcommand{\labelitemiv}{\textperiodcentered}
+\newcommand{\labelitemiii}{\labelitemfont \textasteriskcentered}
+\newcommand{\labelitemiv}{\labelitemfont \textperiodcentered}
+\newcommand\labelitemfont{\normalfont}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\addcontentsline}
% 縦組の場合にページ番号を|\rensuji|で囲むように変更します。
-% ^^A 横組のときにも`|\rensuji|'コマンドが出力されますが、
-% ^^A このコマンドによる影響はありません。
%
% このマクロは\file{ltsect.dtx}で定義されています。
+% ^^A 命令 |\addcontentsline| と |\addtocontents| を組み合わせ
% \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
% (sync with ltsect.dtx 2018/09/26 v1.1c)}
+% \changes{v1.8f}{2020/09/30}{add a fourth argument for better
+% hyperref compability
+% (sync with ltsect.dtx 2020/07/27 v1.1e)}
% \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}%
+%<tate> \@temptokena{\rensuji{\thepage}}%
+%<yoko> \@temptokena{\thepage}%
+ }{\string\@writefile{#1}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}{}%
\protected@file@percent}}%
}
% \end{macrocode}
% \pLaTeX\ 2018-12-01以前では縦数式ディレクション時でも漢数字で出力していましたが、
% \pLaTeX\ 2019-04-06以降からはそうしなくなりました。
%
-% \changes{v1.6-ltj-9}{2015/01/01}{縦組では,この漢数字による日付出力でエラーになりました.
-% Lua\TeX-ja では,\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました.}
+% [2015-01-01 LTJ] 縦組では、この漢数字による日付出力でエラーになりました。
+% Lua\TeX-ja では、\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました。
% \changes{v1.8b}{2019/04/02}{\cs{today}の計算・出力方法を変更。}
% \begin{macrocode}
\def\pltx@today@year@#1{%
% \changes{v1.0d}{1996/02/29}{articleとreportのデフォルトを
% \pstyle{plain}に修正}
% \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
-% \changes{v1.7d-ltj-13}{2017/02/19}{p\LaTeX とLua\TeX-jaの|\@makecol|が違うことを
-% 考慮していなかった}
+% [2017-02-19 LTJ] p\LaTeX とLua\TeX-jaの|\@makecol|が違うことを
+% 考慮していなかった。
% \begin{macrocode}
%<book>\pagestyle{headings}
%<!book>\pagestyle{plain}
% \section{各種パッケージへの対応}
% もともと縦組での利用を想定されていないいくつかのパッケージについて、
% 補正するためのコードを記述しておきます。
-% この節のコードは|filehook|パッケージ(Lua\TeX-ja読み込み時に自動でロードされます)
-% の機能を用いています。
+%% この節のコードは|filehook|パッケージ(Lua\TeX-ja読み込み時に自動でロードされます)
+%% の機能を用いています。
+%
+% [2020-08-03 LTJ] \LaTeX\~2020-10-01に対応するため、Lua\TeX-jaの提供する命令
+% (|filehook|パッケージの命令の別名か、新\LaTeX のフック機構を利用して同様の内容を書いたもの)
+% に置き換えました。
%
% \subsection{\texttt{ftnright}パッケージ}
% 脚注番号の書式が|ftnright|パッケージによって勝手に書き換えられるので、
% \changes{v1.7d}{2017/02/19}{コード追加}
% \begin{macrocode}
%<*article|report|book>
-\AtBeginOfPackageFile*{ftnright}{\let\ltjt@orig@@makefntext=\@makefntext}
-\AtEndOfPackageFile*{ftnright}{\let\@makefntext=\ltjt@orig@@makefntext}
+\ltj@ExecuteBeforePackage*{ftnright}{\let\ltjt@orig@@makefntext=\@makefntext}
+\ltj@ExecuteAfterPackage*{ftnright}{\let\@makefntext=\ltjt@orig@@makefntext}
%</article|report|book>
% \end{macrocode}
%