It has been pointed out that corrupt press books use n and m dash where others might use hyphen.
This is true. It’s because the digital use of hyphen is a complete mess. Almost everyone uses minus where they intend to use hyphen.
Unfortunately, I’m one of that small minority of people who knows what the standard computer keyboard character set actually is. The character people use as hyphen was originally unnamed, as were most characters: see X3.4–1963, the American Standard Code for Information Interchange (ASCII), character 2D. Subsequent standards make it very clear it is minus: for example, see ISO/IEC 14882:2011, the C++ language (you can read the draft for free). Actually, previous standards do so too: FORTRAN, which stands for formula translation, is an IBM language originally envisaged in 1953. It too uses minus. It too has no hyphen.
The original computing character set had no hyphen. Unfortunately, this omission was never properly corrected. Rather, a kludge was introduced, to call the character minus–hyphen or hyphen–minus. This is rather like defining the C character as Roman and Cyrillic C, because they look similar. The trouble is, Cyrillic C is actually Roman S. The same applies to minus and hyphen, as wikipedia make clear in their description of the character by using two different characters to identify each, making it ever so slightly obvious they’re not the same. The kludge to use both names for the same character doesn’t resolve the problem, it muddies it. C is not S, minus is not hyphen. Don’t use one when you mean the other.
But which is it, given the ASCII character has both names? That’s why I mentioned the early specification above: it’s not named. But it is used in programming languages, which predate popular use of computers by decades. There, it is always minus. Those computing languages reflected the use of the time. There were no word processors, but there were missile trajectories. Missiles don’t need essays to find their target, they need math. The character is minus. If you want to be one of those few people who like to reduce confusion rather than increasing it, you’ll use it correctly, you won’t use it as a hyphen.
Nowadays, there are explicit hyphen characters defined in the standard unicode character set, but they’re not found on the normal computer keyboard. Minus is on the keyboard, and it’s often there twice. It’s very confusing that the key most people think of hyphen is actually another minus (both keys produce ASCII character 2D). You can get hyphen, in some fonts, by finding unicode character hexadecimal 2010 (or maybe 2011), but how to do so differs on different computers. I can’t off the top of my head tell you the technique, all I can tell you is you have to use a complex, non–obvious sequence of keys. There are other dashes, and even an alternative minus character (hexadecimal 2212).
Worse, many fonts don’t render those hexadecimal characters at all, making it impossible to use hyphens correctly anyway. It is no wonder that so many people use minus instead of hyphen.
The problem is, I’m one of those people who sees minus when he sees minus. Minus is linguistically significant to me. It comes of being a software engineer. I am not the only one.
When people use minus instead of hyphen, it’s usually clear from the context what they mean. Usually, but not always: I have actually stared at poems and wondered why the poets subtract words. Good poets, being adventurous, sometimes intend to, too. Corrupt aime les poètes courageux.
Given this character set mess, given it’s often impossible to use the correct character, given most get it wrong, given I’ve no wish to do so, given being correct can confuse, my approach is to avoid the mess completely by using neither minus nor hyphen.
I’m not for one moment suggesting anyone else should take the same approach as me. Few people know the mess of minus and hyphen, and fewer people care. Me insisting that other people use the characters correctly would be like giving a poetry collection a rotten review because I didn’t like the poet’s dialect, and I didn’t want to admit I was ignorant of the subject matter. I’m just not that small minded. :-)