i use a hyphen between "e" and "text" in "e-text". not everyone does, but i think that it looks nicer.
a hyphen -- as you know -- differs from a dash. and you probably know that there are even two (and some people say more!) types of dashes...
the first - called an "en-dash" - is a narrow one. you will see these in a fair number of the e-texts. it's called an "en" dash because it was traditionally defined as being exactly as wide as the letter "n". (or, some say, as wide as a letter "n" is high, so you can take your pick between those choices.)
the second -- called an "em-dash" -- is wider, and yes, it's called that because it's as wide as an "m", or so the story goes, according to some people...
generally, try to use an em-dash, not an en-dash... the en-dash looks too much like a hyphen, especially when it is run into the words that are surrounding it.
now, the convention says that you should not have spaces on the sides of a dash. the convention is wrong. it looks much nicer if you put spaces around a dash.
perhaps even more importantly, the search capability of many programs is thrown off if you don't use spaces.
so are the re-margination routines in many programs, so -- to avoid these problems -- put spaces around dashes.
a problem arises, though, because there is no em-dash in the lower-ascii codes. so you have to use a double-dash -- like these here -- for an em-dash. ok, problem solved. your system should be able to convert the double-dash into a proper em-dash, if the user chooses that option.