OSDN Git Service

ltj[s]classes.dtx: use Kozuka fonts )only for documents), if they exist
[luatex-ja/luatexja.git] / src / ltjclasses.dtx
index 6d48d1d..af796a1 100644 (file)
 %   脚注番号が上書きされ横に寝てしまう問題を修正(aminophenさん,ありがとうございます).}
 % \changes{v1.7d-ltj-14}{2017/02/20}{openleftオプションの処理で\cs{iftdir}, \cs{ifydir}を
 %   誤って使っている問題を修正(aminophenさん,ありがとうございます).}
+% \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
+% \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
+%   奇数ページに送るように変更}
+% \changes{v1.7e-ltj-15}{2017/08/28}{本ドキュメントのタイプセットで,小塚フォントが存在するときには
+%   それを用いるように変更(PDFサイズ削減のため).クラスファイル本体の変更はなし,}
 % \fi
 %
 % \iffalse
 %<11pt&bk>\ProvidesFile{ltjtbk11.clo}
 %<12pt&bk>\ProvidesFile{ltjtbk12.clo}
 %</tate>
-  [2017/02/20 v1.7d-ltj-14
+  [2017/08/28 v1.7e-ltj-15
 %<article|report|book> Standard LuaLaTeX-ja class]
 %<10pt|11pt|12pt>  Standard LuaLaTeX-ja file (size option)]
 %<*driver>
 ]
 \documentclass{ltjltxdoc}
 \GetFileInfo{ltjclasses.dtx}
-\usepackage[ipaex,nfssonly]{luatexja-preset}
+\begingroup
+ \suppressfontnotfounderror=1
+ \global\font\testfont=file:KozMinPr6N-Regular.otf
+\endgroup
+\ifx\testfont\nullfont
+  \usepackage[ipaex,nfssonly]{luatexja-preset}
+\else
+  \usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
+\fi
 \usepackage[unicode]{hyperref}
 \title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
 \author{Lua\TeX-jaプロジェクト}
 % |tombow|オプションが指定されると、用紙サイズに合わせてトンボを出力します。
 % このとき、トンボの脇にPDFを作成した日付が出力されます。
 % 作成日付の出力を抑制するには、|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:\space\number\year/\number\month/\number\day
-      (\number\hour:\number\minute)}
+     \jobname\space(\number\year-\two@digits\month-\two@digits\day
+     \space\two@digits\hour:\two@digits\minute)}%
   \maketombowbox}
 \DeclareOption{tombo}{%
   \tombowtrue \tombowdatefalse
 % \changes{v1.7d-ltj-14}{2017/02/20}{\cs{iftdir}, \cs{ifydir}を使わないように修正}
 %    \begin{macrocode}
 \def\pltx@cleartorightpage{\clearpage\if@twoside
-  \unless\ifodd\dimexpr\c@page+\ltjgetparameter{direction}\relax
+  \unless\ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
     \hbox{}\thispagestyle{empty}\newpage
     \if@twocolumn\hbox{}\newpage\fi
   \fi\fi}
 \def\pltx@cleartoleftpage{\clearpage\if@twoside
-  \ifodd\dimexpr\c@page+\ltjgetparameter{direction}\relax
+  \ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
     \hbox{}\thispagestyle{empty}\newpage
     \if@twocolumn\hbox{}\newpage\fi
   \fi\fi}
 % これらの命令を|openany|オプションに応じて切り替え、二回目はそれを
 % 元に戻しています。アスキーによるjclasses.dtxは、1997/01/15に
 % 一回目の修正に追随しましたが、二回目の修正には追随していません。
-% コミュニティ版では、アスキーによる仕様を維持することとし、
-% |openany|オプションの場合は|\cleardoublepage|ではなく|\clearpage|が
-% 発行されます。もし|\cleardoublepage|が起きてほしい場合には、
-% 明示的に挿入してください。(参考:latex/2754)
+% コミュニティ版では、一旦はアスキーによる仕様を維持しようと考え
+% ました(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}{%
-  \if@openleft \cleardoublepage \else
-  \if@openright \cleardoublepage \else \clearpage \fi \fi
+  \pltx@cleartooddpage
   \@mainmatterfalse\pagenumbering{roman}}
 \newcommand{\mainmatter}{%
-  \if@openleft \cleardoublepage \else
-  \if@openright \cleardoublepage \else \clearpage \fi \fi
+  \pltx@cleartooddpage
   \@mainmattertrue\pagenumbering{arabic}}
 \newcommand{\backmatter}{%
   \if@openleft \cleardoublepage \else