emath BBS

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

No.8555  slashbox.sty との併用
発言者: 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

Pass 保存


CGIROOM