[文法] 關於現在完成式的文法疑問

作者: jyokairin (水龍吟)   2020-10-26 11:06:06
大家好,
這幾天在某英文學習雜誌上閱讀到以下例句:
leak out (秘密)走漏
The news of the CEO’s retirement should have been kept secret until next
month, but it somehow leaked out yesterday.
(執行長要退休的消息到下個月前應該都要保密,但昨天卻不知怎地洩漏出去了。)
句中的「should have been kept」是「現在完成式」沒錯吧?
不過看了現在完成式的文法規則,
基本上是用在表達「有過的經驗」或是「從過去某時開始,一直持續到現在的動作或狀態
」等等,
而句中退休的消息已經被洩漏出去了,
換句話說已經沒有持續到現在了,
為何還可以使用「現在完成式」呢?
另外該句的前半段是否也可以改成如下「現在簡單式」的寫法?
The news of the CEO’s retirement “should be kept secret” until next month,
but it somehow leaked out yesterday.
如果可以的話,這兩句有什麼差別嗎?
因為對時態之間的差異及語感還是不太能分辨,
所以想請教板上的各位前輩們,謝謝。
作者: A1right (Chris)   2020-10-26 12:43:00
should have + PP 中文應該是 本來應該意思是 退休消息本來應該要保密到下個月 但昨天流出流出就流出了 我覺得不能用現在簡單式去寫"應該"的語氣should have, could have, would have 建議你可以參考相關用法我當初也是花了一些時間 釐清這三個不同的概念
作者: sadlatte (傷心拿鐵)   2020-10-26 12:56:00
Should be kept 應該被保密(原則上來說,無關過去現在未來) should have been kept 應該要被保密好(只過去這段時間不應該發生洩密狀況) 因為should基本上看不出時態 雖然是shall的過去式但是通常是被當成禮貌語氣而不被當過去式看 再加上should後面只能接原型不能接過去式所以要看出事件已經發生 就要用完成式 你也可以用完成式的「直到現在」的特性來解釋should have been kept:過去這段時間應該要守好秘密才對中文的話可以當作「本應該」被保密好才是 (不建議太依賴翻譯學習)
作者: euruing (沒了靈魂的軀殼)   2020-10-26 13:25:00
助動詞+have pp. 都有悔恨的感覺。原本 但卻沒有。should/could/would/might have pp =原本 應該/能/會/可能... 但卻...
作者: A1right (Chris)   2020-10-26 16:04:00
那請問一下 might跟could have 有什麼差別? 好像還有mayhave 呢....
作者: sadlatte (傷心拿鐵)   2020-10-26 16:52:00
語氣跟概率的問題 估狗應該很多搭配圖片的解釋
作者: euruing (沒了靈魂的軀殼)   2020-10-27 01:43:00
這兩種比著學真的很容易眼花花,我的記法是 should be pp被動式描述事實,與時間較無關。should have pp 想成...should + 過去完成式 (should+had pp = should have pp)。補充s大所述,如果保密是事實(should be pp) 則過去、現在、未來都應該要保密。
作者: A1right (Chris)   2020-10-27 09:46:00
簡單說 should be的用法在這邊 代表你還有選擇 不過句子的意思是 已經洩密了 你沒有辦法逆轉這個事實了 只能用should have. 就像中文講應該 可以共用你這兩種情況 但英文不行, 英文文法比中文嚴格一些
作者: oosh0329 (rickes)   2020-10-27 12:42:00
should have+pp是當下對於更之前的事情相反的描述I should've gone that party. It sounds fun! (沒去)It's raining. You should've brought an umbrella(沒帶should be kept不行是因為後文已經表達已洩漏最後面改成It mustn't leak out.應該就可以
作者: sadlatte (傷心拿鐵)   2020-10-28 02:25:00
有些字主動被動都可以

Links booklink

Contact Us: admin [ a t ] ucptt.com