Bra/Ket notation can be used in different ways. (1) It takes the $W$ in $\left|W\right>$ to be a vector itself, so that the brackets just indicate whether we are dealing with the vector or covector form, $\left|W\right>$ or $\left<W\right|$. In this form, $aW$ makes sense, it is a scalar multiple of the vector $W$, and so does $aW+bZ$.
(2) Bra/Ket notation sometimes takes $\left|W\right>$ to be an eigenvector of some operator, say $\hat A$, with eigenvalue $W$, so that $\hat A\left|W\right>=W\left|W\right>$. In this case, $W$ is a number, and $\left|W\right>$ is the eigenvector of $\hat A$ with the eigenvalue $W$. One has to keep track of which operator one is working with, which is sometimes done by using arrows, distinguishing between $\left|\leftarrow\right>,\left|\rightarrow\right>$ and $\left|\uparrow\right>,\left|\downarrow\right>$, say, instead of writing $\left|+1\right>,\left|-1\right>$ for both, but not infrequently it's obvious to experts which operator is intended but not necessarily so obvious to others. [The vacuum vector in quantum field theory is often denoted $\left|0\right>$, for example, because it is the zero-eigenvalue eigenstate of every annihilation operator, but it is not an eigenstate of any creation operator. EDIT: note that the vacuum vector $\left|0\right>$ is not the zero vector.] If this is how the notation is being used here, then it's problematic because in general $\hat A(a\left|W\right>+b\left|Z\right>)\not=(aW+bZ)(a\left|W\right>+b\left|Z\right>)$. This is so egregious that I cannot imagine this is the way that Shankar is using the notation.