A:But that 的意思是「若非;要不是」,是條件句的另一種句型。它的後面接子句,不過我們也可將之改為「but for + 名詞」(而 but for 又等於 without)。
由於 But that 子句敘述的是事實,所以若為現在式,則使用簡單現在式,若為過去式,則使用簡單過去式。而主要子句係屬假設的敘述 (非事實),所以若與現在事實相反,則句型為「主詞 + would/should/could/might + 原形動詞」;若與過去事實相反,則句型為「主詞 + would/should/could/might + have + P.P.」。不過,它們也都可以改為用 if 引導的假設語氣條件句。注意:此時 if 子句的敘述必須分別與現在和過去事實相反。請看下面的例句 (第一句為問題中的句子) 並加以分析,以徹底瞭解這些實用句型及其變化:
- But that there is water, (現在事實的敘述) there would be no fish. (與現在事實相反) — (要不是有水,就不可能有魚)
= If there were no water, (若無水 — 與現在事實相反) there would be no fish.
= But for water, there would be no fish.
= Without water, there would be no fish. (but for = without,意思亦是「若非;要不是」,但後面接名詞) - But that you helped me, (過去事實的敘述) I would not have succeeded. (與過去事實相反) — (要不是你幫忙,我就不會成功)
= If you had not helped me, (如果沒有你的幫忙 — 與過去事實相反) I would not have succeeded.
= But for your help, I would not have succeeded.
= Without your help, I would not have succeeded.