%<*driver>
\ProvidesFile{ltjsclasses.dtx}
%</driver>
- [2018/09/23 ltjsclasses ]
+ [2019/11/23 ltjsclasses ]
%<*driver>
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
-\documentclass{ltjsarticle}
+\documentclass[disablejfam]{ltjsarticle}
\usepackage{hypdoc}
\hypersetup{unicode=true}
\begingroup
\suppressfontnotfounderror=1
\global\font\testfont=file:KozMinPr6N-Regular.otf
+ \global\font\testfonta=file:HaranoAjiMincho-Regular.otf
\endgroup
-\ifx\testfont\nullfont
+\ifx\testfonta\nullfont\ifx\testfont\nullfont
\usepackage[ipaex,nfssonly]{luatexja-preset}
\else
\usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
-\fi
+\fi\else
+ \usepackage[haranoaji,nfssonly]{luatexja-preset}
+\fi
+\let\testfont\undefined\let\testfonta\undefined
+\usepackage{unicode-math}
+\setmathfont{Latin Modern Math}
\ltjsetparameter{alxspmode={`\*,allow}}
\ltjsetparameter{alxspmode={`\\,allow}}
%%%%\usepackage{unicode-math}
% \item 標準では\texttt{jfm-ujis.lua}(Lua\TeX-ja標準のメトリック,OTFパッケージのものがベース)を使用します。
% \item \texttt{uplatex}オプション,\texttt{autodetect-engine}オプションを
% 削除してあります(前者ではエラーを出すようにしています)。
-% \item \texttt{disablejfam}オプションが無効になっています。もし
+% \item \texttt{disablejfam}オプションはクラス側では何もしません(ただLua\TeX-ja本体に
+% 渡されるだけです).もし
% \begin{quotation}
% |! LaTeX Error: Too many math alphabets used in version ****.|
% \end{quotation}
% 実際に使用可能な数式ファミリの数を増やすためには\texttt{lualatex-math}パッケージを
% 読み込む必要があることに注意が必要です。
%
+% [2018-10-08 LTJ] Lua\TeX-ja本体が\texttt{disablejfam}オプションをサポートしたので,
+% クラスファイルからは削除します.
+%
+% [2019-08-12 LTJ] ……と思いましたが,``Unused global option(s): [disablejfam]''警告が
+% 出てしまいますので,「何もしない」クラスオプションとして形だけ定義します.
% \begin{macrocode}
-\DeclareOption{disablejfam}{%
- \ClassWarningNoLine{\jsc@clsname}{The class option 'disablejfam' is obsolete}}
+%<*article|report|book>
+\DeclareOption{disablejfam}{}
+%</article|report|book>
% \end{macrocode}
%
% \paragraph{ドラフト}
%
% \begin{macrocode}
\AtBeginDocument{%
- \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
- \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}}%
+ \unless\ifltj@disablejfam
+ \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
+ \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
+ \fi
+}%
% \end{macrocode}
%
% \begin{macro}{\textsterling}
% \paragraph{今日の日付}
%
% \LaTeX で処理した日付を出力します。
-% |ltjarticle| などと違って,標準を西暦にし,余分な空白が入らないように改良しました。
+% ^^A |jarticle| などと違って,標準を西暦にし,
+% ^^A 余分な空白が入らないように改良しました。
+% ^^A -- 2018年7月以降は |jarticle| なども標準が西暦,
+% ^^A -- 2019年4月以降は余分な空白が入らなくなっています。
% 和暦にするには |\和暦| と書いてください。
+% ちなみにこの文章の作成日は西暦では{\西暦\today}で,
+% 和暦では{\和暦\today}です。
%
% \begin{macro}{\today}
% \begin{macrocode}
\def\西暦{\西暦true}
\def\和暦{\西暦false}
\newcount\heisei \heisei\year \advance\heisei-1988\relax
+\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\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@english
\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year
+ \else\if西暦
+ \ifnum\ltjgetparameter{direction}=3 \kansuji\year
+ \else\number\year\nobreak\fi 年
\else
- \if西暦
- \number\year 年
- \number\month 月
- \number\day 日
- \else
- 平成\number\heisei 年
- \number\month 月
- \number\day 日
- \fi
- \fi}
+ \pltx@today@year
+ \fi
+ \ifnum\ltjgetparameter{direction}=3
+ \kansuji\month 月
+ \kansuji\day 日
+ \else
+ \number\month\nobreak 月
+ \number\day\nobreak 日
+ \fi\fi}
% \end{macrocode}
% \end{macro}
%