✔ 最佳答案
Past tenses
你的句子說的兩件事,Sam gave up smoking (戒煙)yesterday發生在he smoked(吸煙) for twenty years 之後,所以寫成一句時,前者用simple past tense後者寫past perfect tense便可。後者寫past perfect continuous tense是不恰當的。
"When Sam gave up smoking yesterday, he had been smoking for twenty years."可改正為
"When Sam gave up smoking yesterday, he had smoked for twenty years."
另外也可寫為:
Sam gave up smoking yesterday after smoking for twenty years.
2014-03-01 21:28:14 補充:
Sam smoked for twenty years until he gave up smoking yesterday.
2014-03-01 21:37:31 補充:
如果事情在yesterday前開始發生至yesterday仍繼續進行,才可用past perfect continuous tense,例如:
When Sam started to smoke Marlboro yesterday, he had been smoking for twenty years.