diff options
author | Karl Berry <karl@freefriends.org> | 2016-11-03 21:17:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-11-03 21:17:15 +0000 |
commit | e7dcff8c98b47537e49e96d4727da0429f218d5e (patch) | |
tree | 7977df02feaeccd7b5650ce2a8423d0102936c53 /Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls | |
parent | b60ca9e4d571bb8eaf715f6c8e21a0053d59e1a7 (diff) |
bxjscls (3nov16)
git-svn-id: svn://tug.org/texlive/trunk@42430 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls | 210 |
1 files changed, 112 insertions, 98 deletions
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls index b9beaffc632..0795b850ae7 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls @@ -20,24 +20,9 @@ %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) -%% \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{bxjsarticle} - [2016/08/16 v1.2a BXJS document classes] + [2016/11/01 v1.3 BXJS document classes] %% このファイルは日本語文字を含みます. \RequirePackage{calc} \RequirePackage{keyval} @@ -76,7 +61,7 @@ \ifx O\jsEngine \def\bxjs@tmpa{Omega}\fi \ifx\bxjs@tmpa\relax \expandafter\@gobble \else - \ClassError\@currname + \ClassError\bxjs@clsname {The engine in use (\bxjs@tmpa) is not supported} {It's a fatal error. I'll quit right now.} \expandafter\@firstofone @@ -119,9 +104,10 @@ \if@compatibility \ClassError\bxjs@clsname {Something went chaotic!\MessageBreak + (How come '\string\documentstyle' is there?)\MessageBreak I cannot go a single step further...} - {If the chant of \string\documentstyle\space was just a blunder - of yours,\MessageBreak then there'll still be hope....} + {If the chant of '\string\documentstyle' was just a blunder of yours,\MessageBreak + then there'll still be hope....} \expandafter\@firstofone \else \expandafter\@gobble \fi{\typeout{Farewell!}\endinput\@@end} @@ -179,6 +165,7 @@ {You should not use 'true' lengths here}% \fi} \newif\ifjsc@mag +\newif\ifjsc@mag@xreal \DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}} \DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}} \DeclareOption{10pt}{\bxjs@setbasefontsize{10pt}} @@ -268,6 +255,9 @@ \newif\if@english \@englishfalse \DeclareOption{english}{\@englishtrue} +\newif\if@jslogo \@jslogofalse +\DeclareOption{jslogo}{\@jslogotrue} +\DeclareOption{nojslogo}{\@jslogofalse} \mathchardef\bxjs@csta=259 \def\bxjs@invscale#1#2{% \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax @@ -420,9 +410,6 @@ \DeclareOption{noscale}{% \bxjs@scalesettrue \def\jsScale{1}} -\DeclareOption{CJK}{% - \ClassWarning\bxjs@clsname - {Option `CJK' was abolished}} \let\bxjs@param@mag\relax \define@key{bxjs}{mag}{\edef\bxjs@param@mag{#1}} \define@key{bxjs}{paper}{\edef\bxjs@param@paper{#1}} @@ -453,7 +440,7 @@ bxjs@magstyle@#1\endcsname \ifx\bxjs@magstyle\relax \ClassError\bxjs@clsname - {Invalid magstyle value `#1'}\@ehc + {Invalid value '#1' for option magstyle}\@ehc \let\bxjs@magstyle\bxjs@magstyle@default \fi} \let\bxjs@geometry@class=c @@ -464,7 +451,7 @@ bxjs@geometry@#1\endcsname \ifx\bxjs@geometry\relax \ClassError\bxjs@clsname - {Invalid geometry value `#1'}\@ehc + {Invalid value '#1' for option geometry}\@ehc \let\bxjs@geometry\bxjs@geometry@class \fi} \newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue @@ -482,13 +469,13 @@ bxjs@dvidriver@@#1\endcsname \ifx\bxjs@tmpa\relax \ClassError\bxjs@clsname - {Invalid dvi value `#1'}\@ehc + {Invalid value '#1' for option dvi}\@ehc \else \def\bxjs@driver@opt{#1}% \let\bxjs@driver@given\@undefined \bxjs@dvi@opttrue \fi} -\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmargintrue +\newif\ifbxjs@layout@buggyhmargin \bxjs@layout@buggyhmarginfalse \@namedef{bxjs@kv@layout@v1}{% \bxjs@layout@buggyhmargintrue} \@namedef{bxjs@kv@layout@v2}{% @@ -567,8 +554,8 @@ \fi \ifx\bxjs@engine@given\@undefined\else \ifx\bxjs@engine@given\bxjs@tmpb\else - \ClassError\bxjs@clsname% - {Option `\bxjs@engine@opt' used on wrong engine}\@ehc + \ClassError\bxjs@clsname + {Option '\bxjs@engine@opt' used on wrong engine}\@ehc \fi \fi \ifjsWithpTeXng @@ -596,8 +583,8 @@ \fi\fi \fi \if@tempswa\else - \ClassError\bxjs@clsname% - {Option `\bxjs@driver@opt' used on wrong engine}\@ehc + \ClassError\bxjs@clsname + {Option '\bxjs@driver@opt' used on wrong engine}\@ehc \fi \ifjsInPdfMode \@tempswafalse \else\ifx x\jsEngine \@tempswafalse @@ -635,18 +622,18 @@ \fi \ifx\bxjs@jadriver@given\@undefined\else \ifx\bxjs@engine@given\@undefined - \ClassError\bxjs@clsname% - {An engine option must be explicitly given}% - {When you employ a Japanese-driver you must specify a - correct\MessageBreak engine option.\MessageBreak\@ehc} + \ClassError\bxjs@clsname + {An engine option must be explicitly given}% + {When you use a Japanese-driver you must specify a correct\MessageBreak + engine option.\MessageBreak\@ehc} \fi\fi \ifx\bxjs@magstyle@default\bxjs@magstyle@mag\else \ifx\bxjs@magstyle\bxjs@magstyle@mag \let\bxjs@magstyle\bxjs@magstyle@default - \ClassError\bxjs@clsname% - {The engine does not support 'magstyle=mag'}% - {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak - The default value is used instead.\MessageBreak \@ehc} + \ClassError\bxjs@clsname + {The engine does not support 'magstyle=usemag'}% + {LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak + The default value 'nomag*' is used instead.\MessageBreak \@ehc} \fi \fi \bxjs@do@opt@jbase @@ -675,11 +662,10 @@ \fi \ifdim\bxjs@param@basefontsize<10pt \def\n@baseline{15}% \else \def\n@baseline{16}\fi -\newif\ifbxjs@nfss@patch \ifx\bxjs@magstyle\bxjs@magstyle@mag \jsc@magtrue \else\ifx\bxjs@magstyle\bxjs@magstyle@xreal - \bxjs@nfss@patchtrue + \jsc@mag@xrealtrue \fi\fi \ifx\bxjs@param@mag\relax \@tempdima=\bxjs@param@basefontsize @@ -716,45 +702,46 @@ \ifbxjs@usezw \providecommand*\zw{\jsZw} \fi -\ifbxjs@nfss@patch -\RequirePackage{type1cm} -\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax -\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax -\let\bxjs@get@external@font\get@external@font -\def\get@external@font{% - \bxjs@preadjust@extract@font - \bxjs@get@external@font} -\def\bxjs@fstrunc#1{% - \edef\bxjs@tmpa{\strip@pt#1}% - \expandafter\bxjs@fstrunc@a\bxjs@tmpa.****\@nil} -\def\bxjs@fstrunc@a#1.#2#3#4#5#6\@nil{% - \if#5*\else - \edef\bxjs@tmpa{#1% - \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}% - \fi} -\def\bxjs@preadjust@extract@font{% - \let\bxjs@req@size\f@size - \dimen@\f@size\p@ \bxjs@invscale\dimen@\jsc@magscale - \advance\dimen@.005pt\relax \bxjs@fstrunc\dimen@ - \let\bxjs@ref@size\bxjs@tmpa - \let\f@size\bxjs@ref@size} -\def\execute@size@function#1{% - \let\bxjs@cref@size\f@size - \let\f@size\bxjs@req@size - \csname s@fct@#1\endcsname} -\let\bxjs@DeclareErrorFont\DeclareErrorFont -\def\DeclareErrorFont#1#2#3#4#5{% - \@tempdimc#5\p@ \@tempdimc\jsc@magscale\@tempdimc - \edef\bxjs@tmpa{{#1}{#2}{#3}{#4}{\strip@pt\@tempdimc}} - \expandafter\bxjs@DeclareErrorFont\bxjs@tmpa} -\def\gen@sfcnt{% - \edef\mandatory@arg{\mandatory@arg\bxjs@cref@size}% - \empty@sfcnt} -\def\genb@sfcnt{% - \edef\mandatory@arg{% - \mandatory@arg\expandafter\genb@x\bxjs@cref@size..\@@}% - \empty@sfcnt} -\DeclareErrorFont{OT1}{cmr}{m}{n}{10} +\ifjsc@mag@xreal + \RequirePackage{type1cm} + \let\jsc@invscale\bxjs@invscale + \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \let\jsc@get@external@font\get@external@font + \def\get@external@font{% + \jsc@preadjust@extract@font + \jsc@get@external@font} + \def\jsc@fstrunc#1{% + \edef\jsc@tmpa{\strip@pt#1}% + \expandafter\jsc@fstrunc@a\jsc@tmpa.****\@nil} + \def\jsc@fstrunc@a#1.#2#3#4#5#6\@nil{% + \if#5*\else + \edef\jsc@tmpa{#1% + \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}% + \fi} + \def\jsc@preadjust@extract@font{% + \let\jsc@req@size\f@size + \dimen@\f@size\p@ \jsc@invscale\dimen@\jsc@magscale + \advance\dimen@.005pt\relax \jsc@fstrunc\dimen@ + \let\jsc@ref@size\jsc@tmpa + \let\f@size\jsc@ref@size} + \def\execute@size@function#1{% + \let\jsc@cref@size\f@size + \let\f@size\jsc@req@size + \csname s@fct@#1\endcsname} + \let\jsc@DeclareErrorFont\DeclareErrorFont + \def\DeclareErrorFont#1#2#3#4#5{% + \@tempdimc#5\p@ \@tempdimc\jsc@magscale\@tempdimc + \edef\jsc@tmpa{{#1}{#2}{#3}{#4}{\strip@pt\@tempdimc}} + \expandafter\jsc@DeclareErrorFont\jsc@tmpa} + \def\gen@sfcnt{% + \edef\mandatory@arg{\mandatory@arg\jsc@cref@size}% + \empty@sfcnt} + \def\genb@sfcnt{% + \edef\mandatory@arg{% + \mandatory@arg\expandafter\genb@x\jsc@cref@size..\@@}% + \empty@sfcnt} + \DeclareErrorFont{OT1}{cmr}{m}{n}{10} \fi \chardef\bxjs@periodchar=`\. \bxjs@protected\def\bxjs@SE{\spacefactor\sfcode\bxjs@periodchar} @@ -995,8 +982,8 @@ \def\bxjs@check@page@layout{% \ifdim\textwidth=.5\maxdimen \ClassError\bxjs@clsname - {Page layout is not properly set} - \@ehd + {Page layout is not properly set}% + {\@ehd} \fi} \def\jsUseMinimalPageLayout{% \setlength{\textwidth}{6.5in}% @@ -1006,7 +993,7 @@ {\bxjs@pagelayout@a}{\bxjs@pagelayout@a}} \def\bxjs@pagelayout@a#1{% \ClassError\bxjs@clsname - {Command \string\setpagelayout\space is not supported,\MessageBreak + {Command '\string\setpagelayout' is not supported,\MessageBreak because 'geometry' value is not 'class'}\@eha} \fi\fi \footnotesep=11\p@? \footnotesep=0.7\footnotesep @@ -1308,7 +1295,9 @@ \@afterheading \fi \if@slide - {\vskip-6\p@?\maybeblue\hrule height0\p@? depth1\p@?\vskip7\p@?\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} @@ -1394,7 +1383,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@}% @@ -1404,12 +1393,12 @@ \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 \newcommand\jsParagraphMark{\jsJaChar{■}} @@ -1419,17 +1408,23 @@ \let\jsJaChar\@empty \if@twocolumn \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% - {\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ + {\z@}{\if@slide .4\Cvs \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ {\normalfont\normalsize\headfont\jsParagraphMark}} \else \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% - {-1\jsZw}% 改行せず 1\jsZw のアキ + {\if@slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ {\normalfont\normalsize\headfont\jsParagraphMark}} \fi -\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% - {\z@}{-1\jsZw}% - {\normalfont\normalsize\headfont}} +\if@twocolumn + \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% + {\z@}{\if@slide .4\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% + {\normalfont\normalsize\headfont}} +\else + \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% + {\z@}{\if@slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% + {\normalfont\normalsize\headfont}} +\fi \if@slide \setlength\leftmargini{1\jsZw} \else @@ -1658,7 +1653,7 @@ \DeclareRobustCommand*{\jsc@warnoldfontcmd}[1]{% \ClassInfo\bxjs@clsname {Old font command '\string#1' is used!!\MessageBreak - First occurrence is}% + The first occurrence is}% } \newcommand*{\allowoldfontcommands}{% \@jsc@warnoldfontcmdexceptiontrue} @@ -1685,7 +1680,7 @@ \ifx\@tempa\@empty\else \ClassWarningNoLine\bxjs@clsname {Some old font commands were used in text\MessageBreak - (see the log output for detail)}% + (see the log file for detail)}% \ClassInfo\bxjs@clsname {Some old font commands were used in text:\MessageBreak \space\@tempa\MessageBreak @@ -1858,10 +1853,12 @@ \newcommand{\indexspace}{\par \vskip 10\p@? \@plus5\p@? \@minus3\p@?\relax} \newcommand\seename{\if@english see\else →\fi} \newcommand\alsoname{\if@english see also\else →\fi} -\let\footnotes@ve=\footnote -\def\footnote{\jsInhibitGlue\footnotes@ve} -\let\footnotemarks@ve=\footnotemark -\def\footnotemark{\jsInhibitGlue\footnotemarks@ve} +\ifx\pltx@foot@penalty\@undefined + \let\footnotes@ve=\footnote + \def\footnote{\jsInhibitGlue\footnotes@ve} + \let\footnotemarks@ve=\footnotemark + \def\footnotemark{\jsInhibitGlue\footnotemarks@ve} +\fi \def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi} \renewcommand{\footnoterule}{% \kern-2.6\p@? \kern-.4\p@ @@ -1885,7 +1882,14 @@ \else \let\next\f@t\fi \next} \def\f@@t{\bgroup\aftergroup\@foot\let\next} \def\f@t#1{#1\@foot} -\def\@foot{\@finalstrut\strutbox\color@endgroup\egroup} +\def\@foot{\@finalstrut\strutbox\color@endgroup\egroup + \ifhmode\null\fi + \ifx\pltx@foot@penalty\@undefined\else + \ifnum\pltx@foot@penalty=\z@\else + \penalty\pltx@foot@penalty + \pltx@foot@penalty\z@ + \fi + \fi} \newcommand\@makefntext[1]{% \advance\leftskip 3\jsZw \parindent 1\jsZw @@ -2001,6 +2005,16 @@ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null \jsInhibitGlue \ignorespaces \fi} +\if@jslogo + \IfFileExists{jslogo.sty}{% + \RequirePackage{jslogo}% + }{% + \ClassWarningNoLine\bxjs@clsname + {The package 'jslogo' is not installed.\MessageBreak + It is included in the recent release of\MessageBreak + the 'jsclasses' bundle} + } +\fi \newcommand{\prepartname}{\if@english Part~\else 第\fi} \newcommand{\postpartname}{\if@english\else 部\fi} \newcommand{\presectionname}{}% 第 |