Seeing the Rockies by train
Here's what I would do to really max the exoerience:
Start in Vancouver. Take the private train Rocky Mountaineer, which crosses the Rockies during the day over two days (it stops in Kamloops for the night, as part of the package). End in Banff or Calgary. Rent a car and do Banff - Jasper - Edmonton, or take a bus Calgary - Edmonton.
You can even do a TS week in/around Banff, if time permits...
Pick up the Via rail service in Edmonton to Toronto. You can break up this monotonous very long ride with an overnight in Winnipeg, staying at The Forks.
There is no real one-through train across Canada. Service from the west ends at Toronto. From Toronto, the service then goes east to Montreal. Then another eastbound service to Halifax, on Via's "Ocean" train.
You can stop over in Quebec City either by booking Montreal - Quebec City, then catching the Ocean across the river to continue on to Halifax, or as a simple stop across the river.
I have done all of it, but at different times. The Rocky Mountaineer was a fantastic experience -- I woud do it again! Photos:
https://picasaweb.google.com/118094903911216523883/RockyMountaineer2007
The stretch across the Prairies and northern Ontario was undescribably boring: flields, trees and boulders... no kidding - that's it! :zzz:
I would definitely prefer flying from Calgary to Toronto!! (Much, much cheaper too).
Toronto to Montreal is a quick trip, as is Montreal to Quebec City - both great daytime train rides. You can also do Toronto - Ottawa - Montreal. - Quebec City. Quebec City is a must see stop, IMO.
The Ocean to Halifax should not be missed - another very nice train ride, with a comfortable overnight.