emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.4664  Re:edaenumerateでflushright
発言者: tDB
発言日: 2006 05/13 20:10
発言元: 125.2.16.242
> edaenumerate環境内にflushright環境を入れると下記のエラーになります。
> このような使い方は想定外のことでしょうか。

回避法は用意してありますが,その前に
  flushright環境内が1行だけ
の場合は
  \hfill
で右寄せするのが簡単です。
    ----> re4663a.tex

どうしても flushright など,list系環境を edaenumerate環境内で使いたいときは
次の2点の修正が必要です。
    1) \useitemfalse を宣言する
    2) edaenumerate環境における \item は \edaitem とする
    ----> re4663b.tex

以下,後者の理由を述べます。

edaenumerate環境で,項目を並べるのに \item を用いていますが,
これは「誤魔化し」なのです。
すなわち LaTeX本来の \item とは
  似ても似つかぬものを
形式を揃えるために \item と僭称しているに過ぎません。
\item などと僭称せず,\edaitem としておくのがつつましい態度というべきです。
それを形式を揃えるために,\item と僭称する態度に出れば
  本来の list系環境
と両立できるはずはありません。
そこで,恭順な姿勢を示すコマンドが
  \useitemfalse
でして,
  \item は LaTeX本来のものとしておき,
  edaenumerate の項目並べは \item ではなく \edaitem 
を用います。
こうしておけば,list系環境における \item は
本来のままで共存できることとなります。

(注)flushright環境は,list系環境のひとつです。その定義は
           \def\flushright{\trivlist \raggedleft\item\relax}
  となっており,その中に \item が潜んでいます。
  これを \edaitem に切り替えてしまっては怒られて当然ということです。

% --- re4663a.tex ------------------------------
\documentclass{jarticle}
\usepackage[notMy]{emath}
\usepackage{emathEy}
\begin{document}
\begin{edaenumerate}
\item aaa

\hfill いいいいい
\item aaa

\hfill いいいいい
\end{edaenumerate}
\end{document}

% --- re4663b.tex ------------------------------
\documentclass{jarticle}
\usepackage[notMy]{emath}
\usepackage{emathEy}

\begin{document}
\useitemfalse
\begin{edaenumerate}
\edaitem aaa
\begin{flushright}
いいいいい
\end{flushright}
\edaitem aaa
\begin{flushright}
いいいいい
\end{flushright}
\end{edaenumerate}
\end{document}


▼関連発言

4663:edaenumerateでflushright [石原 守] 05/13 19:27
 └4664:Re:edaenumerateでflushright [tDB] 05/13 20:10
  └4665:Re[2]:edaenumerateでflushright [石原 守] 05/13 20:21<-last

Pass 保存


CGIROOM