連載 / てくてく illustration•小沼卓児 18 クスは 2 次元の四角形です。は、「ポックスを縦 あるいは横方向に組み合わせる」ことによって、どん ます、文字があります。文字というポッ たたし、一口にポックスといってもさまざまな種類 な複雑なページのレイアウトでも数式でも作ってしま があります。 います。 138 う意味てす。小さなページももちろんポックスですが、 minipage とは、文字どおり「小さなページ」とい minipage 環境を使うには ます。ね、どれもポックスでしよう ? ります。さらに、別の tabula て環境ということもあり 1 つの単語のときもありますし、複数の単語のとぎもあ のなかの 1 つ 1 つの項目もポックスてす。各項目は、 れは比較的大きなポックスを作り出す環境ですが、そ たとえば、 tabular 環境を考えてみてくたさい。 ス・・・・・・か複雑に組み合わさって入っているおすです。 含むポックス、ポックスを含むポックスを含むポック ページのなかには、ポックス、ポックスを つまり、 とも大きなポックスになるのてす。 縦に並べていくとパラグラフ、そしてページというもっ 語を並べていくと行というポックスになります。行を クスを横に並べると単語というポックスに、さらに単 「ページ」のなかでできることはなんでもできます。っ まり、 minipage 環境のな力、には複数のパラグラフが あってもいいし、別の環境を使用することもできます。 もちろん、 tabular 環境や別の minipage 環境があっ てもかまいません。 いろいろと面倒なことを言いましたが、亀之助くん のように 1 つのページをいくつかに分け、左右でそれ それ関連のあることがらを書きたいときや、ページの一 部だけ組み幅を変えたいときなどに minipage 環境を 使ってください。ただし、 minipage 環境は全体が 1 つのポックスになりますから、環境の途中では改ペー ジできません。 minipage 環境には、組み幅を指定するための引数 があります。ページでいえば \textwidth にあたりま す。組み幅があまり小さいと改行が頻繁に起こり、 rIVX さんは改行位置を決めるのにひどく苦労することにな ります。その結果、たくさん Underfu11 \hbox が 出力されることにもなります 3 。 次の例では、文章の途中で minipage 環境を使用し ています。 minipage 環境全体が 1 つの文字のように 扱われる点に注目してくたさい。 紹介します。 \begin{minipage}{30mm} これが { \ tt minipage} 環境てす。 ページの小さいやっという意味てす。 小さなページを組み合わせて、大きな ページにすることもてきるのてす。 \end{minipage} これて幅 3cm のポックスがてきました。 30 mm これが minipage 環境で す。ページの小さいやっ という意味です。 小さなページを組み合わ せて、大きなページにす ることもできるのです。 のポックスができました。 上の例のように何も指定しないと、 minipage 環境 3 この場俶よェラーでよなく、きれしに組版できなかったのでメッセー ジカ咄力されるのです。 紹介します。 これで幅 3cm UNIX MAGAZINE 1990.9
連載 / てくてく 18 いれま、真ん中の行のべースラインあたりがその環境の のなかではパラグラフの最初のインデントはありませ ポックスのべースラインになります。 ん。この環境中のパラグラフの先頭で 1 文字ぶん字下 一方、 minipage 環境にはオフ。ション引数があり、ポ けしたければ、“環境内”で \parindent パラメータ ックスのどの位置をベースラインとするかを指定するこ を lzw に設定してくたさい。 ともできます。 縦の位置合せ minipage 環境のオフ。ション引数は、組み幅を指定 ' I のポックスには、文字のように小さなものもあ する引数の前に指定します。ここに指定できるのは、 才ま、 tabular や minipage 環境のように大きなポッ t(t 叩 ) と b(bottom) の 2 つです。 t を指定すると、 クスもあります。は、こうしたさまざまな大きさ minipage 環境のポックス内の先頭行のべースライン のポックスを縦あるいは横方向に並べていくのですが、 に、 b を指定すると、 minipage 環境のポックスの最 このときポックスのどこを基準にするかを決めておか 下行に合身られます。 なけれよなりません。 次の例で、位置指定に b を指定したほうは、左側に 説明の前に、ポックスの構成を見てみましよう。 ある日付と minipage 環境の最後の行とが少しずれて いることに注意してください。 6 月 18 日 \begin{minipage} Ct] { 1.8in} ヒューストンに遊びに行った。 カレッシステーションカゝら ヒューストンまてはちょうど 100 マイル。 車て 2 時間てした。 \end{minipage} 高さ - 、一スライン 深さ \vspace{\baselineskip} 6 月 19 日 \begin{minipage} Cb] { 1.8 土 n } 大野さんと宮部さんが到着。 2 人が乗ってきた飛行機は、 とっても立派だった・・ \end{minipage} 一口田 いちばん外側の四角がポックスの全体を表していま す。「べースライン」は、これまでにも何回か話題に出 英 たことがありますね。中学校のときに使っていた、 語のノートの赤い線みたいなものだと説明しました。 などはべースラインよりも上に書く文字です。 g や Y などの文字ではべースラインより下に出る部分があり、 これを「深さ」と呼びます。 ポックスを横に並べる場合、各ポックスのべースラ インで揃えていきます。ちなみに、ポックスを縦に並 べるときにはポックスの左端を基準にします。 もちろん、 minipage 環境の内部にある文字もそれ それの文字のべースラインを基準として横に並んでい ます。そして、各行を縦に並べて全体を 1 つのポック スにしているのです。では、この minipage 環境全体 のポックスのべースラインはどこにあるのでしようか。 minipage 環境で作成したポックスは、その行の真 ん中とポックスの真ん中がちょうど合うように出力さ れます。一般に、 minipage 環境力、奇数行力、らなって 6 月 18 日ヒューストンに遊びに行った。カレッ ジステーションからヒューストンまで はちょうど 100 マイル。車で 2 時間で 大野さんと宮部さんが到着。 2 人が乗 ってきた飛行機は、とっても立派たっ 6 月 19 日た・ minipage 環境のなかの脚注 I*TEX には、 \footnote という脚注を出力するた めのコマンドがあります。 \footnote コマンドの引数 に脚注として出力したいテキストを指定すると、コマン 139 UNIX MAGAZINE 1990.9
連載 / てくてく が実行されるようにします。画面例と説明文とのあいオ 18 が実行され、 \end{maildesc} でよ、 \begin{screen}\sf \begin{minipage}{7.5cm} しよう。つまり、 \begin{maildesc} でよ、 そうですねえ、この環境名を 'fnaildesc ”としま \hspace{5mm} \end{minipage} \end{screen} にある、 \end{minipage} \begin{minipage}{7cm} 確認して、 {\sf ma 土 1 } と人力します。 UNIX のプロンプトが出ているのを {\sf mail } というコマンドを使います。 メールを読むためには、 \middesc (turtle)\% mail \begin{maildesc} {\end{minipage}} \hspace{5mm}\begin{minipage}{7cm}}}% \def\middesc{\end{screen}\end{minipage} {\begin{minipage}{7cm}\begin{screen} \newenvironment{maildesc}% になります。 定義すると、入力ファイルは次のようにとっても簡単 このように maildesc 環境と \middesc コマンドを しましよう。 行できるようにしておきます。ここでは \middesc に という 4 つのコマンドは、なにか 1 つのコマンドで実 \end{maildesc} (turtle)% mail メールを読むためには、 mail というコマンドを 使います。 UNIX のフ。 ロンフ。トが出ているの を確認して、 mail と入 力します。 UNIX MAGAZINE 1990.9 \middesc コマンドは、 maildesc 環境以外では使 用できないように maildesc 環境の定義内て定義して います。ただし、 \newenvironment コマンドのなか では \newcommand コマンドを使用することができな いので、 \def コマンドを使って定義しています。 このように環境やコマンドを定義しておけば、入力 ファイルが簡単になって見 - 茆くなるし、フォントを 変更するのを忘れたりすることもありませんね。さら に、あとでフォントを変えたり、説明文と画面例の幅 を変更する必要ができたときにも便利です。 minipage 環境 では、今回のメインテーマである minipage 環境に ついて説明することにしましよう。とても便利な環境で すし、きっと使う機会が多くなると思いますから、しっ かり覚えておいてくださしⅵ minipage 環境の前に 唐突ですが、私は引っ越しをしました。私は約半年 のあいだ、往きは 1 時間半、帰りは 40 分という道のり をかすみちゃんという名前の愛車で通勤していました。 しかし、会社のある黒川まではあまりにも遠く、とう とう東京に住むことを断念したのです。引っ越してか らは通菫加寺間が 1 / 3 以下になりました。 引っ越しにはいろいろとお金がかかるもので、とく に収納スペースの違いからか、収納 . 用品をどうしても買 い足すことになります。このようなとき目につくのは、 サイズカ一されてし、て、大きめの箱の上に小さめの箱 がちゃんと 2 つ乗るようになっていたり、 2 つの箱を 縦に積み上げるともう 1 つの大きな箱とちょうど同じ 高さになるというシリーズものです。このような箱は、 押し入れにいつばいになるまで好きなように組み合わ せることができます。 なぜこんな話をしたかというと、 ' I びも同じように 箱の組合せでページを形成していくからてす。ただし、 箱の大きさは統一されていませんから、隙間を埋めるた めの材料なども必要になります。 ' I びでは、この箱を「ポックス」と呼びます。ポッ 137
連載 / てくてぐ 1 び 18 出てきた \end{minipage} コマンドの位置で出力さ れます。そのため、 minipage 環境のな力、で minipage 環境を使用しているとき、脚注がおかしな位置に出力さ れることがあります。 次の例では、 screen 環境のな力、で minipage 環境 を使っています。 screen 環境は minipage 環境を利 用して作った環境なので、次のようなことが起きるの てす。 \begin{screen} 暑中お見舞申しあげます \ f 。 ot Ⅱ。 te { これが店頭に 秋になったら、バーベキューにでも行こうね。 引っ越しはたいへん。 これが店頭に並ぶころはもう残暑見舞いですね。 でいます。 かり睡眠不足。で、死ん してますか ? 私はすっ みなさま、元気に 暑中お見舞申しあげます。。 \end{screen} 秋になったら、パーベキューに行こうね \end{center} \end{minipage} { 引っ越しはたいへん。 } て、死んています。 私はすっかり睡眠不足 \ f 。。 t Ⅱ。 te みなさま、元気に \Tex してますか ? \begin{minipage}{. 5\1inewidth} \begin{center} 並ぶころはもう残暑見舞いてすね。 } 。 UNIX MAGAZINE 1990.9 ドなので マンドはこれら 2 つのコマンドを組み合 } ) せたコマン キストを出力するためのコマンにを扎 \footnote コ ドです。一方、 \footnotetext コマンドは、脚注テ ンドは、本文中に脚注マークを出力するためのコマン コマンドを使用してください。 \footnotemark コマ \footnotemark と \footnotetext とし、う 2 つの の外側に脚注のテキストを出力したいときには、 このような事態を回避したり minipage 環境 \begin{screen} 暑中お見舞申し上げます \footnotemarko \begin{center} \begin{minipage}{. 5\1inewidth} みなさま、元気に \Tex してますか ? 私は、すっかリ睡眠不足 \ f 。。 tn 。 te { 引っ越しはたいへん。 } て死んています。 \ footnotetext { これか店頭に並ぶころは \end{screen} 行こうね 秋になったら、パーベキューにても \end{center} \end{minipage} 暑中お見舞申し上げます 1 。 もう残暑見舞いてすね。 } 1 みなさま、元気に してますか ? 私は、す っかり睡眠不足。で死ん でいます。 引っ越しはたいへん。 ノく一ベキューにでも何こうね。 秋になったら、 これが店頭に並ぶころはもう残暑見舞いですね。 チャレンジ亀之助 めてくれた亀之助くんにはほんとうに感謝してるの H : ところで、多少文句はあるにしても、私の代役を務 亀 : うん。 ころがあるから、それを教えてあげるれ H : それができたら、もうちょっと変えたほうがいいと 亀 : それが宿題だ牙 方」を作ってれ H : 今日説明したことも考えて、 rmail コマンドの使い 亀 : わあい、ありがとう。 よ。はい、約束の T シャツ。 ( ふじうら・はるみ アスキー ) 141
連載 / てくてく 18 ドを指定した位置に脚注番号が、そのページの下部に脚 注が出力されます。 そういえば、私は今度の誕生日て 28 歳になった \f ootnote{ とうとう歳をばらしてしまった。 } 。 以前から、 28 歳になったら着付けを 習おうと思っていたんだ。 そういえば、私は今度の誕生日で 28 歳になった 1 。 以前から、 28 歳になったら着付けを習おうと思って 在の組み幅を表すパラメータてす。 かで組み幅として指定している \linewidth とは、現 これよ、次のような利用方法があります。この例のな . となります。 番号は、 a 、 b 、 c . ポックスのいちばん下に出力さます。このときの脚注 環境のな力、一つまり、 minipage 環境で出力される を付けることもできます。この場合、脚注は minipage minipage 環境は「小さなページ」です力、ら、脚注 章ごとに 1 から始まるようになっています。 きには通し番号で、 jreport と jbook スタイルでは 脚注番号は、 jarticle スタイルを使用していると とうとう歳をばらしてしまった。 1 いたんだ。 表のなかの項目に脚注のような注釈を付けたい ときには、 {\tt mi Ⅱ土 page } 環境か便利てす。 \begin{center}\begin{minipage}{\linewidth} \begin{tabular}{ lccc け \ 1 洫 e 名前 & すまい & 趣味 \\\hline\hline はる美 \footnote{ てくてく \TeX の筆者 } & 読売ランド & 亀之助いじめ \ \ \ line 亀之助 \footnote{ てくてく \TeX の生徒 } & 狛江 & \TeX\\\hIine \end{tabular} \end{minipage}\end{center} 私の趣味は亀之助くんいじめなんかじゃないよ。 誤解しないてね。 表のなかの項目に脚注のような注釈を付けたいと きには、 minipage 環境が便利です。 名前すまい 趣味 はる美。読売ランド亀之助いじめ 亀之助し狛江 。てくてく 'lb.x の筆者 てくてく ' I X の生徒 私の趣味は亀之助くんいじめなんかじゃないよ。誤 解しないでね。 ただし、 minipage 環境のなかの脚注は、その直後に 忘れたころのおまけ 前々回 ( 1990 年 7 月号 ) に次のようなコマンドを紹介しましたが、すこし説明不足だったので、 りて補足します。 \def\bs{\symbol{ ' 134 } } この場を借 TbX では、現在選択しているフォントによっては、同じコード番号でも異なる文字が出力されることがあり ます。たとえば、 8 進数の 101 はローマン体でも A てすし、タイフ。ライタ体でも A という字形の異なる同し文 字が出力されます。しかし、 8 進数の 74 は、タイプライタ体では不等号 ( く ) てすが、ローマン体では i などと いう文字になってしまいます。同様に、上の例の 8 進数の 134 は、タイフ。ライタ体ではバックスラッシュ ( \ ) ですが、ローマン体では , くック・ダフ・ルクオート ( 。つになります。 どのコード番号でどの文字が出力される力、よ、 "The 7 。ド ( 邦訳町びブック」 ) を読んだり、フォン トテーフ・ルと呼ばれる表を出力してみば分かります。ただし、タイフ。ライタ体に関しては ASCII コードと一 致しています。このことを書き忘は t てしまいました。 8 進数の 134 がパックスラッシュの ASC Ⅱコードだってことに気づいてくれた人はいたのかしら ? 140 UNIX MAGAZINE 1990.9
亀 : 僕が書いた記事を見てくれた ? H : 見た見た。ありがとうねえ 亀 : 約束の T シャツは ? てくてく T X 小さいページみつけた ら 55 行目を見てみましよう。 調べるために、亀之助くんの入力ファイルの 43 行目か どうしてこのようなメッセージが表示されたのかを 藤浦はる美 H : おみやげの前に言いたいことがあるんだ。 亀 : ( ギクッ ! ) H : その顔は、何か思いあたることがあるでしょ ? H : 10g ファイルは公開できなかったの牙 亀 : ちゃんと出てるからいいでしょ ? H : 亀之助くん、 L\TEX 始めて 1 年半にもなるんたか 亀 : UNIX MAGAZINE 1990.9 セージが出ていたんです。 1 1 まど前に亀之助くんに記事を書いてもらったときにも同じメッ いう意味の警告メッセージてす。 苦しい状態になっていますから、注意してください」と ラグラフで、うまく組版できませんでした。たいへん見 こ才 u よ、「入力ファイルの 43 行目から 55 行目のパ in paragraph at lines 43 ーー 55 UnderfuII \hbox (badness 10000 ) 実行すると次のようなメッセージが表示されます 1 。 助くんですが、じつはあのソースファイルでい T 砂を 先月、自分のソースファイルを堂々と公開した亀之 H : 言い訳は聞きません。おみやげはナシよ。 亀 : でも、僕は I*TEXbook をもってないんだよ。 調べてれ ら、人のマネたけじゃなくてちゃんとマニュアルも H : それから、知らないコマンドや環境を使うんだった 亀 : ら、そんなことを言ってちやダメよ。 \begin{minipage}{7cm} \begin{screen}\sf (turtle)\% mail \ret \end{screen} \end{minipage} 48 : \hspace{5mm} \begin{minipage}{7cm} メールを読むためには、 51 : {\sf mail } というコマンドを使います。 52 : UNIX のプロンプトが出ているのを 53 : 確認して、 {\sf mail } と人力します。 \end{minipage}\\ 55 : 54 : 50 : 49 : 47 : 46 : 45 : 44 : 43 : 135 行位置をみつけることができず、文字間や単語間に必 きない長い単語などがあって、町洋がちょうどよい改 Underfu11 \hbox は、通常、ハイフネーションで ージが表示されます。 UnderfuII \hbox(badness 10000 ) というメッセ 行するような位置で \ \ コマンドを使用すると、 以前にもお話ししたように、なにもしなくても改 じつは・・・ 除いてあげれま、このメッセージはなくなります。 Underfu11 の原因てす。空行の前の \ \ コマンドを取 パラグラフの最後が \ \ で終っています。これが 55 行目の空行の前に \ \ コマンドがあります。つま
連載 / てくてく r1bX 18 要以上のスペースが空いてしまったときに表示される 警告てす 2 。 badness は、“うまくいかなかった”度合を数値で 表したもので、 10000 は最高値です。とすると、さき ほどのメッセージはとてもひどい出力状態を示してい ることになりますね。けれども、前回の亀之助くんの 出力を見ても、それほどへんに思われるところはあり ません。 しかし、実際には \ \ コマンドの後に空行があると 1 行ぶん余計にスペースカ啌いてしまいます。たまたま 亀之助くんの出力では、そのスペースが目立たなかった たけなのてす。 私はテキサスからの帰リ、 サンフランシスコに寄リ道して来ました。 てね、今年の私の誕生日は、 26 時間もあったんてすよ。 もちろん現地時間て。 \ \ サンフランシスコは都会だた っ 0 私はテキサスからの帰り、サンフランシスコに寄 り道して来ました。 でね、今年の私の誕生日は、 26 時間もあったんで すよ。もちろん現地時間で。 サンフランシスコは都会だった。 これを利用して、「 1 行ぶんのスペースが空いて いたほうがいいから、これでいいや」なんて言って、 Underfu11 を放りつばなしにしている人はいません か ? せつかく ' I びさんが「ここの出力がうまくでき なかったの。ごめんなさし、ね」と謝っているのに、無 視するのは失礼ですよ。 1 行ぶんのスペースを空けたけ矛よ、 \vspace とい うコマンドを使ってください。偶然空いたスペースに 頼るなんて、やめてれ \vspace は、縦方向にスペースを空けるためのコマ ンドです。引数には間隔を指定してください。たとえ 2 "IbX には Overfu11 \hbox という警告もあって、組み幅から 136 はみ出てしまったときに表示されます。 ば、 \vspace{\baselineskip} と指定すれよ、 そ 1 行ぶんのスペースを空けることができます。 テキサスは暑かった。 とくに日差しの強さにはまいった。 \vspace{\baselineskip} 歩いているだけて日焼けしてしまい、 シミになるのが怖い今日このごろ。 およ テキサスは暑かった。とくに日差しの強さにはま し、つ 0 歩いているだけで日焼けしてしまい、シミになる のが怖い今日このごろ。 パラグラフとパラグラフのあいだにスペースを空け たいとぎには、上の例のように \vspace コマンドの前 後を空行にしておいてくたさし、。 \vspace コマンドで 挿入されるスペースについては、回をあらためて説明し ます。 環境も定義しちゃえ さて、亀之助くんが作成した rmail コマンドの使し、 方」は、左に画面出力例、右にその説明というかたちで 進められています。これよ、次のようなコマンドの繰り \noindent\begin{minipage}{7.5cm} 返しになっています。 \begin{screen}\sf ( 画面例 ) \end{screen} \end{minipage} \hspace{5mm} \begin{minipage}{7cm} ( 説明文 ) \end{minipage} こんなに何度も繰り返すのなら、 い環境を作ることにしませんか。 いっその こと新し UNIX MAGAZINE 1990.9
UNIX REVIE 誌提携 MAGA?INE ・フリーソフトウェアでグレードアノブ X ウインドウ・システムのインストール SunOS4.1 の概要 Nemacs 入門 連載 UNIX Communication Notes ネットワーク・アプリケーション Mach Operating System Mach 2.5 の概要 FreeSoftware の世界 M H フォーマット CONTENTS 90 / 9 UNiX 1990 年 9 月号 目 ・遠藤知宏 ・城谷洋司 ・荒井美千子 ・・齊藤明紀・山口英 ・人見潔 ・ P. D. Stallmen Daemons & Dragons Rob Kolstad Book Review NEWS from 」 us JUNET 便り マジカル・ミステリー・ツアーいたしましょ ワークステーションのおと ■ Co ん m 雑誌から見た最近の U N Ⅸ市場動向 USENIX 90 Summer 報告 製品評価 : キャラクタ・インターフェイス テスト・リホート : SGI 4D / 85 GTB ■ Notice ANews news & notice シェルプログラミング ( 2 ) UN Ⅸへの招待 twm 窈吏い方 ( 3 ) An lntroduction tO X Window System minipage 環境 てくてく産 X イ瓦想記憶 C Advisor 自由気ままに GNU AWK(2) LittIe Language 電子・メーノレのモラ丿レ ・ srekcah@sra. CO ・ JP ・ Eric Allman ・藤浦はる美 ・・中村眞 ・・坂本文 David Wilson ・ Edgar BarthoIomew ・・砂原秀樹 ・・武藤多恵子 ・・坂下秀 ・・竹岡尚一 ・・みるく ・・井上尚司 次 44 54 1 16 70 78 90 94 100 135 142 149 1 16 24 28 15 104 108 1 12 114 53 「 UNIX MAGA 刀 NE セミナー」のお知らせ・・ 表紙デサイン・甲斐みどり / 表紙写真・守屋ー於