Environment aligned doesn't output first part in bracket

\begin{aligned} [c\mathbf{v}+c'\mathbf{v}',\mathbf{w}]=&c[\mathbf{v},\mathbf{w}]+c'[\mathbf{v}',\mathbf{w}],\\ [\mathbf{v},c\mathbf{w}+c'\mathbf{w}']=&c[\mathbf{v},\mathbf{w}]+c'[\mathbf{v},\mathbf{w}'], \end{aligned}


In this code, [c\mathbf{v}+c'\mathbf{v}',\mathbf{w}] is not shown in the equation. Is it because of the aligned environment? How to fix it?

• As a comment, I found both \begin{aligned}{} and \begin{aligned}\ work. Thanks all. – eccstartup Dec 9 '15 at 0:38

What you're experiencing is the fact that the aligned environment -- as set up by the amsmath package -- is set to scan ahead for a positioning argument such as [t] or [b]. Material that's found in square brackets but which doesn't meet this format is simply discarded.

I can think of two solutions:

• Insert \relax before the left square bracket (it will stop the bracket from being interpreted as an argument);

• Insert {} (an empty math atom) before the left square bracket;

• Load the mathtools package instead of the amsmath package, as the former takes care to disable this generally-unexpected-and-unwelcome setting.

A separate matter: To get the correct (and symmetric) amount of spacing around the = symbols, you should write &= rather than =&.

• Or use \lbrack instead of [ when at the start of a line. – egreg Feb 19 '16 at 21:44