have been wanted 自体が誤りというのではありません。
I am wanted to read のように,I を主語にして,I am wanted とすれば,「私は指名手配になっている,誰かに探されている」という意味にはなっても,to read とつながって,「~したい」という意味にはなり得ないのです。
「私がずっと指名手配されている」とか,「求められている」というのであれば,I have been wanted でもいいですが,「私が~したい」と言いたいのに,I have been wanted とはならないのです。
とにかく,be wanted という受身が現在完了になるのはかまいませんが,I am wanted という受身自体がここでは合わないのです。
>This is whatなので受動態でもかまわない
関係代名詞 what の中には,通常「もの」という意味の先行詞が含まれていると説明されますが,ここでは「読むもの,本」と柔軟に考える必要があります。
すなわち,This is the book which I have wanted to read. というのと同じであり,what というのは,read の目的語として機能しており,want の主語はあくまでも I の方です。
そうでないと,I という主語は何につながるのでしょう。
進行形について,議論になっているようですので,説明します。
もともと,「~している」という継続的な状態を表す動詞や,心理状態を表す動詞は通常進行形にしません。
be, have(「持っている」という意味の場合),know, like, love, want, resemble, belong, see(「見える」の場合)などがそうです。
中学の段階で,know, have, like と,live は進行形にしない,ということは軽く教わるでしょうし,高校になった段階で上で挙げた動詞を一斉に教わることになるでしょう。
受験レベルではこれでいいのかもしれませんが,実際には,進行形になることもあります。
まず,live は「一時的に住んでいる」という場合は進行形にしますし,また,現在完了で「~の間,ずっと住んでいる」という場合は,have been living という現在完了進行形にすることも多いです。
CM にでおなじみの,"I'm loving it" も,このカテで何度か質問されていましたが,ネイティブの人に聞くと,あっさり,問題ない,という答えが返ってきます。
辞書にも,How are you liking your job? のように,「好きか嫌いかまだ決まっていない場合は進行形も可」となっています。実際には日常会話ではもっと幅広く用いられているのでしょう。"I'm loving it" に関しては,コマーシャル的な表現のようにも思います。
want に関しては,want は直接的な表現ですので,would like にするのと同じ感覚で,進行形にすることで,「一時的な欲求」を強調し,和らげることができます。
また,「いつもほしがっている」ということを強調する場合,be always wanting とすることがあります。
そして,上のような文脈と関係なく,現在完了進行形は用いられるのです。現在完了進行形は,形としては進行形が現在完了になったものですが,「継続」を表す用法として,継続を強調する場合に,現在完了進行形が用いられるのです。
have been wanting や,have been living という表現は,普通の be wanting, be living という進行形以上に,普通に用いられるのです。
wanting という語は確かに「欠けている」という形容詞となり,それが完了になると,have been wanting となりますが,I が主語であり,to read とつながっていることから,あり得ません。「欠けている」の主語は「もの」です。
外国語を習うときに,つい錯覚してしまうのは,「一つの意味にしかなり得ない」と思うことです。母語では,自然と前後の文脈からわかりますが,外国語でも,そこだけ取り出せばいろいろな意味になることは普通で,文脈によって特定するしかありません。
お礼
どうもありがとうございます! >This is whatなので受動態でもかまわない」という意味がよく理解できませんが whatのSで考えられるのは、動詞read から、本のようなものだと判断しました。もの(本など)はされる(p.p.) もの(物体)なので、受動態(=受身)でもかまわないと思いました。そのため、I've been wanted としました。 それがNO,1の >been って何でしょうか?考えてみてください。be動詞の過去分詞形ですね。been long wanted とすると受動態になってしまいますよ。 の理由です。