Re: abstract環境について

名前: しっぽ愛好家
日時: 2003-10-02 13:43:27
IPアドレス: 219.108.34.*

>>22252 まず,quote 環境はどのような環境であったかを思い出してください. quote 環境はその中身を ``引用'' 風に字下げして出力する環境で, 環境の前後で改行(処理上は改段落)を伴います. したがって,定義中で \begin{quote} \abstractname \end{quote} %%% 本質的でない部分は省略 のような記述を行えば,\abstractname の後で改行が起こるのは当然のことです. \abstractname の後で改行しないようにするには, 単に,\abstractname と abstract 環境の中身との間に改行(あるいは改段落)を 伴うような記述を置かないようにすればよいわけです. %%% 念のために確認しますが, %%% \newenvironment{abstract}{<begin-command>}{<end-command>} %%% あるいは %%% \renewenvironment{abstract}{<begin-command>}{<end-command>} %%% の形式で abstract 環境を定義あるいは再定義した場合には, %%% \begin{abstract} のところで <begin-command> が実行され, %%% \end{abstract} のところで <end-command> が実行されます. %%% したがって,abstract 環境の中身は <begin-command> と <end-command> の %%% 間に位置することになる,ということを念頭に置いて考えてください. そこで,ごく単純に定義するならば, \renewenvironment{abstract} {\begin{quote} \abstractname \quad \ignorespaces} {\end{quote}} くらいになるところです(まず,この単純な定義を用いた場合の動作および この定義が意味することを確認してください). 次に,提示していただいたコードを変更する場合についてですが, この場合は,abstract 環境の中身が list 環境に収められている(*)ので, その list 環境の ``最初の見出し'' を \abstractname にすれば済みます. %%% (*) \list ... \endlist の部分は,list 環境の実質的な処理になります. %%% 一般に \begin{<envname>} では \<envname> が実行され, %%% \end{<envname>} では \end<envname> が実行されることに %%% 注意してください. \renewenvironment{abstract}% {\if@twocolumn \ifx\maketitle\relax \section*{\abstractname}% \else \global\setbox\@abstractbox\hbox\bgroup \begin{minipage}[b]{\textwidth}% \small\parindent1zw \list{}% {\listparindent\parindent \itemindent \z@ \labelwidth \z@ \rightmargin \leftmargin}% %%% 見出しを \abstractname に変更 \item[\hskip\labelsep {\headfont \abstractname}]% \fi \else \small \list{}% {\listparindent\parindent \itemindent \z@ \labelwidth \z@ \rightmargin \leftmargin}% %%% 見出しを \abstractname に変更 \item[\hskip\labelsep {\headfont \abstractname}]% \fi}% {\if@twocolumn \ifx\maketitle\relax\else \endlist \end{minipage}% \egroup \fi \else \endlist \fi} %%% 必要があれば,\makeatletter,\makeatother を補ってください. %%% \itemindent などの list 環境の体裁に関するパラメータの意味については, %%% 適当な書籍を参照してください.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)