\defは定義済みの命令も黙って上書きするから素人は使うな(意訳)とどこかで読んだ。
よくわからないが、とりあえず自作のコマンドは\newcommandにしておく。
引数をとらない場合
\newcommand{\コマンド名}{コマンドの中身}
とする。
たとえば、
\newcommand{\KanColleLogo}{
\raisebox{0zh}{\Huge 艦}
\hspace{-0.6zw}
\raisebox{1zh}{\Large こ}
\hspace{-1.3zw}
\raisebox{-0.1zh}{\Large れ}
\hspace{-4.2zw}
\raisebox{-0.8zh}{\tiny 艦隊これくしょん}
\hspace{0.1zw}
}
艦これのロゴを
\KanColleLogo
作ってみた。
とすると
と出力される。
(こんなコマンドどこで使うんだか。)
引数をとる場合
\newcommand{\コマンド名}[引数の個数]{コマンドの内容}
コマンドの内容部分の#1、#2...と書いた部分が引数で置換される。
引数の個数を指定する括弧は[ ]なので注意する。
たとえば、以下のようなPola is drinkingな関数を作ってみる。
\newcommand{\PolaIsDrinking}[2]{
Polaはさらに#1を#2杯飲むつもりのようだ。
}
\PolaIsDrinking{赤ワイン}{3}
\PolaIsDrinking{白ワイン}{10}
とすると、
と出力される。