名前: 北見 けん 日時: 2003-07-11 14:58:55 IPアドレス: 211.128.71.*
>>20109 まったく実用的ではないですが、マクロ作りの練習のつもりで 作ってみました。 半手動で \thanks を二段抜きで組みます(それだけです)。 いろいろなクラスファイルに使えるように意図して作ってありますが、 jsarticle だと、上手くいかないようです。 サンプルは、しっぽ愛好家さんのものを利用させていただきました。 ## しっぽ愛好家さんのものを試してみたら ! Infinite glue shrinkage found in box being split. \@outputdblcol ...split \@combinebox to\@tempdima \setbox \@outputbox =\vtop... l.69 \end{document} ## なるエラーが出てしまいました。気にせず処理させてよさそうでしたが、 ## ご報告まで。 === 使い方 === プリアンブルに \begingroup \toks0=\expandafter{\footnoterule} \xdef\resetfootnoterule{\gdef\noexpand\footnoterule{\the\toks0}} \def\hrule{\noexpand\hrule width \textwidth\kern-0.4pt\noexpand\hrule} \xdef\footnoterule{\footnoterule\noexpand\resetfootnoterule} \endgroup \def\footnotestrut{\footnotetext{{\setbox0=\lastbox\setbox2=\lastbox\box0}}} %\def\resetfootnoterule{\global\let\footnoterule\relax} を置いて、\thanks の引数の先頭に \hsize\textwidth を潜り込ませます。 さらに、右側のカラムのどこか適当なところに 上で定義した \footnotestrut を必要な行数分按配します。 === マクロの仕組み === まず、\thanks の引数の先頭に \hsize\textwidth を潜り込ませて、 二段抜きの幅で組ませます。 そのままでは、右のカラムと重なってしまうので、 右のカラムにも脚注があると見せかけて、カラムの高さを短くします。 そのために使うのが、\footnotestrut です。 \footnotestrut は空っぽの脚注を置いて、脚注番号を吸い取ってしまうように してあります。 ## \box0 が \strut で、\box2 が脚注番号のはずです。 ## \footnotestrut の設計には、\footnotetext{\showboxdepth=2\showlists} ## の結果を参考にしました。 最後に、罫線を延ばすために、\footnoterule を再定義します。 \footnoterule はクラスファイルによって定義が違うかもしれないので、 その定義を生かすようにしてあるのが特徴です。 また、罫線を延ばしたままだと、右のカラムで使われたときに はみ出してしまうので、一度使われたら元の定義に戻るようにしてあります。 ## 元に戻すのではなくて、消し去ってしまうのが、コメントアウトしてある行です。 === サンプル === \documentclass[twocolumn]{jarticle} \begingroup \toks0=\expandafter{\footnoterule} \xdef\resetfootnoterule{\gdef\noexpand\footnoterule{\the\toks0}} \def\hrule{\noexpand\hrule width \textwidth\kern-0.4pt\noexpand\hrule} \xdef\footnoterule{\footnoterule\noexpand\resetfootnoterule} \endgroup \def\footnotestrut{\footnotetext{{\setbox0=\lastbox\setbox2=\lastbox\box0}}} %\def\resetfootnoterule{\global\let\footnoterule\relax} \title{Footnotes in One-Column Format} \author{somebody\thanks{\hsize\textwidth footnote\dots \hfill \dots}} \begin{document} \maketitle main text\dots\vfill\hfill\dots continues\eject next text\dots\vfill\hfill\dots continues\footnotestrut \eject \end{document}
この書き込みへの返事: