emath BBS

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

No.4035  mawarikomi & \intertext
発言者: tDB
発言日: 2005 11/29 11:32
発言元: 222.158.93.151
align環境など,複数行からなる別行立て数式環境には
\intertext コマンドでテキスト行を挿入することができます。
それと mawarikomi環境との関係を考察します。

% --- re4026d.tex --------------------------------
\documentclass[fleqn]{jarticle}
\usepackage{emath}
\usepackage{emathMw}

\begin{document}
\hrule

\noindent
左上\hfill 右上

\begin{mawarikomi}{}{%
  \begin{picture}(100,100)
    \framebox(100,100){\Huge 図}
  \end{picture}}
\textsf{align}環境などに,\verb+\intertext+コマンドで
テキスト行を挿入する場合の状況を見ておきましょう。
\begin{align}
  a&=1 \\
\intertext{ここに,intertextコマンドで,テキスト行を挿入します。
図を侵略します。}
  b&=2 \\
  c&=3 \\
  d&=4 \\
  e&=5 \\
  f&=6 \\
\intertext{ここにも,intertextコマンドで,テキスト行を挿入します。
ここも図領域を侵略しているのですが,図は終了していますから,
かえって好都合といえるのかもしれません。
--- 怪我の功名?}
  g&=7 \\
  h&=8
\end{align}

数式の場合と少し状況が異なります。

数式は,版面を超えて右へ延びていきますが,
\verb+\intertext+で挿入されたテキストは,版面右端で折り返されています。
となると,図を侵略しているテキストについても回り込みをさせたくなります。
次ページでそれを実現させる方法について見てみましょう。
\end{mawarikomi}
\pagebreak

\hrule

\noindent
左上\hfill 右上

\resetcounter{equation}
\begin{mawarikomi}{}{%
  \begin{picture}(100,100)
    \framebox(100,100){\Huge 図}
  \end{picture}}
\getmawarikomitextwidth\wtemp
\verb+\intertext+コマンドで挿入される
テキストを回り込ませることは可能です。
\begin{align}
  a&=1 \\
\intertext{\parbox{\wtemp}{ここに,intertextコマンドで,テキスト行を挿入します。
図を避けて回り込みをしています。}}
  b&=2 \\
  c&=3 \\
  d&=4 \\
  e&=5 \\
  f&=6 \\
\intertext{ここにも,intertextコマンドで,テキスト行を挿入します。
ここも図領域を侵略しているのですが,図は終了していますから,
こちらは,回り込ませない方が良いでしょうか。
--- ご都合主義
}
  g&=7 \\
  h&=8
\end{align}

前ページの場合と異なり,一番目の\verb+\intertext+によるテキストは,
図にかぶらず,折り返されました。

その仕掛けは,
\begin{jquote}
\begin{verbatim}
\getmawarikomitextwidth\wtemp
\end{verbatim}
\end{jquote}
で,回り込み部のテキスト幅を制御綴\verb+\wtemp+に求め,
\verb+\intertext+の引数に
\begin{jquote}
\begin{verbatim}
\intertext{\parbox{\wtemp}{.....
\end{verbatim}
\end{jquote}
と,先ほどの\verb+\wtemp+幅の\verb+\parbox+を与えているのです。
\begin{enumerate}[注1.~]
\item \verb+\getmawarikomitextwdith+の引数に与える制御綴りの
  名前は何でもかまいませんが,大域変数扱いとなりますから,
  その文書の他の場所で用いている名前を使用しない方が良いでしょう。
\item 数式に対しては,この手法は通用しません。
  横幅を指定する,\verb+\textwidth+, \verb+\paperwidth+さえ無視して
  右へ旅をなさるのですから,止める手立ては,強制改行のみです。
\end{enumerate}
\end{mawarikomi}
\end{document}

▼関連発言

4025:--- [---] 11/28 07:38
 └4026:Re:---mawarikomi環境下のalign環境で数式を左寄せするには? [zyam56] 11/28 07:59
  ├4027:Re[2]:---mawarikomi環境下のalign環境で数式を左寄せするに.. [tDB] 11/28 08:36
  │└4029:Re[3]:---mawarikomi環境下のalign環境で数式を左寄せする.. [zyam56] 11/28 17:38
  │ └4030:Re[4]:---mawarikomi環境下のalign環境で数式を左寄せす.. [tDB] 11/28 17:40
  │  └4036:Re[5]:---mawarikomi環境下のalign環境で数式を左寄せ.. [tDB] 11/29 11:36
  ├4031:Re[2]:---mawarikomi環境下のalign環境で数式を左寄せするに.. [zyam56] 11/28 19:09
  ├4032:mawarikomi 環境のテキスト部に別行立て数式 [tDB] 11/29 11:04
  ├4033:別行立て数式は右へ右へ..... [tDB] 11/29 11:13
  ├4034:mawarikomi環境下のalign [tDB] 11/29 11:19
  └4035:mawarikomi & \intertext [tDB] 11/29 11:32
   ├4037:Re:mawarikomi & \intertext [zyam56] 11/29 12:39
   └4038:emathMw.sty v0.14 \MWintertext 新設 [tDB] 11/30 11:05<-last

Pass 保存


CGIROOM