% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
% \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
+% \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
+% \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-jaが|disablejfam|オプションをサポートしたことによる変更}
+% \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
+% (sync with ltsect.dtx 2018/09/26 v1.1c)}
+% \changes{v1.8b}{2019/04/02}{新元号対応}
+
% \fi
%
% \iffalse
%<11pt&bk>\ProvidesFile{ltjtbk11.clo}
%<12pt&bk>\ProvidesFile{ltjtbk12.clo}
%</tate>
- [2018/02/04 v1.7h-ltj-15
+ [2019/04/06 v1.8b-ltj-16
%<article|report|book> Standard LuaLaTeX-ja class]
%<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)]
%<*driver>
\else
\usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
\fi
+\def\pLaTeX{p\kern-.05em\LaTeX}
\usepackage[unicode]{hyperref}
\title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
\author{Lua\TeX-jaプロジェクト}
% 全ての変更点を知りたい場合は、|jclasses.dtx|と|ltjclasses.dtx|で|diff|を
% とって下さい。
% \begin{itemize}
-% \item |disablejfam|オプションを無効化。もし
+% \item もし
% \begin{quotation}
% |! LaTeX Error: Too many math alphabets used in version ****.|
% \end{quotation}
% |mathrmmc|オプションは、
% |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
% \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
+% \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-ja本体が,主にメモリ消費を抑える目的で
+% |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。}
% \begin{macrocode}
\if@compatibility
\@mathrmmctrue
\else
- \DeclareOption{disablejfam}{%
- \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}}
\DeclareOption{mathrmmc}{\@mathrmmctrue}
\fi
% \end{macrocode}
% \LaTeX{} 2.09
% compatibility mode では和文数式フォントfamが2重定義されていた
% ので、その部分を変更しました。
+%
+% \changes{v1.8-ltj-14}{2018/10/08}{Lua\TeX-ja本体が|disablejfam|オプションをサポートしました。
+% クラス読み込み時に|disablejfam|オプションを指定した場合は、それがLua\TeX-jaに渡されて
+% 数式中に日本語を記述することができなくなります(|\mathmc|, |\mathgt|も定義されません)。}
% \begin{macrocode}
+\unless\ifltj@disablejfam
\if@compatibility\else
\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
}%
\fi
+\fi
% \end{macrocode}
%
% ここでは\LaTeX~2.09で一般的に使われていたコマンドを定義しています。
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@tocmarg}
+% \begin{macro}{\@tocrmarg}
% 複数行にわたる場合の右マージンです。
% \begin{macrocode}
\newcommand{\@tocrmarg}{2.55em}
% ^^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}}%
+%<tate> \@temptokena{\rensuji{\thepage}}}%
+%<yoko> \@temptokena{\thepage}}%
{\string\@writefile{#1}%
- {\protect\contentsline{#2}{#3}{\the\@temptokena}}}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}%
+ \protected@file@percent}}%
}
% \end{macrocode}
% \end{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西暦 \西暦false
+\newif\if西暦 \西暦true
\def\西暦{\西暦true}
\def\和暦{\西暦false}
% \end{macrocode}
%
% \begin{macro}{\heisei}
% \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
+% \changes{v1.8b}{2019/04/02}{\cs{heisei}の値は$\mbox{西暦}-1988$で固定}
% |\today|コマンドを|\rightmark|で指定したとき、|\rightmark|を出力する部分
% で和暦のための計算ができないので、クラスファイルを読み込む時点で計算して
% おきます。
% \end{macro}
%
% \begin{macro}{\today}
+% \begin{macro}{\pltx@today@year}
% 縦組の場合は、漢数字で出力します。
+% \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}を削除しました.}
+% \changes{v1.8b}{2019/04/02}{\cs{today}の計算・出力方法を変更。}
% \begin{macrocode}
-\def\today{{%
- \ifnum\ltjgetparameter{direction}=3
- \if西暦
- \kansuji\year 年
- \kansuji\month 月
- \kansuji\day 日
+\def\pltx@today@year@#1{%
+ \ifnum\numexpr\year-#1=1 元\else
+ \ifnum\ltjgetparameter{direction}=3
+ \kansuji\numexpr\year-#1\relax
\else
- 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
- \kansuji\month 月
- \kansuji\day 日
+ \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西暦
+ \ifnum\ltjgetparameter{direction}=3 \kansuji\year
+ \else\number\year\nobreak\fi 年
\else
- \if西暦
- \number\year~年
- \number\month~月
- \number\day~日
- \else
- 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi
- \number\month~月
- \number\day~日
- \fi
+ \pltx@today@year
+ \fi
+ \ifnum\ltjgetparameter{direction}=3
+ \kansuji\month 月
+ \kansuji\day 日
+ \else
+ \number\month\nobreak 月
+ \number\day\nobreak 日
\fi}}
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
%
%