名前: 本田 日時: 2001-08-27 20:31:35 IPアドレス: 202.224.196.*
>>1900 個人的には,引用文献は本文に 書くべきものだとは思いますが, ちょっと細工してみました. thebibliography環境のラベル幅を取得するために 2回コンパイルすることが必要です. 本来ならばthebibliography環境に直接手をいれて 正確に「肩付き\cite」の最大幅(を表す文字列)を取得すべきなのでしょうが, \@openbib@codeを使ってフックしてごまかしてます. 必要なら,thebibliography環境に手を入れてください. 使い方はサンプルを見てください. \documentclass{jarticle} \makeatletter \newdimen\eqnrightskip \let\@eqncite\relax \let\org@openbib@code\@openbib@code \@ifundefined{@biblabelwidth}{\def\@biblabelwidth{0pt}}{\relax} \def\@openbib@code{% \immediate\write\@auxout{% \string\gdef\string\@biblabelwidth\string{% \the\labelwidth \string}} \org@openbib@code} \def\eqncite#1{\gdef\@eqncite{% \ensuremath{{}^{\hbox to\@biblabelwidth{\cite{#1}\hss}}}}} \def\@eqnnum{{\normalfont\normalcolor(\theequation)% \@eqncite\gdef\@eqncite{\hbox to\@biblabelwidth{}} \hbox to\eqnrightskip{}}} \makeatother \begin{document} \eqnrightskip5zw \begin{eqnarray} y&=&ax^3+4qx+q\eqncite{hoge}\\ y&=&ax^3+4qx+q\eqncite{fuga} \end{eqnarray} \begin{eqnarray} y&=&ax^3+4qx+q\\ y&=&ax^3+4qx+q\eqncite{fuga} \end{eqnarray} \begin{thebibliography}{999} \bibitem{hoge} hogehoge \bibitem{fuga} fugafuga \end{thebibliography} \end{document}
この書き込みへの返事: