Re: \edef\hoge{\bm{huga}}でのエラーを回避する

名前: 本田
日時: 2004-09-22 23:10:28
IPアドレス: 211.133.5.*

>>31635 \noexpandを使いましょう #そもそもこういう「省略」は望ましくなく #エディタの置換機能で済むものは #それで済ますべきでしょう ##投稿論文でこの手のマクロがたくさんプリアンプルにあり ##そのほとんどが未使用でなおかつ不具合を起こす ##という悲惨な状況もあります ># エラーになってしまうようなTeXのデータ処理の仕組みも良いとは思えない… TeXのマクロは「単なる置換」であることを念頭におきましょう. 決して,関数やサブルーチン,構造体などなど・・・ではありません. 言ってしまえば置換とそのタイミングや順番をずらす工夫の山です 以下,サンプルです \documentclass{jarticle} \usepackage{bm} \makeatletter \newcounter{n} \setcounter{n}{1} \@whilenum \value{n} < 27 \do{ \expandafter\edef\csname B\alph{n}\endcsname{ \noexpand\bm{\alph{n}} } \stepcounter{n} } \makeatother \begin{document} \edef\hoge{\noexpand\bm{huga}} $\hoge$ $\Bc$ \end{document}

この書き込みへの返事:

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