Changed tokenisation to improve alignment

Now tokens are split on hyphens as well as spaces, but not if the token
occurs as a literal