otfパッケージ+disablejfam不具合

otfパッケージ+disablejfam不具合

- 奥村 晴彦 の投稿
返信数: 6
土村さんの新しいptexliveを試していてわかったのですが,次のようなものがエラーになるようです:

\documentclass[disablejfam]{jsarticle} % jarticleでも同じ
\usepackage{otf}
\begin{document}
ほげ
\end{document}

とりあえず。
奥村 晴彦 への返信

Re: otfパッケージ+disablejfam不具合

- 匿 名 の投稿
出ますね.otf.sty(開発版だと128行目の)

\DeclareMathAlphabet{\mathgt}{\otf@JYn}{hgt}{m}{n}

と,jarticle.cls等でdisablejfamのとき使われる

  \DeclareRobustCommand{\mathgt}{%
    \@latex@error{Command \noexpand\mathgt invalid with\space
      `disablejfam' class option.}\@eha

がバッティングしています.本質的な回避策は考えていませんが,

\documentclass[disablejfam]{jsarticle} % jarticleでも同じ
\let\mathgt=\undefined %\mathgt を消去
\usepackage{otf}
\begin{document}
ほげ $日本語$ %和文数式も入れてみた
\end{document}

とでもして,\mathgt を殺してやればエラーは出なくなります.

あと,\reDeclareMathAlphabet{\mathbf}... も古い形で使われているので,
txfonts.sty等との併用の不具合(エラーにはならない)も出ますね.
                                                                              山本和義
匿 名 への返信

Re: otfパッケージ+disablejfam不具合

- 奥村 晴彦 の投稿
はい,私もとりあえず \let\mathgt\relax して \usepackage{otf} して切り抜けました。
jsarticle で対応してもいいのですが,どうしましょうね。
奥村 晴彦 への返信

Re: otfパッケージ+disablejfam不具合

- 匿 名 の投稿
jsarticle.cls で対応するなら,398行あたりの

\else
  \DeclareRobustCommand{\mathmc}{%
    \@latex@error{Command \noexpand\mathmc invalid with\space
      `disablejfam' class option.}\@eha
  }
  \DeclareRobustCommand{\mathgt}{%
    \@latex@error{Command \noexpand\mathgt invalid with\space
      `disablejfam' class option.}\@eha
  }

をばっさり削ってしまうぐらいしかないでしょうか(私個人としては削って
しまっても問題は出ないと思いますが).それよりも,OTFパッケージ側で
disablejfam に対応していただけると嬉しいような気もします.
いや,すみません.OTF パッケージは使っていなかったもので,
はじめてコードを見たのですが,otf.sty (開発版だと125行目あたり)で

%definitions of alt-normal font family
\if@replace
...
\DeclareRelationFont{\otf@JTn}{hgt}{bx}{}{OT1}{cmr}{bx}{}
\fi
%%%% ここから
%% この部分は関係ないのでここに持ってくる
\@ifpackageloaded{jisx0213}{\relax}{\def\mcdefault{hmc}\def\gtdefault{hgt}}
%% \symmincho が定義されていたら,j(s)article の形式で和文数式がすでに使える
%% 設定であるとみなして,必要な部分だけ再定義する.
        \@ifundefined{symmincho}{}{%
\DeclareSymbolFont{mincho}{\otf@JYn}{hmc}{m}{n}
\SetSymbolFont{mincho}{bold}{\otf@JYn}{hmc}{bx}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\DeclareMathAlphabet{\mathgt}{\otf@JYn}{hgt}{m}{n}
\SetMathAlphabet{\mathgt}{bold}{\otf@JYn}{hgt}{bx}{n}
}
%% \if@enablejfam が定義されていなかったら,j(s)article とは全く異なる
%% class file が使われているとみなし,和文数式は完全に自前で定義して
%% 使えるようにしておく.この場合は disablejfam 的なことは考えない.
        \@ifundefined{if@enablejfam}{%
\DeclareSymbolFont{mincho}{\otf@JYn}{hmc}{m}{n}
\SetSymbolFont{mincho}{bold}{\otf@JYn}{hmc}{bx}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\DeclareMathAlphabet{\mathgt}{\otf@JYn}{hgt}{m}{n}
\SetMathAlphabet{\mathgt}{bold}{\otf@JYn}{hgt}{bx}{n}
        \AtBeginDocument{%
          \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}
          \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}
        }%
\jfam\symmincho}{}
%%%% ここまで
\fi
\if@kana
...

とすると目的通りに動いていると思います(コードが冗長なのは失礼).後半部分が
必要かどうかはコンセプトによるのと,jarticleクラス の mathrmmc オプション
とのからみです.

                                                                                                山本和義
匿 名 への返信

Re: otfパッケージ+disablejfam不具合

- 奥村 晴彦 の投稿
山本さん,どうもありがとうございます。

jsarticleも直していいのですが,jarticleの件もあるので,やっぱり齋藤さんにご対応いただくのがすっきりしますね。
奥村 晴彦 への返信

Re: otfパッケージ+disablejfam不具合

- 齋藤 修三郎 の投稿
諸事情により,直ぐには対応できませんが,修正いたします.
ご迷惑をおかけして申し訳ありませんが,今暫くお待ち下さいませ.
齋藤 修三郎 への返信

Re: otfパッケージ+disablejfam不具合

- 奥村 晴彦 の投稿
齋藤さん,お呼びだてして申し訳ございません。

ワークアラウンドはいくらでもありますので,お時間のおありのときにご対応いただければ幸いです。