• 検索結果がありません。

キャプション

ドキュメント内 10 相互参照 目次の類 参考文献 索引 (ページ 92-95)

\@makecaption \captionコマンドにより呼び出され,実際にキャプションを出力するコマンドです。第1

引数はフロートの番号,第2引数はテキストです。

\abovecaptionskip

\belowcaptionskip

それぞれキャプションの前後に挿入されるスペースです。\belowcaptionskip 0になっ ていましたので,キャプションを表の上につけた場合にキャプションと表がくっついてしま うのを直しました。

2555\newlength\abovecaptionskip

2556\newlength\belowcaptionskip

2557\setlength\abovecaptionskip{5\p@?} % : 10\p@

2558\setlength\belowcaptionskip{5\p@?} % 元: 0\p@

実際のキャプションを出力します。オリジナルと異なり,文字サイズを\smallにし,キャ プションの幅を2cm狭くしました。

[2003-11-05]ロジックを少し変えてみました。

2559%<*!jspf>

2560% \long\def\@makecaption#1#2{{\small

2561% \advance\leftskip10\jsc@mmm

2562% \advance\rightskip10\jsc@mmm

2563% \vskip\abovecaptionskip

2564% \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}%

2565% \ifdim \wd\@tempboxa >\hsize

2566% #1\hskip1\jsZw\relax #2\par

2567% \else

2568% \global \@minipagefalse

2569% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%

2570% \fi

2571% \vskip\belowcaptionskip}}

2572\long\def\@makecaption#1#2{{\small

2573 \advance\leftskip .0628\linewidth

2574 \advance\rightskip .0628\linewidth

2575 \vskip\abovecaptionskip

2576 \sbox\@tempboxa{#1\zwspace#2}%

2577 \ifdim \wd\@tempboxa <\hsize \centering \fi

2578 #1\zwspace#2\par

2579 \vskip\belowcaptionskip}}

2580%</!jspf>

2581%<*jspf>

2582\long\def\@makecaption#1#2{%

2583 \vskip\abovecaptionskip

2584 \sbox\@tempboxa{\small\sffamily #1\quad #2}%

2585 \ifdim \wd\@tempboxa >\hsize

2586 {\small\sffamily

2587 \list{#1}{%

2588 \renewcommand{\makelabel}[1]{##1\hfil}

2589 \itemsep \z@

2590 \itemindent \z@

2591 \labelsep \z@

2592 \labelwidth 11\jsc@mmm

2593 \listparindent\z@

2594 \leftmargin 11\jsc@mmm}\item\relax #2\endlist}

2595 \else

2596 \global \@minipagefalse

2597 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%

2598 \fi

2599 \vskip\belowcaptionskip}

2600%</jspf>

9 フォントコマンド

ここではLATEX 2.09で使われていたコマンドを定義します。これらはテキストモードと数

式モードのどちらでも動作します。これらは互換性のためのもので,できるだけ\text...

と\math...を使ってください。

[2016-07-15] KOMA-Script中の\scr@DeclareOldFontCommandに倣い、これらの命令 を使うときには警告を発することにしました。

[2016-07-16]警告を最初の一回だけ発することにしました。また,例外的に警告を出さな

いようにするスイッチも付けます。

\if@jsc@warnoldfontcmd

\if@jsc@warnoldfontcmdexception \if@jsc@warnoldfontcmdBXJSクラスでは不使用。

\if@jsc@warnoldfontcmdexception \allow/disallowoldfontcommands の状態 を表す。

2601\newif\if@jsc@warnoldfontcmd

2602\@jsc@warnoldfontcmdtrue

93

2603\newif\if@jsc@warnoldfontcmdexception

2604\@jsc@warnoldfontcmdexceptionfalse

\jsc@DeclareOldFontCommand

2605\newcommand*{\jsc@DeclareOldFontCommand}[3]{%

2606 \g@addto@macro\bxjs@oldfontcmd@list{\do#1}%

2607 \DeclareOldFontCommand{#1}{%

2608 \bxjs@oldfontcmd{#1}#2%

2609 }{%

2610 \bxjs@oldfontcmd{#1}#3%

2611 }%

2612}

2613\DeclareRobustCommand*{\jsc@warnoldfontcmd}[1]{%

2614 \ClassInfo\bxjs@clsname

2615 {Old font command '\string#1' is used!!\MessageBreak

2616 The first occurrence is}%

2617}

\allowoldfontcommands “二文字フォント命令”の使用を許可する(警告しない)。

\disallowoldfontcommands “二文字フォント命令”の使用に対して警告を出す。

2618\newcommand*{\allowoldfontcommands}{%

2619 \@jsc@warnoldfontcmdexceptiontrue}

2620\newcommand*{\disallowoldfontcommands}{%

2621 \@jsc@warnoldfontcmdexceptionfalse}

2622\let\bxjs@oldfontcmd@list\@empty

2623\def\bxjs@oldfontcmd#1{%

2624 \expandafter\bxjs@oldfontcmd@a\csname bxjs@ofc/\string#1\endcsname#1}

2625\def\bxjs@oldfontcmd@a#1#2{%

2626 \if@jsc@warnoldfontcmdexception\else

2627 \global\@jsc@warnoldfontcmdfalse

2628 \ifx#1\relax

2629 \global\let#1=t%

2630 \jsc@warnoldfontcmd{#2}%

2631 \fi

2632 \fi}

2633\def\bxjs@warnoldfontcmd@final{%

2634% \par

2635 \global\let\bxjs@warnoldfontcmd@final\@empty

2636 \let\@tempa\@empty

2637 \def\do##1{%

2638 \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else

2639 \edef\@tempa{\@tempa \space\string##1}\fi}

2640 \bxjs@oldfontcmd@list

2641 \ifx\@tempa\@empty\else

2642 \ClassWarningNoLine\bxjs@clsname

2643 {Some old font commands were used in text:\MessageBreak

2644 \space\@tempa\MessageBreak

2645 You should note, that since 1994 LaTeX2e provides a\MessageBreak

2646 new font selection scheme called NFSS2 with several\MessageBreak

2647 new, combinable font commands. The

2648 class provides\MessageBreak

2649 the old font commands only for compatibility}

2650 \fi}

単純に \AtEndDocument のフックの中で \bxjs@warnoldfontcmd@final を実行した場 合、最終ページのヘッダ・フッタの中にある二文字フォント命令はそれより後に実行される ため捕捉できない。これに対処するため、\end{document}中に実行される\clearpage 処理の直後に\bxjs....finalが呼ばれるようにする。

2651\def\bxjs@warnoldfontcmd@kick@final{%

2652 \g@addto@macro\clearpage{\bxjs@warnoldfontcmd@final}}

2653\AtEndDocument{\bxjs@warnoldfontcmd@kick@final}

\mc

\gt

\rm

\sf

\tt

フォントファミリを変更します。

2654\jsc@DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}

2655\jsc@DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}

2656\jsc@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}

2657\jsc@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}

2658\jsc@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}

\bf ボールドシリーズにします。通常のミーディアムシリーズに戻すコマンドは \mdseries です。

2659\jsc@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}

\it

\sl

\sc

フォントシェイプを変えるコマンドです。斜体とスモールキャップスは数式中では何もしま せん(警告メッセージを出力します)。通常のアップライト体に戻すコマンドは \upshape です。

2660\jsc@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}

2661\jsc@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}

2662\jsc@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}

\cal

\mit

数式モード以外では何もしません(警告を出します)。

2663\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}

2664\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}

10 相互参照

ドキュメント内 10 相互参照 目次の類 参考文献 索引 (ページ 92-95)