✔ 最佳答案
你問的問題我乍看之下也是想了很久:翻過幾部字典,又去網路上看了一些句子後,才終於讓我想通。
嚴格的來說,你的第一個句子也是錯誤的寫法!原因就是你說的,因為graduate不是一個狀態性的動詞;一個人不可能光是做「畢業」這個動作就做了五年的時間,也就是你說的:他不能在這段時間內「一直畢業」。
那... 也許你會問,die和graduate到底有沒有完成式的用法?如果有的話,又是要用來表什麼意思?
我們回歸到現在完成式的用途上去想。雖然現在完成式可以用來表一個動作持續了一段時間,但它還有其它的用法,如:剛剛完成某個動作,或是表現經驗。而當這兩種用法用時,它就不會搭配諸如since、for之類的字眼了。
因此:
My sister has graduated from college. 並不是錯誤的寫法;它的意思是:我姐姐剛從大學畢業。
My grandfather has died. 也沒有問題;意思是:我祖父剛過世。
其實換個簡單的角度去想的話,不過是把have/has後面的just省略掉而已;所以如果感到困惑的話,把just放回去你就能看得懂。
既然知道該句子是錯誤的,那就必須要了解為什麼會造成這種錯誤!一開始我忽然看到這樣的句子時,自己也很疑惑;因為我直覺上也不覺的第一個句子哪裡有問題。後來,我到網路上搜尋了一下,看了很多句子後,才發現問題的所在。其實不單是我們,就連老美他們身為native speakers看到那個句子可能都不會覺得怪;甚至他們自己也可能會這樣用。
整個問題的癥結所在就是因為後面那個 from。graduate from somewhere 意思是「從哪裡畢業」,這樣的動詞片語搭在一起,給人家念起來的感覺就會帶有「已經離開哪裡」的感覺,非常接近「狀態」;就像如果你說:I have moved out for 7 years. (我已經搬出去七年了),很明顯就會感到整個句子不大對勁,因為你不可能光是要做搬出去的動作要花七年的時間;但我如果說:I have moved out from my home for 7 years. (我已經從家裡搬出去七年了),就不太會感覺整個句子怪怪的,因為 from這個字和 move out搭在一起整個動詞片語的感覺變得很接近「狀態」而非「一時性動作」。
當然,連他們native speakers都會這樣用,實際上越來越多人已經接受這樣的用法;畢竟這是他們的語言,只要他們認同這種用法,不管文法是怎麼說的,我們都要去承認這是正確的句子。只是,雖然大家逐漸在認同,但目前為止人數還是不夠多,還不足以達到「積非成是」的效果;因此建議現在要寫這種句子,還是以正規的寫法:My sister has been out of school for five years. 為佳。
再來談你關於分詞構句的問題。通常分詞構句中把連接詞(從屬連接詞)省略的用法,都是因為即使不需要把這個連接詞寫出來,意思就很明顯了;倘若缺了連接詞意思會變得不明確,那就不適合把連接詞去掉。例如如果去掉了連接詞,看的人會搞不清楚原來的連接詞到底是表時間的when/before/after還是表原因的because的話,那就是這種分詞構句寫得不好;這才是主要的原因。至於你問說用because來取代as,那當然沒問題!因為這兩個本來就都可以拿來表原因。
至於剩下那兩題,礙於字數限制,我看... 你再寄信來問我吧!