I'm reading The TeXbook by Knuth.

Page 205 has

If you actually want a control sequence to allow arguments with \par tokens, you can define it to be a “long” macro by saying ‘\long’ just before ‘\def’. For example, the \bold macro defined by


is capable of setting several paragraphs in boldface type...

I tried to have only one set of curly brackets. It worked with no problems.




Why did Knuth write two sets of curly brackets in {{\bf#1}}. Are there any corner cases?

1 Answer 1


With the definition


\bold{hello world} is simply expanded to \bf hello world, so \bf is applied not only to the argument of \bold, but also to what follows. Indeed, consider the following example.



Hello world

This outputs which is obviously not the intended result.

Adding the second pair of curly brackets allows to restrict \bf to the argument of \bold.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .