次: Changecom, 前: Dnl, 上: Input Control
デフォルトの引用符は組み込みマクロchangequote
によって変更できます。
changequote(opt start, opt end)
startは新しい開始引用符でendは新しい終了引用符です。
もし欠けている引数があるときは、デフォルトの引用符(`
と '
)
がその欠けている引数の代わりに使用されます。
changequote
は展開されると消滅します。
changequote([, ]) => define([foo], [Macro [foo].]) => foo =>Macro foo.
適切な文字がないときはstartやendを好きな長さにしてかまいません。
changequote([[, ]]) => define([[foo]], [[Macro [[[foo]]].]]) => foo =>Macro [foo].
引用符を両方とも空文字列にすると、事実上クォート機構が無効になり、 テキストをクォートする方法が無くなります。
define(`foo', `Macro `FOO'.') => changequote(, ) => foo =>Macro `FOO'. `foo' =>`Macro `FOO'.'
changequote
を使って現在の引用符を替えない限り、
終了引用符と対になっていない開始引用符を含む文字列をクォートする
方法はm4
には存在しません。
入力に含まれる名前と混同されてしまうので、 どちらの引用符も記号でない普通の文字や`_' (アンダースコア)で 始めるべきではありません。そうした場合はクォート機構が無効になります。