[[開発者向け情報]]
[[TeXマクロ]]

*** dirty tricks [#hc018395]
詳しくは TeXbook Appendix を参照.
#contents

*** 変数を表すために [#gb9e4d4f]
普通は
 <variable>
とか適当に書くようですが,もうちょっと
 $\langle$variable$\rangle$
とかやりましょうよ、という事なんですが,
 \def\save@less{<}
 \def\save@great{>}
 `<' のカテゴリコードをアクティブにする
 \def<{\ifmmode \save@less\else $\rangle$\fi}
 `'> のカテゴリコードをアクティブにする
 \def>{\ifmmode \save@great\else $\rangle$\fi}
とかやると 文中では <variable> が angle brackets になる訳ですが,
なんか危険そうで怖いです.そこである程度,ユーザの意志を反映し,
且つ原稿の可読性を高めるために
 \def\<#1>{$\langle$#1$\rangle$}
と \< を定義した方がスマートでしょう.和文を混在させたければ
 \def\<#1>{$\langle$\hbox{}{#1}\hbox{}$\rangle$}
などとします.これで入力の手間も少ないでしょうし,原稿も読みやすくなります.

一件落着.

*** タイプライタ体を適当に出力する [#v43c70f7]
べた書きの \verb とか verbatim とか裏でナニをごにょごにょしているのか、
ちょっと気になりませんか.
 \ ` ' { } ~   _ & 
とか結構うざいので、
 \font\hoge=cmtex10
 \def\VERB#1{{\hoge
    \let\\=\BS % backslash
    \let\'=\RQ % rigth quote
    \let\`=\LQ % left quote
    \let\{=\LB % left brace
    \let\}=\RB % rigth brace
    \let\~=\TL % tilde
    \let\ =\SP % space
    \let\_=\UL % underline
    \let\&=\AM % ampersand
  #1}}
とか、変な事をやる訳ですが.
 \chardef\AM=`\& % ampersand 
 \chardef\BS=`\\ % backslash
 \chardef\LB=`\{ % left brace
 \def\LQ{{\ttfamily\char'22}} % left quote 
 \chardef\RB=`\} % right brace 
 \def\RQ{{\ttfamily\char'23}} % right quote 
 \def\SP{{\ttfamily\char`\ }} % (visible) space 
 \chardef\TL=`\~ % tilde 
 \chardef\UL=`\_ % underline