Re: amsmath と tabularx.sty の併用で意図しない結果

名前: .
日時: 2008-01-21 21:44:40
IPアドレス: 59.134.169.*

>>50661 \box0 への代入と \wd0 の使用との間を空けないでください. ここでは,ユーザ自身での幅の測定のための \box レジスタを割り当て, それを用いればよいでしょう. \documentclass{jarticle} \usepackage{amsmath} \usepackage{tabularx} \parindent=0pt \pagestyle{empty} \newbox\testbox \setbox\testbox=\hbox{あ} %%% \box0 などの,LaTeX 自身あるいは各種パッケージでも %%% 利用される可能性のあるレジスタはは使わない. \begin{document} \begin{tabularx}{\textwidth}{|p{\wd\testbox}|X|X|} \hline あ & かきくけこ & さしすせそ \\ \hline \end{tabularx} \end{document} なお,「別の番号の \box レジスタを使う」というのも対症療法だとお思いになるの でしたら,プリアンブル(の,amsmath パッケージを読み込んだ後の部分)に 34178 の最後に例示されている記述を入れてみてください. [補足]amsmath パッケージ使用時には,文字サイズ変更後の最初の 数式モードに入ったとき(および文書中で最初の数式モードに入ったとき)に \resetMathstrut@ というマクロを実行しますが,これが \box0 の中身を ローカルに変更します. そして,表の上下方向の位置については,デフォルトでは概ね天地中央を基準に 配置されますが,その際に用いられる \vcenter は数式中で用いなければならないので, tabularx 環境などは暗黙のうちに数式モードに入ります(「表全体」の配置に 数式モードを利用するだけで,表内の個々のセルが数式モードで取り扱われるわけでは ありません). # 以上のことに基づいて考えると,結局,「この件では」\box0 の代わりに # \box2 や \box4 を用いても構わないということがわかります. # また,34157 に始まる「longtable, ascmac, amsmath の副作用」と題した # 一連の話も,今回の件と同種の問題です.

この書き込みへの返事:

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