Re: 化学式マクロ

名前: ari
日時: 2005-06-04 18:11:50
IPアドレス: 130.54.130.*

>>36230 .さん,早速のご返事ありがとうございました. >(1) \def\chem#1{...} ではなく, >\DeclareRobustCommand*\chem[1]{{...}} >のようにします. すみません.忘れておりました.. \sectionや\captionで用いる場合は\protectが必要なんでしたね… (以前\bra,\ketのプログラムでお世話になったときにも \DeclareRobustCommandを使用されていましたね.今後気をつけます) .さんに指摘していただいたもの((3)以外)を修正しますと \chemは次のようになります. \DeclareRobustCommand*\chem[1]{{% (1) \def\x{\mathrm{x}}% \def\y{\smash{\mathrm{y}}}% \mathversion{chem}\ensuremath{#1}}} \def\sb#1{_{\mathit{#1}}}% \DeclareMathVersion{chem} \SetSymbolFont{letters}{chem}{OT1}{cmr}{m}{n} \DeclareSymbolFont{varletters}{OML}{cmm}{m}{it}% (2) \DeclareMathSymbol{x}{\mathalpha}{varletters}{`x} \DeclareMathSymbol{y}{\mathalpha}{varletters}{`y} \DeclareMathSymbol{0}{\mathord}{operators}{`0} \DeclareMathSymbol{1}{\mathord}{operators}{`1} \DeclareMathSymbol{2}{\mathord}{operators}{`2} \DeclareMathSymbol{3}{\mathord}{operators}{`3} \DeclareMathSymbol{4}{\mathord}{operators}{`4} \DeclareMathSymbol{5}{\mathord}{operators}{`5} \DeclareMathSymbol{6}{\mathord}{operators}{`6} \DeclareMathSymbol{7}{\mathord}{operators}{`7} \DeclareMathSymbol{8}{\mathord}{operators}{`8} \DeclareMathSymbol{9}{\mathord}{operators}{`9} 修正点(3)に関しては,ここでは記述されていないのですが, 私が以前に15316を参考にして 作成しました数式バージョンの記述が効いていたため 「\delta」の文字化けは起こっていませんでした. (そのときの「varletters」をそのまま使用していたもので…) おそらくその他の設定も有効になっていたので 私のところでは(サンプルプログラムで)エラーが生じなかったのでしょう. 情報不足で申し訳ありませんでした. # 一度varlettersグループを定義すると # 別の数式バージョンで再定義しても前の定義は生きているんですね... 改めてギリシャ文字等の補正を加えてchemを単独で使用しましたところ, 所望の結果を得ることができました. .さん,本当にありがとうございました.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)