X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltjsarticle.cls;h=a40613cc775f700bce853be695a792b27e2bbaa5;hb=0f0921ced2b53537326ad20ce546020b3cae2670;hp=552462aab9d90e09e212c8375a9a008ba8767f06;hpb=6296bec066a4e97ebadd0785d30b9de07384f764;p=luatex-ja%2Fluatexja.git diff --git a/src/ltjsarticle.cls b/src/ltjsarticle.cls index 552462a..a40613c 100644 --- a/src/ltjsarticle.cls +++ b/src/ltjsarticle.cls @@ -38,7 +38,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjsarticle} - [2016/08/03 ltjsclasses ] + [2017/03/06 ltjsclasses ] \def\jsc@clsname{ltjsarticle} \RequirePackage{luatexja} \newif\if@restonecol @@ -217,7 +217,9 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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} @@ -249,9 +251,10 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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 @@ -259,11 +262,11 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% 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 @@ -271,7 +274,7 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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 @@ -289,20 +292,31 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax \ifmingoth @@ -461,11 +475,11 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \@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 \if@slide \setlength\footskip{\z@} @@ -477,6 +491,8 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \fi \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} @@ -496,7 +512,7 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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} @@ -532,7 +548,7 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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} @@ -562,6 +578,26 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \setlength\@dblfptop{0\jsc@mpt \@plus 1fil} \setlength\@dblfpsep{8\jsc@mpt \@plus 2fil} \setlength\@dblfpbot{0\jsc@mpt \@plus 1fil} +\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} \def\ps@plainfoot{% \let\@mkboth\@gobbletwo \let\@oddhead\@empty @@ -642,9 +678,9 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \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}% @@ -801,7 +837,7 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \begingroup \@svsechd \endgroup \unskip \@tempskipa #1\relax - \hskip -\@tempskipa\@inhibitglue + \hskip -\@tempskipa\ltjfakeparbegin \else \clubpenalty \@clubpenalty \everypar{}% @@ -917,15 +953,16 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% {\if@slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}% {\normalfont\normalsize\headfont}} \fi +\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\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\jsParagraphMark}} \fi \if@twocolumn \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% @@ -1088,7 +1125,7 @@ option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}% \@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 @@ -1336,10 +1373,6 @@ class has defined the old font commands like\MessageBreak \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 @@ -1369,7 +1402,7 @@ class has defined the old font commands like\MessageBreak \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 @@ -1412,7 +1445,7 @@ class has defined the old font commands like\MessageBreak \else \clubpenalty \@clubpenalty \everypar{}% - \fi\@inhibitglue}% + \fi\ltjfakeparbegin}% \if@noitemarg \@noitemargfalse \if@nmbrlist @@ -1437,7 +1470,7 @@ class has defined the old font commands like\MessageBreak \@nolnerr \else \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null - \inhibitglue \ignorespaces + \inhibitglue\ignorespaces \fi} \IfFileExists{jslogo.sty}{}{\@jslogofalse}% \if@jslogo @@ -1445,12 +1478,12 @@ class has defined the old font commands like\MessageBreak \def\小{\jslg@small} \def\上小{\jslg@uppersmall} \else -\def\小##1{\hbox{$\m@th$% +\def\小#1{\hbox{$\m@th$% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont - ##1}} -\def\上小##1{{\sbox\z@ T\vbox to\ht0{\小{##1}\vss}}} + #1}} +\def\上小#1{{\sbox\z@ T\vbox to\ht0{\小{#1}\vss}}} \def\cmrTeX{% \ifdim \fontdimen\@ne\font >\z@ T\kern-.25em\lower.5ex\hbox{E}\kern-.125emX\@ @@ -1614,6 +1647,8 @@ class has defined the old font commands like\MessageBreak \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script} \if@slide \pagestyle{empty} \else \pagestyle{plain} \fi \pagenumbering{arabic} +\fnfixbottomtrue % 2017-02-19 +\IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{} \if@twocolumn \twocolumn \sloppy @@ -1627,7 +1662,7 @@ class has defined the old font commands like\MessageBreak \renewcommand\familydefault{\sfdefault} \raggedright \ltj@setpar@global - \ltjsetxkanjiskip{0.1em}\relax + \ltjsetxkanjiskip0.1em\relax \fi \endinput %%