名前: . 日時: 2009-02-26 10:11:05 IPアドレス: 59.134.169.*
>>52846 まず,「カテゴリーコード」の取り扱いについて然るべき学習 (e.g. 『The TeXbook』を精読)を済ませるべきでしょう. # それ以前に,「マクロの展開の順序」についても理解が不十分と見受けられます. >\def\endcom{ >\end{comment} >} こんな定義では,\endcom の置換テキストは 空白文字 + コントロール・ワード \end + {_1 + comment + }_2 + 空白文字 で,comment 環境の終端として必要な \_12 + end + {_12 + commment + }_12 ではありません. # _1 などの「下添字」の記法はカテゴリーコードを明示するためのもの. # e.g. 「{_1」は「カテゴリーコード 1 の {」 # 「@_12」は「通常の @」,「@_11」は「\makeatletter 適用時の @」 それ以前に,北見さんのコメントにあるように 文字列 \_12 + end + {_12 + commment + }_12 が「見えて」(ソースファイル中に 直接書き込まれて)いなければなりません. # そのあたりの事情は,verbatim 環境などと同様です. ただし,次のようなことは可能でしょう. \documentclass{jarticle} %%% 「コメント」にする場合 \makeatletter \def\begincom{% \begingroup \let\do\@makeother \dospecials \@begincom} \edef\@tempa{\expandafter\@gobble\string\\endcom} \def\@tempb{\long\def\@begincom##1} \expandafter\@tempb\@tempa{\endgroup\ignorespaces} %%% 「コメント」部分の記述内容が単純なものであるときには %%% \long\def\begincom#1\endcom{} %%% という定義で間に合うこともあります. %%% もっと単純に \let\begincom=\iffalse \let\endcom=\fi %%% (「コメント」にする場合)あるいは \let\begincom=\iftrue \let\endcom=\fi %%% (「コメント」にしない場合)で済ませても構わないこともある…… %%% なんてこともあちこちに書いてあります. %%% %%% もっとも,「条件処理」などの「本来のコメントではないもの」を %%% %%% 「コメント」に使うのは非推奨ですが. \makeatother %%% 「コメント」にしない場合 %%%\def\begincom{\begingroup} %%%\def\endcom{\endgroup} \begin{document} サンプルです. \begincom コメントです. \endcom サンプルです. \end{document} もっとも, >\begin{comment},\end{comment}を書くのが大変である などというのであれば,お使いのエディタにおける「入力支援」機能について 調べてみるなり,お使いのエディタをカスタマイズするなりしたほうがよいでしょう.
この書き込みへの返事: