X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltjclasses.dtx;h=60b321b81839f9449784f39b69e5d7538bde8bd2;hb=d177010c46e52e722b4752eded1ae4a6807953df;hp=6d48d1dd09edbbaec527e49e68191567aad36855;hpb=b9d87fb3369ca7e71dc5e790973311160f760fc8;p=luatex-ja%2Fluatexja.git diff --git a/src/ltjclasses.dtx b/src/ltjclasses.dtx index 6d48d1d..60b321b 100644 --- a/src/ltjclasses.dtx +++ b/src/ltjclasses.dtx @@ -107,6 +107,14 @@ % 脚注番号が上書きされ横に寝てしまう問題を修正(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/31}{本ドキュメントのタイプセットで,小塚フォントが存在するときには +% それを用いるように変更(PDFサイズ削減のため).} +% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更} +% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした} +% \changes{v1.7g-ltj-16}{2017/12/31}{\cs{Cjascale}追加} % \fi % % \iffalse @@ -136,14 +144,22 @@ %<11pt&bk>\ProvidesFile{ltjtbk11.clo} %<12pt&bk>\ProvidesFile{ltjtbk12.clo} % - [2017/02/20 v1.7d-ltj-14 + [2017/12/31 v1.7g-ltj-16 % 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プロジェクト} @@ -383,15 +399,19 @@ % |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 @@ -564,6 +584,10 @@ % \changes{v1.6-ltj-9}{2015/01/01}{サイズクラスのロード前にメトリックの変更を行わないと, % \cs{Cht}等の値が反映されないのでこの場所に移動させました.} % +% \changes{v1.6g-ltj-16}{2017/12/31}{\cs{Cjascale}を追加しました。 +% これは、コミュニティ版p\kern-.05em\LaTeX で導入された、 +% 和文スケール($1\,\cs{zw} \div \hbox{要求サイズ}$)を表す実数値マクロです。} +% % \begin{macrocode} %<*article|report|book> \directlua{luatexbase.add_to_callback('luatexja.load_jfm', @@ -571,6 +595,7 @@ '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 +\def\Cjascale{0.962216} \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} @@ -687,14 +712,18 @@ % \begin{macro}{\Cvs} % \begin{macro}{\Chs} % 基準となる長さの設定をします。これらのパラメータは\file{lltjfont.sty}で定義 -% されています。 +% されています。基準とする文字を「全角空白」(EUCコード\texttt{0xA1A1})から +% 「漢」(JISコード\texttt{0x3441})へ変更しました。 +% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更} +% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした} % \begin{macrocode} -\setbox0\hbox{\char"3000}% 全角スペース +\setbox0\hbox{漢} \setlength\Cht{\ht0} \setlength\Cdp{\dp0} \setlength\Cwd{\wd0} \setlength\Cvs{\baselineskip} \setlength\Chs{\wd0} +\setbox0=\box\voidb@x % \end{macrocode} % \end{macro} % \end{macro} @@ -1793,12 +1822,12 @@ % \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} @@ -1934,7 +1963,7 @@ % % \pstyle{jpl@in}スタイルは、クラスファイル内部で使用するものです。 % \LaTeX{}では、bookクラスを\pstyle{headings}としています。 -% しかし、\cs{tableofcontnts}コマンドの内部では\pstyle{plain}として +% しかし、\cs{tableofcontents}コマンドの内部では\pstyle{plain}として % 設定されるため、一つの文書でのページ番号の位置が上下に出力される % ことになります。 % @@ -2500,8 +2529,8 @@ %\newcommand*{\sectionmark}[1]{} %\newcommand*{\subsectionmark}[1]{} %\newcommand*{\subsubsectionmark}[1]{} -%\newcommand*{\paragraph}[1]{} -%\newcommand*{\subparagraph}[1]{} +%\newcommand*{\paragraphmark}[1]{} +%\newcommand*{\subparagraphmark}[1]{} % \end{macrocode} % \end{macro} % \end{macro} @@ -2569,10 +2598,10 @@ % |\alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を % $1=$~a, $2=$~b のようにして出力します。 % -% |\Roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を +% |\Alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を % $1=$~A, $2=$~B のようにして出力します。 % -% |\kansuji{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を +% |\Kanji{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を % 漢数字で出力します。 % % |\rensuji{|\meta{obj}|}|は、\meta{obj}を横に並べて出力します。 @@ -2652,20 +2681,35 @@ % これらの命令を|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 @@ -3965,10 +4009,12 @@ % |\@tempdima|にしていますが、この変数はいろいろな箇所で使われますので、 % 期待した値が入らない場合があります。 % -% たとえば、|lltjfont.sty|での|\selectfont|は、和欧文のベースラインを調整する -% ために|\@tempdima|変数を用いています。そのため、|\l@...|マクロの中で -% フォントを切替えると、|\numberline|マクロのボックス -% の幅が、ベースラインを調整するときに計算した値になってしまいます。 +% ^^A たとえば、|lltjfont.sty|での|\selectfont|は、和欧文のベースラインを調整する +% ^^A ために|\@tempdima|変数を用いています。そのため、|\l@...|マクロの中で +% ^^A フォントを切替えると、|\numberline|マクロのボックス +% ^^A の幅が、ベースラインを調整するときに計算した値になってしまいます。 +% ^^A →修正(texjporg):最近の|\adjustbaseline|では|\adjust@dimen|が使われて +% ^^A いるため、記述をコメントアウトしました。 % % フォント選択コマンドの後、あるいは|\numberline|マクロの中でフォントを % 切替えてもよいのですが、一時変数を意識したくないので、 @@ -4007,9 +4053,9 @@ % \end{macro} % % \begin{macro}{\addcontentsline} -% ページ番号を|\rensuji|で囲むように変更します。 -% 横組のときにも`|\rensuji|'コマンドが出力されますが、 -% このコマンドによる影響はありません。 +% 縦組の場合にページ番号を|\rensuji|で囲むように変更します。 +% ^^A 横組のときにも`|\rensuji|'コマンドが出力されますが、 +% ^^A このコマンドによる影響はありません。 % % このマクロは\file{ltsect.dtx}で定義されています。 % \begin{macrocode}