Re: floatの体裁を区別したい

名前: .
日時: 2008-04-16 21:17:33
IPアドレス: 59.134.169.*

>>51257 次の例を検討してください. \documentclass{jbook} \makeatletter \newcounter{srclist}[chapter] \renewcommand{\thesrclist}{% \ifnum\c@chapter>\z@\thechapter\textendash\fi\@arabic\c@srclist} \def\srclistname{リスト} \def\fps@srclist{tbp} \def\ftype@srclist{4} \def\ext@srclist{los} \def\fnum@srclist{\srclistname~\thesrclist} \newenvironment{srclist}% {\@float{srclist}}% {\end@float} \newenvironment{srclist*}% {\@dblfloat{srclist}}% {\end@dblfloat} \newcommand*{\l@srclist}{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand{\listofsrclists}{% \if@twocolumn\@restonecoltrue\onecolumn \else\@restonecolfalse\fi \chapter*{\listsrclistname \@mkboth{\listsrclistname}{\listsrclistname}}% \@starttoc{los}% \if@restonecol\twocolumn\fi } %%% amsmath パッケージ不使用時には「\!」は数式中でしか使えない. %%% ここでは,\! を入れるような行為は不要. \newcommand{\listsrclistname}{リスト目次} %%% どうしても詰めたければ,\! ではなく \hspace などで詰めることになる. %%% e.g. %%% \newcommand*{\listsrclistname}{リ\hspace{-.15zw}ス\hspace{-.15zw}ト\hspace{.15zw}目 次} %%% %%% さらには「詰め組み用のフォントメトリック」を使ったほうがよい. \long\def\@makecaption#1#2{% \def\@makecaption@temp{srclist}% \vskip\abovecaptionskip \iftdir \sbox\@tempboxa{#1\hskip1zw#2}% \else %%% float では,現在の float のタイプ(\@float,\@dblfloat の引数)が %%% \@captype に(文字列として)保存されているので,それが「srclist」で %%% あるか否かに応じて分岐すればよい. \ifx\@captype\@makecaption@temp \sbox\@tempboxa{#1\hspace{1zw}#2}% \else \sbox\@tempboxa{#1: #2}% \fi \fi \ifdim \wd\@tempboxa >\hsize \iftdir #1\hskip1zw#2\relax\par \else \ifx\@captype\@makecaption@temp #1\hspace{1zw}#2\relax\par \else #1: #2\relax\par \fi \fi \else \global\@minipagefalse \hbox to\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip} \makeatother \begin{document} \listofsrclists \chapter{サンプル} \begin{srclist} \centering \setbox0\hbox{% \begin{minipage}{.8\linewidth} \begin{verbatim} \newenvironment{srclist}% {\@float{srclist}}% {\end@float} \newenvironment{srclist*}% {\@dblfloat{srclist}}% {\end@dblfloat} \end{verbatim} \end{minipage}} \fbox{\box0} \caption{サンプル} \end{srclist} \begin{figure} \centering \fbox{図のつもり} \caption{図のサンプル} \end{figure} \begin{table} \caption{表のサンプル} \centering \fbox{表のつもり} \end{table} \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)