X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fltjtarticle.cls;h=e482ac49b4c4236ae20d965834e343e88d21dfaa;hb=10d1c23696277b3834b5a16ab7afb224476b12b9;hp=c49cc84fef3a0b2776eed7f6842126ecbe2cc8bd;hpb=e4e10334ce0e7c52743e91eeb4948d49287eee0b;p=luatex-ja%2Fluatexja.git diff --git a/src/ltjtarticle.cls b/src/ltjtarticle.cls index c49cc84..e482ac4 100644 --- a/src/ltjtarticle.cls +++ b/src/ltjtarticle.cls @@ -21,28 +21,11 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% File: ltjclasses.dtx -%% \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 -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjtarticle} - [2014/06/30 v1.6-ltj-4 + [2020/01/13 v1.8e-ltj-17 Standard LuaLaTeX-ja class] \RequirePackage{luatexja} -\RequirePackage{filehook} \newcounter{@paper} \newif\if@landscape \@landscapefalse \newcommand{\@ptsize}{} @@ -90,14 +73,6 @@ \DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue \setlength\paperheight {257mm} \setlength\paperwidth {182mm}} -\AtEndOfPackageFile{geometry}{% - \setlength{\@tempdima}{\textheight}% - \setlength{\textheight}{\textwidth}% - \setlength{\textwidth}{\@tempdima}% - \expandafter\def\expandafter\Gm@process\expandafter{\Gm@process - \setlength{\@tempdima}{\textheight}% - \setlength{\textheight}{\textwidth}% - \setlength{\textwidth}{\@tempdima}}} \if@compatibility \renewcommand{\@ptsize}{0} \else @@ -113,8 +88,8 @@ \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 @@ -127,6 +102,17 @@ \DeclareOption{tate}{% \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}% } +\AtEndOfPackageFile{everyshi}{% + \def\@EveryShipout@Output{% + \setbox8\vbox{% + \yoko + \@EveryShipout@Hook + \@EveryShipout@AtNextHook + \global\setbox\luatexoutputbox=\box\luatexoutputbox + }% + \gdef\@EveryShipout@AtNextHook{}% + \@EveryShipout@Org@Shipout\box\luatexoutputbox + }} \DeclareOption{oneside}{\@twosidefalse} \DeclareOption{twoside}{\@twosidetrue} \DeclareOption{onecolumn}{\@twocolumnfalse} @@ -147,16 +133,10 @@ \if@compatibility \@mathrmmctrue \else - \DeclareOption{disablejfam}{% - \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}} \DeclareOption{mathrmmc}{\@mathrmmctrue} \fi \DeclareOption{draft}{\setlength\overfullrule{5pt}} \DeclareOption{final}{\setlength\overfullrule{0pt}} -\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate} -\ProcessOptions\relax -\input{ltjtsize1\@ptsize.clo} -%\RequirePackage{plext} \directlua{luatexbase.add_to_callback('luatexja.load_jfm', function (ji, jn) ji.chars['parbdd'] = 0; return ji end, 'ltj.jclasses_load_jfm', 1)} @@ -166,20 +146,41 @@ \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{} \ltjglobalsetparameter{differentjfm=both} \directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')} +\DeclareOption{disablejfam}{} +\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate} +\ProcessOptions\relax +\input{ltjtsize1\@ptsize.clo} +\RequirePackage{lltjext} +\def\Cjascale{0.962216} \if@stysize \setlength\columnsep{3\Cwd} \else \setlength\columnsep{10\p@} \fi \setlength\columnseprule{0\p@} -\setlength{\@tempdima}{\paperwidth} -\setlength{\@tempdimb}{\paperheight} \iftombow - \advance \@tempdima 2in - \advance \@tempdimb 2in + \newlength{\stockwidth} + \newlength{\stockheight} + \setlength{\stockwidth}{\paperwidth} + \setlength{\stockheight}{\paperheight} + \advance \stockwidth 2in + \advance \stockheight 2in + \ifdefined\pdfpagewidth + \setlength{\pdfpagewidth}{\stockwidth} + \setlength{\pdfpageheight}{\stockheight} + \else + \setlength{\pagewidth}{\stockwidth} + \setlength{\pageheight}{\stockheight} + \fi +\else + \ifdefined\pdfpagewidth + \setlength{\pdfpagewidth}{\paperwidth} + \setlength{\pdfpageheight}{\paperheight} + \else + \setlength{\pagewidth}{\paperwidth} + \setlength{\pageheight}{\paperheight} + \fi \fi -\setlength{\pdfpagewidth}{\@tempdima} -\setlength{\pdfpageheight}{\@tempdimb} \setlength\lineskip{1\p@} \setlength\normallineskip{1\p@} \renewcommand{\baselinestretch}{} @@ -198,6 +199,26 @@ \renewcommand{\floatpagefraction}{.5} \renewcommand{\dbltopfraction}{.7} \renewcommand{\dblfloatpagefraction}{.5} +\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@plain{\let\@mkboth\@gobbletwo \let\ps@jpl@in\ps@plain \let\@oddhead\@empty @@ -289,7 +310,7 @@ \@restonecolfalse\newpage \fi \thispagestyle{empty}% - \setcounter{page}\@ne + \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017/02/15 }% {\if@restonecol\twocolumn \else \newpage \fi \if@twoside\else @@ -299,7 +320,7 @@ \fi \def\p@thanks#1{\footnotemark \protected@xdef\@thanks{\@thanks - \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}} + \protect{\noindent\hbox{\yoko$\m@th^\thefootnote$}#1\protect\par}}} \if@titlepage \newcommand{\maketitle}{\begin{titlepage}% \let\footnotesize\small @@ -340,10 +361,10 @@ \newcommand{\maketitle}{\par \begingroup \renewcommand{\thefootnote}{\fnsymbol{footnote}}% - \def\@makefnmark{\hbox{\ifydir $\m@th^{\@thefnmark}$ + \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$ \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}% \long\def\@makefntext##1{\parindent 1\zw\noindent - \hbox to 2\zw{\hss\@makefnmark}##1}% + \hb@xt@ 2\zw{\hss\@makefnmark}##1}% \if@twocolumn \ifnum \col@number=\@ne \@maketitle \else \twocolumn[\@maketitle]% @@ -358,6 +379,7 @@ \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax + \global\let\@maketitle\relax \global\let\p@thanks\relax \global\let\@thanks\@empty \global\let\@author\@empty @@ -423,7 +445,9 @@ \thesubsubsection・\rensuji{\@arabic\c@paragraph}} \renewcommand{\thesubparagraph}{% \theparagraph・\rensuji{\@arabic\c@subparagraph}} -\newcommand{\part}{\par\addvspace{4ex}% +\newcommand{\part}{% + \if@noskipsec \leavevmode \fi + \par\addvspace{4ex}% \@afterindenttrue \secdef\@part\@spart} \def\@part[#1]#2{% @@ -436,7 +460,7 @@ \fi \markboth{}{}% {\parindent\z@\raggedright - \interlinepenalty\@M\reset@font + \interlinepenalty\@M\normalfont \ifnum \c@secnumdepth >\m@ne \Large\bfseries\prepartname\thepart\postpartname \par\nobreak @@ -445,29 +469,29 @@ \nobreak\vskip3ex\@afterheading} \def\@spart#1{{% \parindent\z@\raggedright - \interlinepenalty\@M\reset@font + \interlinepenalty\@M\normalfont \huge\bfseries#1\par}% \nobreak\vskip3ex\@afterheading} \newcommand{\section}{\@startsection{section}{1}{\z@}% {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% {.5\Cvs \@plus.3\Cvs}% - {\reset@font\Large\bfseries}} + {\normalfont\Large\bfseries}} \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}% {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% {.5\Cvs \@plus.3\Cvs}% - {\reset@font\large\bfseries}} + {\normalfont\large\bfseries}} \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}% {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% {.5\Cvs \@plus.3\Cvs}% - {\reset@font\normalsize\bfseries}} + {\normalfont\normalsize\bfseries}} \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% {3.25ex \@plus 1ex \@minus .2ex}% {-1em}% - {\reset@font\normalsize\bfseries}} + {\normalfont\normalsize\bfseries}} \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% {3.25ex \@plus 1ex \@minus .2ex}% {-1em}% - {\reset@font\normalsize\bfseries}} + {\normalfont\normalsize\bfseries}} \newcommand{\appendix}{\par \setcounter{section}{0}% \setcounter{subsection}{0}% @@ -508,8 +532,8 @@ {\ifnum \@enumdepth >\thr@@\@toodeep\else \advance\@enumdepth\@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}% - \list{\csname label\@enumctr\endcsname}{% - \iftdir + \expandafter \list \csname label\@enumctr\endcsname{% + \ifnum\ltjgetparameter{direction}=3 \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip \else\topsep\z@\fi \parskip\z@ \itemsep\z@ \parsep\z@ @@ -521,23 +545,23 @@ \usecounter{\@enumctr}% \def\makelabel##1{\hss\llap{##1}}}% \fi}{\endlist} -\newcommand{\labelitemi}{\textbullet} +\newcommand{\labelitemi}{\labelitemfont \textbullet} \newcommand{\labelitemii}{% - \iftdir - {\textcircled{~}} + \ifnum\ltjgetparameter{direction}=3 + {\labelitemfont \textcircled{~}} \else - {\normalfont\bfseries\textendash} + {\labelitemfont \bfseries\textendash} \fi } -\newcommand{\labelitemiii}{\textasteriskcentered} -\newcommand{\labelitemiv}{\textperiodcentered} +\newcommand{\labelitemiii}{\labelitemfont \textasteriskcentered} +\newcommand{\labelitemiv}{\labelitemfont \textperiodcentered} +\newcommand\labelitemfont{\normalfont} \renewenvironment{itemize} {\ifnum \@itemdepth >\thr@@\@toodeep\else \advance\@itemdepth\@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter - \list{\csname \@itemitem\endcsname}{% - \iftdir + \expandafter \list \csname \@itemitem\endcsname{% + \ifnum\ltjgetparameter{direction}=3 \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip \else\topsep\z@\fi \parskip\z@ \itemsep\z@ \parsep\z@ @@ -550,7 +574,7 @@ \fi}{\endlist} \newenvironment{description} {\list{}{\labelwidth\z@ \itemindent-\leftmargin - \iftdir + \ifnum\ltjgetparameter{direction}=3 \leftmargin\leftskip \advance\leftmargin3\Cwd \rightmargin\rightskip \labelsep=1\zw \itemsep\z@ @@ -604,15 +628,15 @@ \setlength\belowcaptionskip{0\p@} \long\def\@makecaption#1#2{% \vskip\abovecaptionskip - \iftdir\sbox\@tempboxa{#1\hskip1\zw#2}% + \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}% \else\sbox\@tempboxa{#1: #2}% \fi \ifdim \wd\@tempboxa >\hsize - \iftdir #1\hskip1\zw#2\relax\par + \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par \else #1: #2\relax\par\fi \else \global \@minipagefalse - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} \setlength\arraycolsep{5\p@} @@ -624,6 +648,7 @@ \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} \renewcommand{\theequation}{\@arabic\c@equation} +\unless\ifltj@disablejfam \if@compatibility\else \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n} \DeclareSymbolFontAlphabet{\mathmc}{mincho} @@ -637,6 +662,7 @@ \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt} }% \fi +\fi \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} @@ -655,7 +681,7 @@ \newdimen\toclineskip \setlength\toclineskip{2\p@} \newdimen\@lnumwidth -\def\numberline#1{\hbox to\@lnumwidth{#1\hfil}} +\def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}} \def\@dottedtocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip\toclineskip \@plus.2\p@ @@ -664,19 +690,21 @@ \interlinepenalty\@M \leavevmode \@lnumwidth #3\relax - \advance\leftskip \@lnumwidth \hbox{}\hskip -\leftskip + \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip {#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}% \hfill\nobreak \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}% \par}% \fi} +\providecommand*\protected@file@percent{} \def\addcontentsline#1#2#3{% \protected@write\@auxout {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble -\@temptokena{\rensuji{\thepage}}}% + \@temptokena{\rensuji{\thepage}}}% {\string\@writefile{#1}% - {\protect\contentsline{#2}{#3}{\the\@temptokena}}}% + {\protect\contentsline{#2}{#3}{\the\@temptokena}% +\protected@file@percent}}% } \newcommand{\tableofcontents}{% \section*{\contentsname @@ -693,7 +721,7 @@ {\leavevmode\large\bfseries \setlength\@lnumwidth{4\zw}% #1\hfil\nobreak - \hbox to\@pnumwidth{\hss#2}}\par + \hb@xt@\@pnumwidth{\hss#2}}\par \nobreak \if@compatibility \global\@nobreaktrue @@ -710,7 +738,7 @@ \leavevmode\bfseries \setlength\@lnumwidth{1.5em}% \advance\leftskip\@lnumwidth \hskip-\leftskip - #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par + #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par \endgroup \fi} \newcommand*{\l@subsection} {\@dottedtocline{2}{1\zw}{4\zw}} @@ -718,14 +746,14 @@ \newcommand*{\l@paragraph} {\@dottedtocline{4}{3\zw}{8\zw}} \newcommand*{\l@subparagraph} {\@dottedtocline{5}{4\zw}{9\zw}} \newcommand{\listoffigures}{% - \section*{\listfigurename - \@mkboth{\listfigurename}{\listfigurename}}% + \section*{\listfigurename}% + \@mkboth{\listfigurename}{\listfigurename}% \@starttoc{lof}% } \newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}} \newcommand{\listoftables}{% - \section*{\listtablename - \@mkboth{\listtablename}{\listtablename}}% + \section*{\listtablename}% + \@mkboth{\listtablename}{\listtablename}% \@starttoc{lot}% } \let\l@table\l@figure @@ -733,7 +761,7 @@ \setlength\bibindent{1.5em} \newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em} \newenvironment{thebibliography}[1] -{\section*{\refname\@mkboth{\refname}{\refname}}% +{\section*{\refname}\@mkboth{\refname}{\refname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth @@ -753,11 +781,11 @@ \let\@openbib@code\@empty \newenvironment{theindex} {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi - \columnseprule\z@ \columnsep 35\p@ \twocolumn[\section*{\indexname}]% \@mkboth{\indexname}{\indexname}% \thispagestyle{jpl@in}\parindent\z@ \parskip\z@ \@plus .3\p@\relax + \columnseprule\z@ \columnsep 35\p@ \let\item\@idxitem} {\if@restonecol\onecolumn\else\clearpage\fi} \newcommand{\@idxitem}{\par\hangindent 40\p@} @@ -766,35 +794,44 @@ \newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} \renewcommand{\footnoterule}{% \kern-3\p@ - \hrule width .4\columnwidth - \kern 2.6\p@} + \hrule\@width.4\columnwidth + \kern2.6\p@} \newcommand\@makefntext[1]{\parindent 1\zw - \noindent\hbox to 2\zw{\hss\@makefnmark}#1} -\newif\if西暦 \西暦false + \noindent\hb@xt@ 2\zw{\hss\@makefnmark}#1} +\newif\if西暦 \西暦true \def\西暦{\西暦true} \def\和暦{\西暦false} \newcount\heisei \heisei\year \advance\heisei-1988\relax -\def\today{{% - \iftdir - \if西暦 - \kansuji\number\year 年 - \kansuji\number\month 月 - \kansuji\number\day 日 +\def\pltx@today@year@#1{% + \ifnum\numexpr\year-#1=1 元\else + \ifnum\ltjgetparameter{direction}=3 + \kansuji\numexpr\year-#1\relax \else - 平成\ifnum\heisei=1 元年\else\kansuji\number\heisei 年\fi - \kansuji\number\month 月 - \kansuji\number\day 日 + \number\numexpr\year-#1\relax\nobreak \fi + \fi 年 +} +\def\pltx@today@year{% + \ifnum\numexpr\year*10000+\month*100+\day<19890108 + 昭和\pltx@today@year@{1925}% + \else\ifnum\numexpr\year*10000+\month*100+\day<20190501 + 平成\pltx@today@year@{1988}% \else - \if西暦 - \number\year~年 - \number\month~月 - \number\day~日 - \else - 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi - \number\month~月 - \number\day~日 - \fi + 令和\pltx@today@year@{2018}% + \fi\fi} +\def\today{{% + \if西暦 + \ifnum\ltjgetparameter{direction}=3 \kansuji\year + \else\number\year\nobreak\fi 年 + \else + \pltx@today@year + \fi + \ifnum\ltjgetparameter{direction}=3 + \kansuji\month 月 + \kansuji\day 日 + \else + \number\month\nobreak 月 + \number\day\nobreak 日 \fi}} \newcommand{\prepartname}{第} \newcommand{\postpartname}{部} @@ -810,6 +847,8 @@ \pagestyle{plain} \pagenumbering{arabic} \raggedbottom +\fnfixbottomtrue % 2017-02-19 +\IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{} \if@twocolumn \twocolumn \sloppy @@ -818,6 +857,8 @@ \fi \normalmarginpar \@mparswitchfalse +\AtBeginOfPackageFile*{ftnright}{\let\ltjt@orig@@makefntext=\@makefntext} +\AtEndOfPackageFile*{ftnright}{\let\@makefntext=\ltjt@orig@@makefntext} \endinput %% %% End of file `ltjtarticle.cls'.