If the very first or very last character of an argument is a newline, then that character is ignored if it would be part of a regular plaintext node.
For example:
\C[[
a

b
]]
generates something like:
<pre><code>a

b</code></pre>
instead of:
<pre><code>
a

b
</code></pre>
This is extremely convenient to improve the readability of code blocks and similar constructs.
The newline is however considered if it would be part of some insane macro shortcut. For example, we can start an insane list inside a quotations as in:
\Q[
* a
* b
]
which renders as:
  • a
  • b
where the insane list requires a leading newline \n* to work. That newline is not ignored, even though it comes immediately after the \Q[ opening.

Ancestors