次: 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には存在しません。
入力に含まれる名前と混同されてしまうので、 どちらの引用符も記号でない普通の文字や`_' (アンダースコア)で 始めるべきではありません。そうした場合はクォート機構が無効になります。