the steps of this would really be the same as selling any other product.
Create a page where the user selects the event and the date and quantity, then adds the ticket to the cart.
emailing the tickets will be a bit more tricky. you would need a way to generate them on the fly, to include them in the email. It would be better to use a will call system.
also preventing duplicates would be difficult.
if you look at how major venues do email ticketing, they have a bar code on the ticket that gets scanned at the door. they set up the scanning to record each bar code as it is scanned so it cannot be scanned twice. it's not that they prevent printing multiple copies of the ticket, it's that they prevent the the ticket from being used more than once.