発言者: tDB
発言日: 2010 01/19 17:11
発言元: ntchba346067.chba.nt.ftth.ppp.infoweb.ne.jp
奥村先生の Q&A (旧)に,
\backslashbox と emathP との併用でエラーが出る,
という投稿がありました:
#54379 \backslashuboxでのエラー
emath パッケージとしては,。
slashbox.sty を使わず \emTsya を用いる,
というコメントを出したのですが,
この問題の原因と回避策を探ってみました。
A. 原因
emath パッケージでは,picture環境の拡張機能を実現するため
picture環境, \put コマンド
を改変しています。その中の,emath にとっての基本量の計算で
! Dimension too large.
が発生します。
なんせ,TeX では 下のリスト1のように 128*128 でオーバーフローします。
B. 回避策
emathパッケージでは,picture環境,\put コマンドを改変していると書きましたが
本来のコマンドなどを
ltxpicture, endltxpicture, \ltxput
などに保存しています。
\backslashbox を使う前に
\let\picture\ltxpicture
\let\endpicture\endltxpicture
\let\put\ltxput
として,本来の定義を復活させておけば,併用も可能です。
ただし,emath の拡張機能が使えなくならないように,
この変更を局所的にしておいた方が良いでしょう。
→ リスト2
% --- リスト1 ------------------------------
\documentclass{jarticle}
\begin{document}
\dimen0=128pt
\dimen0=128\dimen0
\the\dimen0
\end{document}
% --- リスト2 ------------------------------
\documentclass{jarticle}
\usepackage{slashbox}
\usepackage{emathP}
\begin{document}
\begin{enumerate}
\item 例
\begin{center}
% 下の 3 行を有効にすればタイプセットできます。
% \let\picture\ltxpicture
% \let\endpicture\endltxpicture
% \let\put\ltxput
\begin{tabular}{|c|c|c|c|c|}\hline
\backslashbox{独語}{英語} & 0〜49点 & 50〜69点 & 70〜89点 & 90〜100点 \\ \hline
0〜49点 & 48 & 26 & 10 & \\ \hline
50〜69点 & 22 & 35 & 13 & 4 \\ \hline
70〜89点 & & 17 & 21 & 2 \\ \hline
90〜100点 & & & 1 & 1 \\ \hline
\end{tabular}
\end{center}
\end{enumerate}
\end{document}
▼関連発言
│
└◆8555:slashbox.sty との併用 [tDB] 01/19 17:11<-last