Re: 図入りのlongtableでテキストがうまく表示できない

名前: 北見 けん
日時: 2010-03-17 12:10:23
IPアドレス: 211.128.71.*

>>54759 > 私なら直接 \halign で自前の表を作るところですけれど... 少し時間ができたので作ってみました。 あまりテストしてませんが、コメントも入れてあるので適当にいじってみてください。 (プリアンブルに) \newbox\myheaderbox \newbox\mycontents \newenvironment{mylongtable}[1]{ % 必須の引数は見出しです。改ページ後の各ページ先頭に置かれます。 \par \setbox\mycontents\vbox\bgroup% 環境全体を保存して、後で改ページ処理をします。 \tabskip0pt \def\hpad{\hskip4pt}% セル内の余白(水平方向) \def\vpad{\vskip4pt}% セル内の余白(垂直方向) \def\\{\crcr\noalign{\hrule\penalty0\relax}}% 改行コマンド。横罫線の直後でのみ改ページ可とします。 \halign\bgroup % 表の書式 \vrule\hpad\hfil $\vcenter{\vpad\hbox{\ignorespaces##\unskip}\vpad}$% \hfil \hpad\vrule & \hpad\hfil $\vcenter{\vpad\vbox{\hsize=5cm\parindent0pt##}\vpad}$% \hpad\hfil \vrule \cr % 表の見出し \noalign{\hrule} #1\crcr % 見出しの下を二重罫線に \noalign{\hrule} \omit \vrule height 1pt \hfil \vrule & \omit \hfil \vrule \\ % ここから表の中身 }{ \egroup \egroup% 環境の中身の保存終了。 \setbox\myheaderbox=\vsplit\mycontents to 0pt% 見出し行の保存 \setbox\myheaderbox=\vbox{\unvbox\myheaderbox}% 詰め直して参照点を下部へ。 \myloop% 改ページと出力の繰り返し } \def\myloop{ % 改ページと出力の繰り返しルーチン % \mycontents に残りの表の中身、\myheaderbox に見出し行を収めてある。 \ifvoid\mycontents\else% 表の残りがなければ終了。 \setbox\mycontents\vbox{\unvcopy\myheaderbox\unvbox\mycontents}% 見出し行を結合 \par \dimen0\pagegoal \ifdim\dimen0=\maxdimen \dimen0=\vsize\fi% ページ先頭での処理。 \advance\dimen0 by -\pagetotal% このページに収まる高さ... \setbox0=\vsplit\mycontents to \dimen0% ...の分だけ切り出して、... \hbox to \hsize{\hss\box0\hss}% ...左右中央に寄せて出力する。 \vfil\eject% 改ページ \myloop% 繰り返し。 \fi } (こちらが本文) \begin{mylongtable}{シンボル & \hfil 説明} \includegraphics[width=3cm,clip]{./chapter1/fig0_1.eps} & この記号は、感電によるショック、やけどなどの電気的危険があるこ とを示します。電源の遮断、ロックアウトを行う必要があります。\\ ・・・・ & ・・・・ \\ \end{mylongtable}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)