\@makecaption \captionコマンドにより呼び出され,実際にキャプションを出力するコマンドです。第1
引数はフロートの番号,第2引数はテキストです。
\abovecaptionskip
\belowcaptionskip
それぞれキャプションの前後に挿入されるスペースです。\belowcaptionskip が0になっ ていましたので,キャプションを表の上につけた場合にキャプションと表がくっついてしま うのを直しました。
2057\newlength\abovecaptionskip
2058\newlength\belowcaptionskip
2059\setlength\abovecaptionskip{5\p@?} % 元: 10\p@
2060\setlength\belowcaptionskip{5\p@?} % 元: 0\p@
実際のキャプションを出力します。オリジナルと異なり,文字サイズを\smallにし,キャ プションの幅を2cm狭くしました。
[2003-11-05]ロジックを少し変えてみました。
2061%<*!jspf>
2062% \long\def\@makecaption#1#2{{\small
2063% \advance\leftskip1cm
2064% \advance\rightskip1cm
2065% \vskip\abovecaptionskip
2066% \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}%
2067% \ifdim \wd\@tempboxa >\hsize
2068% #1\hskip1\jsZw\relax #2\par
2069% \else
2070% \global \@minipagefalse
2071% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
2072% \fi
2073% \vskip\belowcaptionskip}}
2074\long\def\@makecaption#1#2{{\small
2075 \advance\leftskip .0628\linewidth
2076 \advance\rightskip .0628\linewidth
2077 \vskip\abovecaptionskip
2078 \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}%
2079 \ifdim \wd\@tempboxa <\hsize \centering \fi
2080 #1\hskip1\jsZw\relax #2\par
2081 \vskip\belowcaptionskip}}
2082%</!jspf>
2083%<*jspf>
2084\long\def\@makecaption#1#2{%
2085 \vskip\abovecaptionskip
2086 \sbox\@tempboxa{\small\sffamily #1\quad #2}%
2087 \ifdim \wd\@tempboxa >\hsize
2088 {\small\sffamily
2089 \list{#1}{%
2090 \renewcommand{\makelabel}[1]{##1\hfil}
2091 \itemsep \z@
2092 \itemindent \z@
2093 \labelsep \z@
2094 \labelwidth 11mm
2095 \listparindent\z@
2096 \leftmargin 11mm}\item\relax #2\endlist}
2097 \else
2098 \global \@minipagefalse
2099 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
2100 \fi
2101 \vskip\belowcaptionskip}
2102%</jspf>
8 フォントコマンド
ここではLATEX 2.09で使われていたコマンドを定義します。これらはテキストモードと数
式モードのどちらでも動作します。これらは互換性のためのもので,できるだけ\text...
と\math...を使ってください。
[2016-07-15] KOMA-Script中の\scr@DeclareOldFontCommandに倣い、これらの命令 を使うときには警告を発することにしました。
[2016-07-16]警告を最初の一回だけ発することにしました。また,例外的に警告を出さな
いようにするスイッチも付けます。
\if@jsc@warnoldfontcmd
\if@jsc@warnoldfontcmdexception \if@jsc@warnoldfontcmdはBXJSクラスでは不使用。
\if@jsc@warnoldfontcmdexception は \allow/disallowoldfontcommands の状態 を表す。
2103\newif\if@jsc@warnoldfontcmd
2104\@jsc@warnoldfontcmdtrue
2105\newif\if@jsc@warnoldfontcmdexception
2106\@jsc@warnoldfontcmdexceptionfalse
\jsc@DeclareOldFontCommand
2107\newcommand*{\jsc@DeclareOldFontCommand}[3]{%
2108 \g@addto@macro\bxjs@oldfontcmd@list{\do#1}%
2109 \DeclareOldFontCommand{#1}{%
2110 \bxjs@oldfontcmd{#1}#2%
2111 }{%
2112 \bxjs@oldfontcmd{#1}#3%
2113 }%
2114}
2115\DeclareRobustCommand*{\jsc@warnoldfontcmd}[1]{%
2116 \ClassInfo\bxjs@clsname
2117 {Old font command '\string#1' is used!!\MessageBreak
2118 First occurrence is}%
2119}
\allowoldfontcommands “二文字フォント命令”の使用を許可する(警告しない)。
\disallowoldfontcommands “二文字フォント命令”の使用に対して警告を出す。
2120\newcommand*{\allowoldfontcommands}{%
2121 \@jsc@warnoldfontcmdexceptiontrue}
2122\newcommand*{\disallowoldfontcommands}{%
2123 \@jsc@warnoldfontcmdexceptionfalse}
※1.x版ではWarningではなくInfoに留めておく。
2124\let\bxjs@oldfontcmd@list\@empty
2125\def\bxjs@oldfontcmd#1{%
2126 \expandafter\bxjs@oldfontcmd@a\csname bxjs@ofc/\string#1\endcsname#1}
2127\def\bxjs@oldfontcmd@a#1#2{%
2128 \if@jsc@warnoldfontcmdexception\else
2129 \global\@jsc@warnoldfontcmdfalse
2130 \ifx#1\relax
2131 \global\let#1=t%
2132 \jsc@warnoldfontcmd{#2}%
2133 \fi
2134 \fi}
2135\def\bxjs@warnoldfontcmd@final{%
2136 \par
2137 \let\@tempa\@empty
2138 \def\do##1{%
2139 \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else
2140 \edef\@tempa{\@tempa \space\string##1}\fi}
2141 \bxjs@oldfontcmd@list
2142 \ifx\@tempa\@empty\else
2143 \ClassWarningNoLine\bxjs@clsname
2144 {Some old font commands were used in text\MessageBreak
2145 (see the log output for detail)}%
2146 \ClassInfo\bxjs@clsname
2147 {Some old font commands were used in text:\MessageBreak
2148 \space\@tempa\MessageBreak
2149 You should note, that since 1994 LaTeX2e provides a\MessageBreak
2150 new font selection scheme called NFSS2 with several\MessageBreak
2151 new, combinable font commands. The
2152 class provides\MessageBreak
2153 the old font commands
2154 only for compatibility%
2155 \@gobble}%
2156 \fi}
2157\AtEndDocument{\bxjs@warnoldfontcmd@final}
\mc
\gt
\rm
\sf
\tt
フォントファミリを変更します。
2158\jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
2159\jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
2160\jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
2161\jsc@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
2162\jsc@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\bf ボールドシリーズにします。通常のミーディアムシリーズに戻すコマンドは\mdseries です。
2163\jsc@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\it
\sl
フォントシェイプを変えるコマンドです。斜体とスモールキャップスは数式中では何もしま
せん(警告メッセージを出力します)。通常のアップライト体に戻すコマンドは \upshape です。
2164\jsc@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
2165\jsc@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
2166\jsc@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\cal
\mit
数式モード以外では何もしません(警告を出します)。
2167\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
2168\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}