% \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.8-ltj-17}{2019/04/01}{新元号の処理}
% \fi
%
% \iffalse
%<11pt&bk>\ProvidesFile{ltjtbk11.clo}
%<12pt&bk>\ProvidesFile{ltjtbk12.clo}
%</tate>
- [2018/07/24 v1.8-ltj-15
+ [2018/10/08 v1.8-ltj-16
%<article|report|book> Standard LuaLaTeX-ja class]
%<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)]
%<*driver>
% 全ての変更点を知りたい場合は、|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}
%
% このマクロは\file{ltsect.dtx}で定義されています。
% \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}}}%
+ {\protect\contentsline{#2}{#3}{\the\@temptokena}%
+ \protected@file@percent}}%
}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \EnableCrossrefs
%
-% \begin{macro}{\heisei}
-% \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
-% |\today|コマンドを|\rightmark|で指定したとき、|\rightmark|を出力する部分
-% で和暦のための計算ができないので、クラスファイルを読み込む時点で計算して
-% おきます。
-% \begin{macrocode}
-\newcount\heisei \heisei\year \advance\heisei-1988\relax
-% \end{macrocode}
-% \end{macro}
-%
+% \changes{v1.8-ltj-17} |\heisei|は削除.
% \begin{macro}{\today}
% 縦組の場合は、漢数字で出力します。
%
% \changes{v1.6-ltj-9}{2015/01/01}{縦組では,この漢数字による日付出力でエラーになりました.
% Lua\TeX-ja では,\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました.}
% \begin{macrocode}
+\def\pltx@today@year@#1{%
+ \ifnum\numexpr\year-#1=1 元\else
+ \ifnum\ltjgetparameter{direction}=3 \kansuji\numexpr\year-#1\relax
+ \else \number\numexpr\year-#1\relax\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\fi 年
+ \else
+ \pltx@today@year
+ \fi
\ifnum\ltjgetparameter{direction}=3
- \if西暦
- \kansuji\year 年
- \kansuji\month 月
- \kansuji\day 日
- \else
- 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
- \kansuji\month 月
- \kansuji\day 日
- \fi
+ \kansuji\month 月
+ \kansuji\day 日
\else
- \if西暦
- \number\year~年
- \number\month~月
- \number\day~日
- \else
- 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi
- \number\month~月
- \number\day~日
- \fi
+ \number\month~月
+ \number\day~日
\fi}}
% \end{macrocode}
% \end{macro}