X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltjsclasses.dtx;h=3a5c897f875ccbfbc18fb1895184bb058815fdb1;hb=0f0921ced2b53537326ad20ce546020b3cae2670;hp=ee896d52bd723f3e174f58030f2a980b31d644ba;hpb=88a45ed1438b165cdcbd0e398cb566d7a7d6432c;p=luatex-ja%2Fluatexja.git diff --git a/src/ltjsclasses.dtx b/src/ltjsclasses.dtx index ee896d5..3a5c897 100644 --- a/src/ltjsclasses.dtx +++ b/src/ltjsclasses.dtx @@ -25,11 +25,10 @@ % % Copyright 1995-1999 ASCII Corporation. % Copyright 1999-2016 Haruhiko Okumura -% Copyright 2016 Japanese TeX Development Community +% Copyright 2016-2017 Japanese TeX Development Community % ----------------------------------------- % % \fi -% \CheckSum{5377} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -49,33 +48,33 @@ % \iffalse % % \begin{macrocode} -%\NeedsTeXFormat{LaTeX2e} +\NeedsTeXFormat{LaTeX2e} %
\ProvidesClass{ltjsarticle} %\ProvidesClass{ltjsbook} +%\ProvidesClass{ltjsreport} %\ProvidesClass{ltjspf} %\ProvidesClass{ltjskiyou} %<*driver> \ProvidesFile{ltjsclasses.dtx} % - [2016/08/03 ltjsclasses ] + [2017/03/06 ltjsclasses ] %<*driver> \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{} \documentclass{ltjsarticle} -\usepackage{doc} -\usepackage{fontspec} +\usepackage{hypdoc} +\hypersetup{unicode=true} \usepackage[ipaex,nfssonly]{luatexja-preset} \ltjsetparameter{alxspmode={`\*,allow}} \ltjsetparameter{alxspmode={`\\,allow}} %%%%\usepackage{unicode-math} %%%%\setmathfont{Latin Modern Math} -\usepackage[unicode]{hyperref} \addtolength{\textwidth}{-1in} \addtolength{\evensidemargin}{1in} \addtolength{\oddsidemargin}{1in} \addtolength{\marginparwidth}{1in} \setlength\marginparpush{0pt} % \OnlyDescription -\DisableCrossrefs +\EnableCrossrefs \setcounter{StandardModuleDepth}{1} \GetFileInfo{ltjsclasses.dtx} \CodelineNumbered @@ -100,12 +99,18 @@ % これは,元々奥村晴彦先生により作成され,現在は日本語\TeX 開発コミュニティにより % 管理されている\texttt{jsclasses.dtx}をLua\LaTeX-ja用に改変したものです。 % 次のドキュメントクラス(スタイルファイル)を生成します。 +% +% [2017-02-13] forum:2121の議論を機に,ltjsreportクラスを新設しました。 +% 従来のltjsbookの |report| オプションと比べると,|abstract| 環境の使い方 +% および挙動がアスキーのjreportに近づきました。 +% % \begin{quote} % \begin{tabular}{lll} % $\langle$\textsf{article}$\rangle$ & \texttt{ltjsarticle.cls} & 論文・レポート用 \\ % $\langle$\textsf{book}$\rangle$ & \texttt{ltjsbook.cls} & 書籍用 \\ +% $\langle$\textsf{report}$\rangle$ & \texttt{ltjsreport.cls} & レポート用 \\ % $\langle$\textsf{jspf}$\rangle$ & \texttt{ltjspf.cls} & 某学会誌用 \\ -% $\langle$\textsf{kiyou}$\rangle$ & \texttt{ltjskiyou.cls} & 某紀要用 +% $\langle$\textsf{kiyou}$\rangle$ & \texttt{ltjskiyou.cls} & 某紀要用 % \end{tabular} % \end{quote} % @@ -115,7 +120,8 @@ % \begin{itemize} % \item フォントメトリック関係のオプション\texttt{winjis}は単に無視されます。 % \item 標準では\texttt{jfm-ujis.lua}(Lua\TeX-ja標準のメトリック,OTFパッケージのものがベース)を使用します。 -% \item \texttt{uplatex}オプションを削除してあります。 +% \item \texttt{uplatex}オプション,\texttt{autodetect-engine}オプションを +% 削除してあります(前者ではエラーを出すようにしています)。 % \item \texttt{disablejfam}オプションが無効になっています。もし % \begin{quotation} % |! LaTeX Error: Too many math alphabets used in version ****.| @@ -166,6 +172,8 @@ % % [2016-07-21 LTJ] \LaTeX 等のロゴの再定義で,\texttt{jslogo}パッケージがあればそちらを読み込むことにしました。 % +% [2016-10-13 LTJ] \texttt{slide}オプションの使用時にエラーが出るのを修正. +% % \StopEventually{} % % 以下では実際のコードに即して説明します。 @@ -177,6 +185,7 @@ % \begin{macrocode} %
\def\jsc@clsname{ltjsarticle} %\def\jsc@clsname{ltjsbook} +%\def\jsc@clsname{ltjsreport} %\def\jsc@clsname{ltjspf} %\def\jsc@clsname{ltjskiyou} % \end{macrocode} @@ -218,11 +227,20 @@ % % \begin{macro}{\if@openright} % -% |\chapter|,|\part| を奇数ページ起こしにするかどうかです。 -% 書籍では真が標準です。 +% |\chapter|,|\part| を右ページ起こしにするかどうかです。 +% 横組の書籍では真が標準で,要するに片起こし,奇数ページ起こしになります。 +% +% \begin{macrocode} +%\newif\if@openright +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\if@openleft} +% +% [2017-02-24] |\chapter|,|\part| を左ページ起こしにするかどうかです。 % % \begin{macrocode} -%\newif\if@openright +%\newif\if@openleft % \end{macrocode} % \end{macro} % @@ -334,6 +352,9 @@ % % オプション \texttt{slide} を新設しました。 % +% [2016-10-08] \texttt{slide} オプションは article 以外では使い物にならなかったので, +% 簡単のため article のみで使えるオプションとしました。 +% % \begin{macrocode} \newif\if@slide \@slidefalse @@ -357,7 +378,9 @@ % % \begin{macrocode} \def\jsc@magscale{1} +%<*article> \DeclareOption{slide}{\@slidetrue\def\jsc@magscale{3.583}\@landscapetrue\@titlepagetrue} +%
\DeclareOption{8pt} {\def\jsc@magscale{0.833}}% 1.2^(-1) \DeclareOption{9pt} {\def\jsc@magscale{0.913}}% 1.2^(-0.5} \DeclareOption{10pt}{\def\jsc@magscale{1}} @@ -481,12 +504,20 @@ % % \paragraph{右左起こし} % -% 書籍では章は通常は奇数ページ起こしになりますが, +% 書籍では章は通常は奇数ページ起こしになりますが,横組ではこれを +% \texttt{openright} と表すことにしてあります。 % \texttt{openany} で偶数ページからでも始まるようになります。 % +% [2017-02-24] \texttt{openright} は横組では奇数ページ起こし,縦組では +% 偶数ページ起こしを表します。ややこしいですが,これは\LaTeX の標準クラスが +% 西欧の横組事情しか考慮せずに,奇数ページ起こしと右起こしを一緒にしてしまっ +% たせいです。縦組での奇数ページ起こしと横組での偶数ページ起こしも表現したい +% ので,ltjsclassesでは新たに \texttt{openleft} も追加しました。 +% % \begin{macrocode} -%\DeclareOption{openright}{\@openrighttrue} -%\DeclareOption{openany}{\@openrightfalse} +%\DeclareOption{openright}{\@openrighttrue\@openleftfalse} +%\DeclareOption{openleft}{\@openlefttrue\@openrightfalse} +%\DeclareOption{openany}{\@openrightfalse\@openleftfalse} % \end{macrocode} % % \paragraph{eqnarray環境と数式の位置} @@ -601,6 +632,10 @@ % \texttt{ptexjis}というオプションを指定します。 % \texttt{winjis}メトリックは用済みのため,\texttt{winjis}オプションは無視されます。 % +% [2016-11-09] pLaTeX / upLaTeX を自動判別するオプション \texttt{autodetect-engine} を新設しました。 +% +% [2016-11-24 LTJ] \texttt{autodetect-engine} はLua\TeX-jaでは意味がないので警告を表示させます. +% % \begin{macrocode} \newif\ifmingoth \mingothfalse @@ -611,7 +646,9 @@ \DeclareOption{winjis}{% \ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `winjis' option}} \DeclareOption{uplatex}{% - \ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `uplatex' option}} + \ClassErrorNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `uplatex' option}} +\DeclareOption{autodetect-engine}{% + \ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `autodetect-engine' option}} \DeclareOption{mingoth}{\mingothtrue} \DeclareOption{ptexjis}{\ptexjistrue} \DeclareOption{jis}{\jisfonttrue} @@ -632,10 +669,13 @@ \DeclareOption{english}{\@englishtrue} % \end{macrocode} % -% \paragraph{ltjsreport相当} +% \paragraph{ltjsbookをltjsreportもどきに} % % オプション \texttt{report} を新設しました。 % +% [2017-02-13] 従来は「ltjsreport相当」をltjsbookの \texttt{report} オプションで提供して +% いましたが,新しくltjsreportクラスも作りました。どちらでもお好きな方を使ってください。 +% % \begin{macrocode} %<*book> \newif\if@report @@ -664,6 +704,7 @@ % \begin{macrocode} %
\ExecuteOptions{a4paper,oneside,onecolumn,notitlepage,final} %\ExecuteOptions{a4paper,twoside,onecolumn,titlepage,openright,final} +%\ExecuteOptions{a4paper,oneside,onecolumn,titlepage,openany,final} %\ExecuteOptions{a4paper,twoside,twocolumn,notitlepage,fleqn,final} %\ExecuteOptions{a4paper,twoside,twocolumn,notitlepage,final} \ProcessOptions @@ -689,7 +730,7 @@ % 基準となる行送りをポイント単位で表したものです。 % % \begin{macrocode} -%\if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi +%\if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi %\def\n@baseline{14.554375} %\def\n@baseline{14.897} % \end{macrocode} @@ -756,10 +797,17 @@ % (不要なので)パッチを当てないことにしました。 % % [2016-04-04 LTJ] NFSSへのパッチを修正。 +% +% [2017-01-23] \LaTeXe\ 2017-01-01以降ではTUエンコーディングが標準なので, +% \texttt{type1cm}パッケージは読み込まないようにしました. +% +% [2017-02-17 LTJ] |\directlua|中で出力される数字のカテゴリーコードが12になるようにしました. +% この保証をしないと例えば\texttt{listings}パッケージで無限ループになります. % \begin{macrocode} -\if@ltjs@mag@xreal\RequirePackage{type1cm} +\if@ltjs@mag@xreal \ifdim\jsc@mpt=\p@\else \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax + \expandafter\let\csname TU/lmr/m/n/10\endcsname\relax \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax \newluafunction\ltjs@@magnify@font@calc \begingroup\catcode`\%=12\relax @@ -767,11 +815,11 @@ local getdimen, mpt=tex.getdimen, tex.getdimen('jsc@mpt')/65536 local t = lua.get_functions_table() t[\the\ltjs@@magnify@font@calc] = function() - tex.sprint(math.floor(0.5+mpt*getdimen('dimen@'))) + tex.sprint(-2,math.floor(0.5+mpt*getdimen('dimen@'))) end function luatexja.ltjs_unmagnify_fsize(a) local s = luatexja.print_scaled(math.floor(0.5+a/mpt*65536)) - tex.sprint( (s:match('%.0$')) and s:sub(1,-3) or s ) + tex.sprint(-2, (s:match('%.0$')) and s:sub(1,-3) or s ) end } \endgroup @@ -779,7 +827,7 @@ \def\@tempa{#1}\def\@tempb{#2}% \ifx\@tempb\@empty \edef\@tempb{ scaled\directlua{% - tex.sprint(math.floor(0.5+\jsc@magscale*1000)) + tex.sprint(-2,math.floor(0.5+\jsc@magscale*1000)) }}% \else \dimen@\@tempb\relax @@ -799,6 +847,38 @@ \fi\fi % \end{macrocode} % +% [2016-11-16] latex.ltx (ltspace.dtx)で定義されている |\smallskip| の, +% 単位 |pt| を |\jsc@mpt| に置き換えた |\jsc@smallskip| を定義します。 +% これは |\maketitle| で用いられます。 +% |\jsc@medskip| と |\jsc@bigskip| は必要ないのでコメントアウトしています。 +% +% \begin{macro}{\jsc@smallskip} +% \begin{macro}{\jsc@medskip} +% \begin{macro}{\jsc@bigskip} +% \begin{macrocode} +\def\jsc@smallskip{\vspace\jsc@smallskipamount} +%\def\jsc@medskip{\vspace\jsc@medskipamount} +%\def\jsc@bigskip{\vspace\jsc@bigskipamount} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\jsc@smallskipamount} +% \begin{macro}{\jsc@medskipamount} +% \begin{macro}{\jsc@bigskipamount} +% \begin{macrocode} +\newskip\jsc@smallskipamount +\jsc@smallskipamount=3\jsc@mpt plus 1\jsc@mpt minus 1\jsc@mpt +%\newskip\jsc@medskipamount +%\jsc@medskipamount =6\jsc@mpt plus 2\jsc@mpt minus 2\jsc@mpt +%\newskip\jsc@bigskipamount +%\jsc@bigskipamoun =12\jsc@mpt plus 4\jsc@mpt minus 4\jsc@mpt +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% % % \paragraph{PDFの用紙サイズの設定} % @@ -814,21 +894,32 @@ % % [2016-07-12 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。 % +% [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|, +% |\stockheight|を定義するようにしました。 +% % \begin{macrocode} -\newlength{\stockwidth} -\newlength{\stockheight} -\setlength{\stockwidth}{\paperwidth} -\setlength{\stockheight}{\paperheight} \iftombow + \newlength{\stockwidth} + \newlength{\stockheight} + \setlength{\stockwidth}{\paperwidth} + \setlength{\stockheight}{\paperheight} \advance \stockwidth 2in \advance \stockheight 2in -\fi -\ifdefined\pdfpagewidth - \setlength{\pdfpagewidth}{\stockwidth} - \setlength{\pdfpageheight}{\stockheight} + \ifdefined\pdfpagewidth + \setlength{\pdfpagewidth}{\stockwidth} + \setlength{\pdfpageheight}{\stockheight} + \else + \setlength{\pagewidth}{\stockwidth} + \setlength{\pageheight}{\stockheight} + \fi \else - \setlength{\pagewidth}{\stockwidth} - \setlength{\pageheight}{\stockheight} + \ifdefined\pdfpagewidth + \setlength{\pdfpagewidth}{\paperwidth} + \setlength{\pdfpageheight}{\paperheight} + \else + \setlength{\pagewidth}{\paperwidth} + \setlength{\pageheight}{\paperheight} + \fi \fi % \end{macrocode} % \end{macro} @@ -1509,12 +1600,19 @@ % 計算では |\headheight| ではなく |\topskip| を使う % ことにしました。 % +% +% [2016-08-17] 圏点やルビが一行目に来た場合に下がるのを防ぐた +% め,|\topskip| を10ptから1.38zwに増やしました。 +% |\headheight| は従来と同じ20ptのままとします。 +% +% [2016-08-17 LTJ] 1.38zwの代わりに1.38|\zh|にしています。 +% % \begin{macrocode} -\setlength\topskip{10\jsc@mpt} +\setlength\topskip{1.38\zh}%% from 10\jsc@mpt (2016-08-17) \if@slide \setlength\headheight{0\jsc@mpt} \else - \setlength\headheight{2\topskip} + \setlength\headheight{20\jsc@mpt}%% from 2\topskip (2016-08-17); from \topskip (2003-06-26) \fi % \end{macrocode} % \end{macro} @@ -1551,6 +1649,12 @@ \setlength\footskip{\z@} \fi % +%<*report> +\setlength\footskip{0.03367\paperheight} +\ifdim\footskip<\baselineskip + \setlength\footskip{\baselineskip} +\fi +% % \end{macrocode} % \end{macro} % @@ -1561,10 +1665,16 @@ % それ以外で25pt(約8.79mm)になっていました。 % ここでは article は |\footskip| $-$ |\topskip| としました。 % +% [2016-10-08] article の \texttt{slide} のとき, +% および book の非 \texttt{report} と kiyou のときに |\headsep| を +% 減らしそこねていたのを修正しました(2016-08-17での修正漏れ)。 +% % \begin{macrocode} %<*article> \if@slide \setlength\headsep{0\jsc@mpt} + \addtolength\headsep{-\topskip}%% added (2016-10-08) + \addtolength\headsep{10\jsc@mpt}%% added (2016-10-08) \else \setlength\headsep{\footskip} \addtolength\headsep{-\topskip} @@ -1576,8 +1686,14 @@ \addtolength\headsep{-\topskip} \else \setlength\headsep{6\jsc@mmm} + \addtolength\headsep{-\topskip}%% added (2016-10-08) + \addtolength\headsep{10\jsc@mpt}%% added (2016-10-08) \fi % +%<*report> +\setlength\headsep{\footskip} +\addtolength\headsep{-\topskip} +% %<*jspf> \setlength\headsep{9\jsc@mmm} \addtolength\headsep{-\topskip} @@ -1585,6 +1701,8 @@ %<*kiyou> \setlength\headheight{0\jsc@mpt} \setlength\headsep{0\jsc@mpt} +\addtolength\headsep{-\topskip}%% added (2016-10-08) +\addtolength\headsep{10\jsc@mpt}%% added (2016-10-08) % % \end{macrocode} % \end{macro} @@ -1657,6 +1775,12 @@ \fi \fi % +%<*report> +\setlength\fullwidth{0.76\paperwidth} +\if@twocolumn \@tempdima=2\zw \else \@tempdima=1\zw \fi +\divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima +\setlength\textwidth{\fullwidth} +% %<*jspf> \setlength\fullwidth{50\zw} \addtolength\fullwidth{8\jsc@mmm} @@ -1692,20 +1816,26 @@ % [2003-06-26] |\headheight| を |\topskip| に直しました。 % 以前はこの二つは値が同じであったので,変化はないはずです。 % +% [2016-08-26] |\topskip| を10ptから1.38zwに増やしましたので, +% その分 |\textheight| を増やします(2016-08-17での修正漏れ)。 +% +% [2016-10-08] article の slide のときに |\headheight| はゼロ +% なので,さらに修正しました(2016-08-17での修正漏れ)。 +% % \begin{macrocode} -%<*article|book> +%<*article|book|report> \if@slide \setlength{\textheight}{0.95\paperheight} \else \setlength{\textheight}{0.83\paperheight} \fi -\addtolength{\textheight}{-\topskip} +\addtolength{\textheight}{-10\jsc@mpt}%% from -\topskip (2016-10-08); from -\headheight (2003-06-26) \addtolength{\textheight}{-\headsep} \addtolength{\textheight}{-\footskip} \addtolength{\textheight}{-\topskip} \divide\textheight\baselineskip \multiply\textheight\baselineskip -% +% %\setlength{\textheight}{51\baselineskip} %\setlength{\textheight}{47\baselineskip} \addtolength{\textheight}{\topskip} @@ -1803,13 +1933,17 @@ % [2011-10-03 LTJ] ここも |\oddsidemargin| のときと同様に |-\inv@mag in| ではなく % |-1in| にします。 % +% [2016-08-17] |\topskip| を10ptから1.38zwに直しましたが, +% |\topmargin| は従来の値から変わらないように調節しました。 +% …のつもりでしたが,|\textheight| を増やし忘れていたので +% 変わってしまっていました(2016-08-26修正済み)。 % \begin{macrocode} \setlength\topmargin{\paperheight} \addtolength\topmargin{-\textheight} \if@slide \addtolength\topmargin{-\headheight} \else - \addtolength\topmargin{-\topskip} + \addtolength\topmargin{-10\jsc@mpt}%% from -\topskip (2016-10-08); from -\headheight (2003-06-26) \fi \addtolength\topmargin{-\headsep} \addtolength\topmargin{-\footskip} @@ -2019,6 +2153,65 @@ % \end{macro} % \end{macro} % +% \section{改ページ(日本語\TeX{}開発コミュニティ版のみ)}\label{sec:cleardoublepage} +% +% \begin{macro}{\pltx@cleartorightpage} +% \begin{macro}{\pltx@cleartoleftpage} +% \begin{macro}{\pltx@cleartooddpage} +% \begin{macro}{\pltx@cleartoevenpage} +% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて, +% 同じ命令を追加しました。 +% \begin{enumerate} +% \item|\pltx@cleartorightpage|:右ページになるまでページを繰る命令 +% \item|\pltx@cleartoleftpage|:左ページになるまでページを繰る命令 +% \item|\pltx@cleartooddpage|:奇数ページになるまでページを繰る命令 +% \item|\pltx@cleartoevenpage|:偶数ページになるまでページを繰る命令 +% \end{enumerate} +% となっています。 +% +% \begin{macrocode} +%<*article|book|report> +\def\pltx@cleartorightpage{\clearpage\if@twoside + \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\numexpr\c@page+\ltjgetparameter{direction}\relax + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi\fi} +\def\pltx@cleartooddpage{\clearpage\if@twoside + \ifodd\c@page\else + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi\fi} +\def\pltx@cleartoevenpage{\clearpage\if@twoside + \ifodd\c@page + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi\fi} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\cleardoublepage} +% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて, +% reportとbookクラスの場合に|\cleardoublepage|を再定義します。 +% \begin{macrocode} +%<*book|report> +\if@openleft + \let\cleardoublepage\pltx@cleartoleftpage +\else\if@openright + \let\cleardoublepage\pltx@cleartorightpage +\fi\fi +% +% \end{macrocode} +% \end{macro} +% % \section{ページスタイル}\label{sec:pagestyle} % % ページスタイルとして,\LaTeXe (欧文版)の標準クラス @@ -2161,12 +2354,12 @@ % % \end{macrocode} % -% 次は book の場合です。 +% 次は book および report の場合です。 % [2011-05-10] しっぽ愛好家さん [qa:6370] のパッチを取り込ませていただきました % (北見さん [qa:55896] のご指摘ありがとうございます)。 % % \begin{macrocode} -%<*book> +%<*book|report> \newif\if@omit@number \def\ps@headings{% \let\@oddfoot\@empty @@ -2181,17 +2374,17 @@ \let\@mkboth\markboth \def\chaptermark##1{\markboth{% \ifnum \c@secnumdepth >\m@ne - \if@mainmatter +% \if@mainmatter \if@omit@number\else \@chapapp\thechapter\@chappos\hskip1\zw \fi - \fi +% \fi \fi ##1}{}}% \def\sectionmark##1{\markright{% \ifnum \c@secnumdepth >\z@ \thesection \hskip1\zw\fi ##1}}}% -% +% % \end{macrocode} % % 最後は学会誌の場合です。 @@ -2225,9 +2418,9 @@ \def\@oddhead{% \hbox to \fullwidth{\rightmark\hfil\thepage}\hss}% \let\@mkboth\@gobbletwo -% \let\chaptermark\@gobble +% \let\chaptermark\@gobble \let\sectionmark\@gobble -% \let\subsectionmark\@gobble +% \let\subsectionmark\@gobble } % \end{macrocode} % \end{macro} @@ -2304,7 +2497,7 @@ % にしました。 % % \begin{macrocode} -%<*article|book|kiyou> +%<*article|book|report|kiyou> \if@titlepage \newcommand{\maketitle}{% \begin{titlepage}% @@ -2318,9 +2511,9 @@ \mbox{} \\[1\zw] \large {\maybeblue\hrule height0\jsc@mpt depth2\jsc@mpt\relax}\par - \smallskip + \jsc@smallskip \@title - \smallskip + \jsc@smallskip {\maybeblue\hrule height0\jsc@mpt depth2\jsc@mpt\relax}\par \vfill {\small \@author}% @@ -2412,10 +2605,10 @@ {\large \@date}% \end{center}% \par\vskip 1.5em -% \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi +% \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi } \fi -% +% %<*jspf> \newcommand{\maketitle}{\par \begingroup @@ -2621,7 +2814,7 @@ \begingroup \@svsechd \endgroup \unskip \@tempskipa #1\relax - \hskip -\@tempskipa\@inhibitglue + \hskip -\@tempskipa\ltjfakeparbegin \else \clubpenalty \@clubpenalty \everypar{}% @@ -2687,8 +2880,8 @@ % 番号を付けるかを決めるカウンタです。 % % \begin{macrocode} -%\setcounter{secnumdepth}{3} -%\setcounter{secnumdepth}{2} +%\setcounter{secnumdepth}{3} +%\setcounter{secnumdepth}{2} % \end{macrocode} % \end{macro} % @@ -2706,9 +2899,9 @@ % % \begin{macrocode} \newcounter{part} -%\newcounter{chapter} -%\newcounter{section}[chapter] -%\newcounter{section} +%\newcounter{chapter} +%\newcounter{section}[chapter] +%\newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] @@ -2746,14 +2939,14 @@ % % \begin{macrocode} \renewcommand{\thepart}{\@Roman\c@part} -%% \renewcommand{\thesection}{\@arabic\c@section} -%\renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} -%\renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection} -%<*book> +%% \renewcommand{\thesection}{\@arabic\c@section} +%\renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} +%\renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection} +%<*book|report> \renewcommand{\thechapter}{\@arabic\c@chapter} \renewcommand{\thesection}{\thechapter.\@arabic\c@section} \renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} -% +% \renewcommand{\thesubsubsection}{% \thesubsection.\@arabic\c@subsubsection} \renewcommand{\theparagraph}{% @@ -2782,8 +2975,8 @@ % [2003-03-02] |\@secapp| は外しました。 % % \begin{macrocode} -%\newcommand{\@chapapp}{\prechaptername} -%\newcommand{\@chappos}{\postchaptername} +%\newcommand{\@chapapp}{\prechaptername} +%\newcommand{\@chappos}{\postchaptername} % \end{macrocode} % \end{macro} % \end{macro} @@ -2800,11 +2993,7 @@ % \begin{macrocode} %<*book> \newcommand\frontmatter{% - \if@openright - \cleardoublepage - \else - \clearpage - \fi + \pltx@cleartooddpage \@mainmatterfalse \pagenumbering{roman}} % \end{macrocode} @@ -2814,13 +3003,18 @@ % % ページ番号を算用数字にし,章番号を付けるようにします。 % +% [2017-03-05] |\frontmatter| と |\mainmatter| の2つの命令は, +% 改丁または改ページした後で |\pagenumbering{...}| でノンブルを1に +% リセットします。長い間 |\frontmatter| は \texttt{openany} のときに +% 単なる改ページとしていましたが,これではノンブルをリセットする際に +% 偶奇逆転が起こる場合がありました。\texttt{openany} かどうかに依らず +% 奇数ページまで繰るように修正することで,問題を解消しました。 +% 実は,\LaTeX の標準クラスでは1998年に修正されていた問題です +% (コミュニティ版\pLaTeX の標準クラス2017/03/05も参照)。 +% % \begin{macrocode} \newcommand\mainmatter{% -% \if@openright - \cleardoublepage -% \else -% \clearpage -% \fi + \pltx@cleartooddpage \@mainmattertrue \pagenumbering{arabic}} % \end{macrocode} @@ -2832,11 +3026,13 @@ % % \begin{macrocode} \newcommand\backmatter{% - \if@openright + \if@openleft + \cleardoublepage + \else\if@openright \cleardoublepage \else \clearpage - \fi + \fi\fi \@mainmatterfalse} % % \end{macrocode} @@ -2868,29 +3064,31 @@ % \def\CMDB #1{....} % \chapter*{...} の定義 %\end{verbatim} % -% まず |book| クラス以外です。 +% まず |book| と |report| のクラス以外です。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \newcommand\part{% \if@noskipsec \leavevmode \fi \par \addvspace{4ex}% \if@english \@afterindentfalse \else \@afterindenttrue \fi \secdef\@part\@spart} -% +% % \end{macrocode} % -% |book| スタイルの場合は,少し複雑です。 +% |book| および |report| クラスの場合は,少し複雑です。 % % \begin{macrocode} -%<*book> +%<*book|report> \newcommand\part{% - \if@openright + \if@openleft + \cleardoublepage + \else\if@openright \cleardoublepage \else \clearpage - \fi + \fi\fi \thispagestyle{empty}% 欧文用標準スタイルでは plain \if@twocolumn \onecolumn @@ -2900,7 +3098,7 @@ \fi \null\vfil \secdef\@part\@spart} -% +% % \end{macrocode} % \end{macro} % @@ -2909,11 +3107,11 @@ % 部の見出しを出力します。 % |\bfseries| を |\headfont| に変えました。 % -% |book| クラス以外では |secnumdepth| が $-1$ より大きいとき +% |book| および |report| クラス以外では |secnumdepth| が $-1$ より大きいとき % 部番号を付けます。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \def\@part[#1]#2{% \ifnum \c@secnumdepth >\m@ne \refstepcounter{part}% @@ -2936,13 +3134,13 @@ \nobreak \vskip 3ex \@afterheading} -% +% % \end{macrocode} % -% |book| クラスでは |secnumdepth| が $-2$ より大きいとき部番号を付けます。 +% |book| および |report| クラスでは |secnumdepth| が $-2$ より大きいとき部番号を付けます。 % % \begin{macrocode} -%<*book> +%<*book|report> \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% @@ -2961,7 +3159,7 @@ \fi \Huge \headfont #2\par}% \@endpart} -% +% % \end{macrocode} % \end{macro} % @@ -2970,7 +3168,7 @@ % 番号を付けない部です。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \def\@spart#1{{% \parindent \z@ \raggedright \interlinepenalty \@M @@ -2979,15 +3177,15 @@ \nobreak \vskip 3ex \@afterheading} -% -%<*book> +% +%<*book|report> \def\@spart#1{{% \centering \interlinepenalty \@M \normalfont \Huge \headfont #1\par}% \@endpart} -% +% % \end{macrocode} % \end{macro} % @@ -2997,18 +3195,25 @@ % 両面印刷のときは白ページを追加します。 % 二段組のときには,二段組に戻します。 % +% [2016-12-13] \texttt{openany} のときには白ページが追加されるのは変なので, +% その場合は追加しないようにしました。このバグは\LaTeX では +% classes.dtx v1.4b (2000/05/19) +% で修正されています。 +% % \begin{macrocode} -%<*book> +%<*book|report> \def\@endpart{\vfil\newpage \if@twoside - \null - \thispagestyle{empty}% - \newpage + \if@openleft %% added (2017/02/24) + \null\thispagestyle{empty}\newpage + \else\if@openright %% added (2016/12/13) + \null\thispagestyle{empty}\newpage + \fi\fi %% added (2016/12/13, 2017/02/24) \fi \if@restonecol \twocolumn \fi} -% +% % \end{macrocode} % \end{macro} % @@ -3022,9 +3227,10 @@ % 章見出しの上に図や表が来ないようにします。 % % \begin{macrocode} -%<*book> +%<*book|report> \newcommand{\chapter}{% - \if@openright\cleardoublepage\else\clearpage\fi + \if@openleft\cleardoublepage\else + \if@openright\cleardoublepage\else\clearpage\fi\fi \plainifnotempty % 元: \thispagestyle{plain} \global\@topnum\z@ \if@english \@afterindentfalse \else \@afterindenttrue \fi @@ -3042,7 +3248,7 @@ % \begin{macrocode} \def\@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne - \if@mainmatter +% \if@mainmatter \refstepcounter{chapter}% \typeout{\@chapapp\thechapter\@chappos}% \addcontentsline{toc}{chapter}% @@ -3050,7 +3256,7 @@ % {\if@english\thechapter\else\@chapapp\thechapter\@chappos\fi}% {\@chapapp\thechapter\@chappos}% #1}% - \else\addcontentsline{toc}{chapter}{#1}\fi +% \else\addcontentsline{toc}{chapter}{#1}\fi \else \addcontentsline{toc}{chapter}{#1}% \fi @@ -3076,11 +3282,11 @@ \vspace*{2\Cvs}% 欧文は50pt {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne - \if@mainmatter +% \if@mainmatter \huge\headfont \@chapapp\thechapter\@chappos \par\nobreak \vskip \Cvs % 欧文は20pt - \fi +% \fi \fi \interlinepenalty\@M \Huge \headfont #1\par\nobreak @@ -3116,7 +3322,7 @@ \interlinepenalty\@M \Huge \headfont #1\par\nobreak \vskip 3\Cvs}} % 欧文は40pt -% +% % \end{macrocode} % \end{macro} % @@ -3194,18 +3400,28 @@ % % 見出しの後ろで改行されません。 % +% [2016-11-16] 従来は |\paragraph| の最初に出るマークを「■」に固定して +% いましたが,このマークを変更可能にするため |\jsParagraphMark| というマクロ +% に切り出しました。これで,たとえば +%\begin{verbatim} +% \renewcommand{\jsParagraphMark}{★} +%\end{verbatim} +% とすれば「★」に変更できますし,マークを空にすることも容易です。 +% なお,某学会クラスでは従来どおりマークは付きません。 +% % \begin{macrocode} +%\newcommand{\jsParagraphMark}{■} \if@twocolumn \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% {\z@}{\if@slide .4\Cvs \else -1\zw\fi}% 改行せず 1\zw のアキ % {\normalfont\normalsize\headfont}} -% {\normalfont\normalsize\headfont ■}} +% {\normalfont\normalsize\headfont\jsParagraphMark}} \else \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% {\if@slide .5\Cvs \@plus.3\Cdp \else -1\zw\fi}% 改行せず 1\zw のアキ % {\normalfont\normalsize\headfont}} -% {\normalfont\normalsize\headfont ■}} +% {\normalfont\normalsize\headfont\jsParagraphMark}} \fi % \end{macrocode} % \end{macro} @@ -3535,7 +3751,7 @@ \rightmargin=0pt \leftmargin=5\zw}\item[]}{\end{list}\vspace{\baselineskip}} % -%<*article|kiyou> +%<*article|report|kiyou> \newbox\@abstractbox \if@titlepage \newenvironment{abstract}{% @@ -3584,7 +3800,7 @@ \endlist \fi} \fi -% +% %<*jspf> \newbox\@abstractbox \newenvironment{abstract}{% @@ -3692,16 +3908,24 @@ % % タイトルを独立のページに出力するのに使われます。 % +% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて, +% bookクラスでタイトルを必ず奇数ページに送るようにしました。といっても, +% 横組クラスしかありませんでしたので,従来の挙動は何も変わっていません。 +% また,book以外の場合のページ番号のリセットもコミュニティ版\pLaTeX の +% 標準クラス2017/02/15に合わせましたが,こちらも片面印刷あるいは +% 独立のタイトルページを作らないクラスばかりでしたので,従来の挙動は +% 何も変わらずに済みました。 +% % \begin{macrocode} \newenvironment{titlepage}{% -% \cleardoublepage +% \pltx@cleartooddpage %% 2017-02-24 \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty}% - \setcounter{page}\@ne + \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi }% {\if@restonecol\twocolumn \else \newpage \fi \if@twoside\else @@ -3717,7 +3941,7 @@ % 本文と付録を分離するコマンドです。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \newcommand{\appendix}{\par \setcounter{section}{0}% \setcounter{subsection}{0}% @@ -3726,15 +3950,15 @@ % \gdef\thesection{\@Alph\c@section}% [2003-03-02] \gdef\thesection{\presectionname\@Alph\c@section\postsectionname}% \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}} -% -%<*book> +% +%<*book|report> \newcommand{\appendix}{\par \setcounter{chapter}{0}% \setcounter{section}{0}% \gdef\@chapapp{\appendixname}% \gdef\@chappos{}% \gdef\thechapter{\@Alph\c@chapter}} -% +% % \end{macrocode} % \end{macro} % @@ -3826,12 +4050,12 @@ % 数式番号を出力するコマンドです。 % % \begin{macrocode} -%\renewcommand \theequation {\@arabic\c@equation} -%<*book> +%\renewcommand \theequation {\@arabic\c@equation} +%<*book|report> \@addtoreset{equation}{chapter} \renewcommand\theequation {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation} -% +% % \end{macrocode} % \end{macro} % @@ -3895,15 +4119,15 @@ % 図番号を出力するコマンドです。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \newcounter{figure} \renewcommand \thefigure {\@arabic\c@figure} -% -%<*book> +% +%<*book|report> \newcounter{figure}[chapter] \renewcommand \thefigure {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure} -% +% % \end{macrocode} % \end{macro} % \end{macro} @@ -3954,15 +4178,15 @@ % ここではオリジナルのままにしています。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \newcounter{table} \renewcommand\thetable{\@arabic\c@table} -% -%<*book> +% +%<*book|report> \newcounter{table}[chapter] \renewcommand \thetable {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table} -% +% % \end{macrocode} % \end{macro} % \end{macro} @@ -4261,8 +4485,8 @@ \newcommand\@pnumwidth{1.55em} \newcommand\@tocrmarg{2.55em} \newcommand\@dotsep{4.5} -%\setcounter{tocdepth}{2} -%\setcounter{tocdepth}{1} +%\setcounter{tocdepth}{2} +%\setcounter{tocdepth}{1} % \end{macrocode} % \end{macro} % \end{macro} @@ -4282,7 +4506,7 @@ % \begin{macrocode} \newdimen\jsc@tocl@width \newcommand{\tableofcontents}{% -%<*book> +%<*book|report> \settowidth\jsc@tocl@width{\headfont\prechaptername\postchaptername}% \settowidth\@tempdima{\headfont\appendixname}% \ifdim\jsc@tocl@width<\@tempdima \setlength\jsc@tocl@width{\@tempdima}\fi @@ -4294,17 +4518,17 @@ \fi \chapter*{\contentsname}% \@mkboth{\contentsname}{}% -% -%<*!book> +% +%<*!book&!report> \settowidth\jsc@tocl@width{\headfont\presectionname\postsectionname}% \settowidth\@tempdima{\headfont\appendixname}% \ifdim\jsc@tocl@width<\@tempdima\relax\setlength\jsc@tocl@width{\@tempdima}\fi \ifdim\jsc@tocl@width<2\zw \divide\jsc@tocl@width by 2 \advance\jsc@tocl@width 1\zw\fi \section*{\contentsname}% \@mkboth{\contentsname}{\contentsname}% -% +% \@starttoc{toc}% -% \if@restonecol\twocolumn\fi +% \if@restonecol\twocolumn\fi } % \end{macrocode} % \end{macro}\end{macro} @@ -4316,8 +4540,8 @@ % \begin{macrocode} \newcommand*{\l@part}[2]{% \ifnum \c@tocdepth >-2\relax -% \addpenalty\@secpenalty -% \addpenalty{-\@highpenalty}% +% \addpenalty\@secpenalty +% \addpenalty{-\@highpenalty}% \addvspace{2.25em \@plus\jsc@mpt}% \begingroup \parindent \z@ @@ -4330,8 +4554,8 @@ \setlength\@lnumwidth{4\zw}% #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par \nobreak -% \global\@nobreaktrue -% \everypar{\global\@nobreakfalse\everypar{}}% +% \global\@nobreaktrue +% \everypar{\global\@nobreakfalse\everypar{}}% \endgroup \fi} % \end{macrocode} @@ -4345,7 +4569,7 @@ % 決めるようにしてみました。(by ts) % % \begin{macrocode} -%<*book> +%<*book|report> \newcommand*{\l@chapter}[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% @@ -4364,7 +4588,7 @@ \penalty\@highpenalty \endgroup \fi} -% +% % \end{macrocode} % \end{macro} % @@ -4373,7 +4597,7 @@ % 節の目次です。 % % \begin{macrocode} -%<*!book> +%<*!book&!report> \newcommand*{\l@section}[2]{% \ifnum \c@tocdepth >\z@ \addpenalty{\@secpenalty}% @@ -4390,14 +4614,14 @@ #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par \endgroup \fi} -% +% % \end{macrocode} % % インデントと幅はそれぞれ1.5em,2.3emでしたが, % |1\zw|,|3.683\zw|に変えました。 % % \begin{macrocode} -% % \newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{3.683\zw}} +% % \newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{3.683\zw}} % \end{macrocode} % % [2013-12-30] 上のインデントは |\jsc@tocl@width| から決めるように @@ -4417,7 +4641,7 @@ % してみました。(by ts) % % \begin{macrocode} -%<*!book> +%<*!book&!report> % \newcommand*{\l@subsection} {\@dottedtocline{2}{1.5em}{2.3em}} % \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3.8em}{3.2em}} % \newcommand*{\l@paragraph} {\@dottedtocline{4}{7.0em}{4.1em}} @@ -4440,8 +4664,8 @@ \newcommand*{\l@subparagraph}{% \@tempdima\jsc@tocl@width \advance\@tempdima 2\zw \@dottedtocline{5}{\@tempdima}{6\zw}} -% -%<*book> +% +%<*book|report> % \newcommand*{\l@subsection} {\@dottedtocline{2}{3.8em}{3.2em}} % \newcommand*{\l@subsubsection}{\@dottedtocline{3}{7.0em}{4.1em}} % \newcommand*{\l@paragraph} {\@dottedtocline{4}{10em}{5em}} @@ -4461,7 +4685,7 @@ \newcommand*{\l@subparagraph}{% \@tempdima\jsc@tocl@width \advance\@tempdima 16.183\zw \@dottedtocline{5}{\@tempdima}{6.5\zw}} -% +% % \end{macrocode} % \end{macro} % \end{macro} @@ -4514,18 +4738,18 @@ % % \begin{macrocode} \newcommand{\listoffigures}{% -%<*book> +%<*book|report> \if@twocolumn\@restonecoltrue\onecolumn \else\@restonecolfalse\fi \chapter*{\listfigurename}% \@mkboth{\listfigurename}{}% -% -%<*!book> +% +%<*!book&!report> \section*{\listfigurename}% \@mkboth{\listfigurename}{\listfigurename}% -% +% \@starttoc{lof}% -% \if@restonecol\twocolumn\fi +% \if@restonecol\twocolumn\fi } % \end{macrocode} % \end{macro} @@ -4545,18 +4769,18 @@ % % \begin{macrocode} \newcommand{\listoftables}{% -%<*book> +%<*book|report> \if@twocolumn\@restonecoltrue\onecolumn \else\@restonecolfalse\fi \chapter*{\listtablename}% \@mkboth{\listtablename}{}% -% -%<*!book> +% +%<*!book&!report> \section*{\listtablename}% \@mkboth{\listtablename}{\listtablename}% -% +% \@starttoc{lot}% -% \if@restonecol\twocolumn\fi +% \if@restonecol\twocolumn\fi } % \end{macrocode} % \end{macro} @@ -4602,8 +4826,8 @@ \subsubsection*{\refname}\@mkboth{\refname}{\refname}% \vspace{0.5\baselineskip} % -% \chapter*{\bibname}\@mkboth{\bibname}{}% -% \addcontentsline{toc}{chapter}{\bibname}% +% \chapter*{\bibname}\@mkboth{\bibname}{}% +% \addcontentsline{toc}{chapter}{\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth @@ -4668,17 +4892,17 @@ % で囲んでください。 % % \begin{macrocode} -% \def\@citex[#1]#2{% +% \def\@citex[#1]#2{\leavevmode % \let\@citea\@empty % \@cite{\@for\@citeb:=#2\do % {\@citea\def\@citea{,\inhibitglue\penalty\@m\ }% -% \edef\@citeb{\expandafter\@firstofone\@citeb}% +% \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% % \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi % \@ifundefined{b@\@citeb}{\mbox{\normalfont\bfseries ?}% % \G@refundefinedtrue % \@latex@warning % {Citation `\@citeb' on page \thepage \space undefined}}% -% {\hbox{\csname b@\@citeb\endcsname}}}}{#1}} +% {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}} % \def\@cite#1#2{\inhibitglue[{#1\if@tempswa ,#2\fi}]\inhibitglue} % \end{macrocode} % @@ -4712,28 +4936,28 @@ \fi \columnseprule.4pt \columnsep 2\zw \ifx\multicols\@undefined -% \twocolumn[\@makeschapterhead{\indexname}% -% \addcontentsline{toc}{chapter}{\indexname}]% -% \def\presectionname{}\def\postsectionname{}% -% \twocolumn[\section*{\indexname}]% +% \twocolumn[\@makeschapterhead{\indexname}% +% \addcontentsline{toc}{chapter}{\indexname}]% +% \def\presectionname{}\def\postsectionname{}% +% \twocolumn[\section*{\indexname}]% \else \ifdim\textwidth<\fullwidth \setlength{\evensidemargin}{\oddsidemargin} \setlength{\textwidth}{\fullwidth} \setlength{\linewidth}{\fullwidth} -% \begin{multicols}{3}[\chapter*{\indexname}% -% \addcontentsline{toc}{chapter}{\indexname}]% -% \def\presectionname{}\def\postsectionname{}% -% \begin{multicols}{3}[\section*{\indexname}]% +% \begin{multicols}{3}[\chapter*{\indexname}% +% \addcontentsline{toc}{chapter}{\indexname}]% +% \def\presectionname{}\def\postsectionname{}% +% \begin{multicols}{3}[\section*{\indexname}]% \else -% \begin{multicols}{2}[\chapter*{\indexname}% -% \addcontentsline{toc}{chapter}{\indexname}]% -% \def\presectionname{}\def\postsectionname{}% -% \begin{multicols}{2}[\section*{\indexname}]% +% \begin{multicols}{2}[\chapter*{\indexname}% +% \addcontentsline{toc}{chapter}{\indexname}]% +% \def\presectionname{}\def\postsectionname{}% +% \begin{multicols}{2}[\section*{\indexname}]% \fi \fi -% \@mkboth{\indexname}{}% -% \@mkboth{\indexname}{\indexname}% +% \@mkboth{\indexname}{}% +% \@mkboth{\indexname}{\indexname}% \plainifnotempty % \thispagestyle{plain} \parindent\z@ \parskip\z@ \@plus .3\jsc@mpt\relax @@ -4828,12 +5052,8 @@ % % [2016-07-11] コミュニティ版p\LaTeX の変更に追随しました(Thanks: 角藤さん)。 % -% \begin{macrocode} -\renewcommand\@makefnmark{% - \unless\ifnum\ltjgetparameter{direction}=3 - \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}% - \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi} -% \end{macrocode} +% [2016-08-27 LTJ] 結果的に |\@makefnmark| の定義が +% Lua\TeX-ja本体(lltjcore.sty)中のものと全く同じになっていたので,削除します, % \end{macro} % % \begin{macro}{\thefootnote} @@ -4844,6 +5064,11 @@ % [2003-08-15] |\textasteriskcentered| ではフォントによって % 下がりすぎるので変更しました。 % +% [2016-10-08] TODO: 脚注番号が |newtxtext| や |newpxtext| の使用時に +% おかしくなってしまいます。これらのパッケージは内部で |\thefootnote| を +% 再定義していますので,気になる場合はパッケージを読み込むときに +% \texttt{defaultsups} オプションを付けてください(qa:57284, qa:57287)。 +% % \begin{macrocode} \def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi} % \end{macrocode} @@ -4873,7 +5098,7 @@ % 脚注番号は章ごとにリセットされます。 % % \begin{macrocode} -%\@addtoreset{footnote}{chapter} +%\@addtoreset{footnote}{chapter} % \end{macrocode} % \end{macro} % @@ -4955,10 +5180,13 @@ % する機能がありますが,|\item| 直後ではラベル用のボックスが段落先頭になる % ため,うまく働きませんでした。形を変えて復活させます。 % +% [2017-04-03 LTJ] 従来クラフファイルで定義していた |\@inhibitglue| は, +% Lua\TeX-jaのコアに |\ltjfakeparbegin| として正式に追加されたのでリネームします. +% % |\item| 命令の直後です。 % % \begin{macrocode} -\protected\def\@inhibitglue{\directlua{luatexja.jfmglue.create_beginpar_node()}} +\let\@inhibitglue=\ltjfakeparbegin \def\@item[#1]{% \if@noparitem \@donoparitem @@ -5001,7 +5229,7 @@ \else \clubpenalty \@clubpenalty \everypar{}% - \fi\@inhibitglue}% + \fi\ltjfakeparbegin}% \if@noitemarg \@noitemargfalse \if@nmbrlist @@ -5032,13 +5260,16 @@ % % しかし単に戻すだけでも駄目みたいなので,ここでも最後にグルーを消しておきます。 % +% [2016-12-05 LTJ] 本家[2016-11-29],lltjcore.styでの変更に追従させます. +% +% [2017-02-18 LTJ] lltjcore.sty側で戻したのを忘れていました. % \begin{macrocode} \def\@gnewline #1{% \ifvmode \@nolnerr \else \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null - \inhibitglue \ignorespaces + \inhibitglue\ignorespaces \fi} % \end{macrocode} % @@ -5285,8 +5516,8 @@ % \begin{macrocode} \newcommand{\prepartname}{\if@english Part~\else 第\fi} \newcommand{\postpartname}{\if@english\else 部\fi} -%\newcommand{\prechaptername}{\if@english Chapter~\else 第\fi} -%\newcommand{\postchaptername}{\if@english\else 章\fi} +%\newcommand{\prechaptername}{\if@english Chapter~\else 第\fi} +%\newcommand{\postchaptername}{\if@english\else 章\fi} \newcommand{\presectionname}{}% 第 \newcommand{\postsectionname}{}% 節 % \end{macrocode} @@ -5385,12 +5616,19 @@ % \paragraph{ページ設定} % % ページ設定の初期化です。 +% |stfloats|パッケージがシステムにインストールされている場合は、このパッケージを使って +% \pLaTeX の標準時と同じようにボトムフロートの下に脚注が組まれるようにします。 % +% [2017-02-19] \pLaTeX とLua\TeX-jaの|\@makecol|が違うことを +% 考慮していませんでした。 % \begin{macrocode} -%\if@slide \pagestyle{empty} \else \pagestyle{plain} \fi +%
\if@slide \pagestyle{empty} \else \pagestyle{plain} \fi %\if@report \pagestyle{plain} \else \pagestyle{headings} \fi +%\pagestyle{plain} %\pagestyle{headings} \pagenumbering{arabic} +\fnfixbottomtrue % 2017-02-19 +\IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{} \if@twocolumn \twocolumn \sloppy @@ -5404,7 +5642,7 @@ \renewcommand\familydefault{\sfdefault} \raggedright \ltj@setpar@global - \ltjsetxkanjiskip{0.1em}\relax + \ltjsetxkanjiskip0.1em\relax \fi % \end{macrocode} %