X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltjspf.cls;h=f7d0ddadad0a5f6f1d0ae94a9a974ccd4fa6577e;hb=d177010c46e52e722b4752eded1ae4a6807953df;hp=1f95d72f44fd86fcd1435278a571e1233271de69;hpb=dc1633f58b46991082ec70abae7d5768474885de;p=luatex-ja%2Fluatexja.git diff --git a/src/ltjspf.cls b/src/ltjspf.cls index 1f95d72..f7d0dda 100644 --- a/src/ltjspf.cls +++ b/src/ltjspf.cls @@ -38,7 +38,8 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjspf} - [2016/07/15 ltjsclasses ] + [2017/09/19 ltjsclasses ] +\def\jsc@clsname{ltjspf} \RequirePackage{luatexja} \newif\if@restonecol \newif\if@titlepage @@ -97,8 +98,7 @@ \newif\if@slide \@slidefalse \def\jsc@magscale{1} -\DeclareOption{slide}{\@slidetrue\def\jsc@magscale{3.583}\@landscapetrue\@titlepagetrue} -\DeclareOption{8pt} {\def\jsc@magscale{0.83}}% 1.2^(-1) +\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}} \DeclareOption{11pt}{\def\jsc@magscale{1.095}}% 1.2^0.5 @@ -121,8 +121,22 @@ \@ltjs@mag@xrealtrue \DeclareOption{nomag*}{\@ltjs@mag@xrealtrue} \DeclareOption{nomag}{\@ltjs@mag@xrealfalse} -\DeclareOption{noxreal}{\@ltjs@mag@xrealfalse} -\DeclareOption{real}{\@ltjs@mag@xrealfalse} +\DeclareOption{noxreal}{% + \ClassWarningNoLine{\jsc@clsname}{% + The class option `noxreal' is obsolete. \MessageBreak + Please use the `nomag' option instead}% + \@ltjs@mag@xrealfalse} +\DeclareOption{real}{% + \ClassWarningNoLine{\jsc@clsname}{% + The class option `real' is obsolete. \MessageBreak + Please use the `nomag' option instead}% + \@ltjs@mag@xrealfalse} +\DeclareOption{usemag}{% + \ClassWarningNoLine{\jsc@clsname}{% + This \jsc@clsname\space cls does not support `usemag'\MessageBreak +option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% + \@ltjs@mag@xrealtrue} + \hour\time \divide\hour by 60\relax \@tempcnta\hour \multiply\@tempcnta 60\relax \minute\time \advance\minute-\@tempcnta @@ -190,7 +204,7 @@ \tabskip\z@skip\cr }} \DeclareOption{disablejfam}{% - \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}} + \ClassWarningNoLine{\jsc@clsname}{The class option 'disablejfam' is obsolete}} \DeclareOption{draft}{\setlength\overfullrule{5pt}} \DeclareOption{final}{\setlength\overfullrule{0pt}} \newif\ifmingoth @@ -200,15 +214,20 @@ \newif\ifptexjis \ptexjisfalse \DeclareOption{winjis}{% - \ClassWarningNoLine{\@currname}{The class option 'winjis' is obsolete}} + \ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `winjis' option}} \DeclareOption{uplatex}{% - \ClassWarningNoLine{\@currname}{The class option 'uplatex' is obsolete}} + \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} \newif\if@english \@englishfalse \DeclareOption{english}{\@englishtrue} +\newif\if@jslogo \@jslogotrue +\DeclareOption{jslogo}{\@jslogotrue} +\DeclareOption{nojslogo}{\@jslogofalse} \ExecuteOptions{a4paper,twoside,twocolumn,notitlepage,fleqn,final} \ProcessOptions \if@slide @@ -231,21 +250,22 @@ \ifdim\jsc@mpt=1.0954\p@ \renewcommand{\@ptsize}{1}\else \ifdim\jsc@mpt=1.2\p@ \renewcommand{\@ptsize}{2}\else \renewcommand{\@ptsize}{-20}\fi\fi -\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 \directlua{ - local getdimen, mpt=tex.getdimen, tex.getdimen('js@mpt')/65536 + 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 @@ -253,7 +273,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 @@ -271,36 +291,48 @@ \expandafter\endgroup\@tempa } \fi\fi -\newlength{\stockwidth} -\newlength{\stockheight} -\setlength{\stockwidth}{\paperwidth} -\setlength{\stockheight}{\paperheight} +\def\jsc@smallskip{\vspace\jsc@smallskipamount} +\newskip\jsc@smallskipamount +\jsc@smallskipamount=3\jsc@mpt plus 1\jsc@mpt minus 1\jsc@mpt \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 + \def\Cjascale{0.903375} \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax \ifmingoth - \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=min}{} - \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=min}{} + \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=min}{} + \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=min}{} \else \ifptexjis - \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=jis}{} - \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=jis}{} + \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=jis}{} + \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=jis}{} \else - \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=ujis}{} - \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=ujis}{} + \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=ujis}{} + \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=ujis}{} \fi \fi -\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=ujisv}{} -\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=ujisv}{} +\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=ujisv}{} +\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=ujisv}{} \DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{} \DeclareFontShape{JY3}{gt}{bx}{n}{<->ssub*gt/m/n}{} \DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{} @@ -383,12 +415,13 @@ \belowdisplayshortskip \belowdisplayskip \let\@listi\@listI} \mcfamily\selectfont\normalsize -\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 \newcommand{\small}{% \ltj@@ifnarrowbaselines {\jsc@setfontsize\small\@ixpt{11}}% @@ -443,11 +476,11 @@ \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 -\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 \setlength\footskip{9\jsc@mmm} \setlength\headsep{9\jsc@mmm} @@ -461,6 +494,9 @@ \addtolength{\textheight}{\topskip} \addtolength{\textheight}{0.1\jsc@mpt} \setlength{\mathindent}{10\jsc@mmm} +\def\flushbottom{% + \def\@textbottom{\vskip \z@ \@plus.1\jsc@mpt}% + \let\@texttop\relax} \setlength\marginparsep{\columnsep} \setlength\marginparpush{\baselineskip} \setlength{\oddsidemargin}{\paperwidth} @@ -486,7 +522,7 @@ \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} @@ -693,7 +729,7 @@ \begingroup \@svsechd \endgroup \unskip \@tempskipa #1\relax - \hskip -\@tempskipa\@inhibitglue + \hskip -\@tempskipa\ltjfakeparbegin \else \clubpenalty \@clubpenalty \everypar{}% @@ -704,7 +740,9 @@ \@afterheading \fi \if@slide - {\vskip-6\jsc@mpt\maybeblue\hrule height0\jsc@mpt depth1\jsc@mpt\vskip7\jsc@mpt\relax}% + {\vskip\if@twocolumn-5\jsc@mpt\else-6\jsc@mpt\fi + \maybeblue\hrule height0\jsc@mpt depth1\jsc@mpt + \vskip\if@twocolumn 4\jsc@mpt\else 7\jsc@mpt\fi\relax} \fi \par % 2000-12-18 \ignorespaces} @@ -790,7 +828,7 @@ \fi \if@twocolumn \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}% - {\z@}{\z@}% + {\z@}{\if@slide .4\Cvs \else \z@ \fi}% {\normalfont\normalsize\headfont}} \else \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}% @@ -800,27 +838,33 @@ \fi \if@twocolumn \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}% - {\z@}{\z@}% + {\z@}{\if@slide .4\Cvs \else \z@ \fi}% {\normalfont\normalsize\headfont}} \else \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}% {\Cvs \@plus.5\Cdp \@minus.2\Cdp}% - {\z@}% + {\if@slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}% {\normalfont\normalsize\headfont}} \fi \if@twocolumn \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% - {\z@}{-1\zw}% 改行せず 1\zw のアキ + {\z@}{\if@slide .4\Cvs \else -1\zw\fi}% 改行せず 1\zw のアキ {\normalfont\normalsize\headfont}} \else \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% - {-1\zw}% 改行せず 1\zw のアキ + {\if@slide .5\Cvs \@plus.3\Cdp \else -1\zw\fi}% 改行せず 1\zw のアキ + {\normalfont\normalsize\headfont}} +\fi +\if@twocolumn + \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% + {\z@}{\if@slide .4\Cvs \@plus.3\Cdp \else -1\zw\fi}% + {\normalfont\normalsize\headfont}} +\else + \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% + {\z@}{\if@slide .5\Cvs \@plus.3\Cdp \else -1\zw\fi}% {\normalfont\normalsize\headfont}} \fi -\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% - {\z@}{-1\zw}% - {\normalfont\normalsize\headfont}} \if@slide \setlength\leftmargini{1\zw} \else @@ -932,7 +976,7 @@ \@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 @@ -1000,15 +1044,39 @@ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} -\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} -\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\newif\if@jsc@warnoldfontcmd +\@jsc@warnoldfontcmdtrue +\newif\if@jsc@warnoldfontcmdexception +\@jsc@warnoldfontcmdexceptionfalse +\newcommand*{\jsc@DeclareOldFontCommand}[3]{% + \DeclareOldFontCommand{#1}{% + \jsc@warnoldfontcmd{#1}#2% + }{% + \jsc@warnoldfontcmd{#1}#3% + }% +} +\DeclareRobustCommand*{\jsc@warnoldfontcmd}[1]{% + \if@jsc@warnoldfontcmdexception\else\if@jsc@warnoldfontcmd + \ClassWarning{\jsc@clsname}{% + deprecated old font command `\string#1' used.\MessageBreak + You should note, that since 1994 LaTeX2e provides a\MessageBreak + new font selection scheme called NFSS2 with several\MessageBreak + new, combinable font commands. This \jsc@clsname\MessageBreak +class has defined the old font commands like\MessageBreak +`\string#1' only for compatibility% + }% + \global\@jsc@warnoldfontcmdfalse + \fi\fi +} +\jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} +\jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} +\jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\jsc@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\jsc@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\jsc@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\jsc@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\jsc@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\jsc@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} \newcommand\@pnumwidth{1.55em} @@ -1096,6 +1164,7 @@ \newdimen\bibindent \setlength\bibindent{2\zw} \newenvironment{thebibliography}[1]{% + \global\@jsc@warnoldfontcmdexceptiontrue \global\let\presectionname\relax \global\let\postsectionname\relax \section*{\refname}\@mkboth{\refname}{\refname}% @@ -1114,7 +1183,8 @@ \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} + \endlist + \global\@jsc@warnoldfontcmdexceptionfalse} \newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em} \let\@openbib@code\@empty \newenvironment{theindex}{% 索引を3段組で出力する環境 @@ -1164,10 +1234,6 @@ \def\footnote{\inhibitglue\footnotes@ve} \let\footnotemarks@ve=\footnotemark \def\footnotemark{\inhibitglue\footnotemarks@ve} -\renewcommand\@makefnmark{% - \unless\ifnum\ltjgetparameter{direction}=3 - \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}% - \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi} \def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi} \renewcommand{\footnoterule}{% \kern-3\jsc@mpt @@ -1197,7 +1263,7 @@ \parindent 1\zw \noindent \llap{\@makefnmark\hskip0.3\zw}#1} -\protected\def\@inhibitglue{\directlua{luatexja.jfmglue.create_beginpar_node()}} +\let\@inhibitglue=\ltjfakeparbegin \def\@item[#1]{% \if@noparitem \@donoparitem @@ -1240,7 +1306,7 @@ \else \clubpenalty \@clubpenalty \everypar{}% - \fi\@inhibitglue}% + \fi\ltjfakeparbegin}% \if@noitemarg \@noitemargfalse \if@nmbrlist @@ -1265,8 +1331,14 @@ \@nolnerr \else \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null - \inhibitglue \ignorespaces + \inhibitglue\ignorespaces \fi} +\IfFileExists{jslogo.sty}{}{\@jslogofalse}% +\if@jslogo + \RequirePackage{jslogo} + \def\小{\jslg@small} + \def\上小{\jslg@uppersmall} +\else \def\小#1{\hbox{$\m@th$% \csname S@\f@size\endcsname \fontsize\sf@size\z@ @@ -1397,6 +1469,7 @@ \ifx\f@family\cmr\kern-.08em\else\kern-.15em\fi\TeX} \DeclareRobustCommand{\SliTeX}{% S\kern-.06emL\kern-.18em\上小{I}\kern -.03em\TeX} +\fi \newcommand{\prepartname}{\if@english Part~\else 第\fi} \newcommand{\postpartname}{\if@english\else 部\fi} \newcommand{\presectionname}{}% 第 @@ -1435,6 +1508,8 @@ \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script} \pagestyle{headings} \pagenumbering{arabic} +\fnfixbottomtrue % 2017-02-19 +\IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{} \if@twocolumn \twocolumn \sloppy @@ -1448,7 +1523,7 @@ \renewcommand\familydefault{\sfdefault} \raggedright \ltj@setpar@global - \ltjsetxkanjiskip{0.1em}\relax + \ltjsetxkanjiskip0.1em\relax \fi \endinput %%