- (define-macro (name . args) xpr ....))syntax
- (define-macro (name . args) (inject sym ...) xpr ....))syntax
- (define-macro (name . args) (inject sym ...) (keywords key ...) xpr ....))syntax
- (define-macro (name . args) (keywords key ...) (inject sym ...) xpr ....))syntax
generates an implicit-renaming macro, name. Keywords and injected symbols are extracted from the macro body and transformed into appropriate subexpressions of the macro-transformer.