You are incorrect regarding the idea that a composite index requires unique indexed fields. It is possible for the composite index to be unique even if you have no indexes on the component fields. You DO have a size limit of 255 characters on a given index, so long titles, long publisher names, and long author names might be a bit messy.
What might be MORE efficient, though, is that author and publisher would seem to be fields that would repeat a lot if you have a lot of books, so you might have a symbol or code number to represent authors and to represent publishers in individual tables where you would have a unique code for each author and a unique code for each publisher. (There is no reason that each such table would NOT use the same numbers over again, as might happen with an autonumber ID for each entry.) Then in your book-title table you would have the actual book title, author code, publisher code, and year - a four field compound - and declare a compound index with one text field and 3 numeric fields.
How often do book titles repeat? That would govern whether it made sense to have a book-title table analogous to the author and publisher tables. But if not that many book-title are duplicates, perhaps it isn't worth that level of effort to split out a names table. In either case, it still might make sense for the book name table to have a non-unique index on the name. If you do the split I just mentioned, though, you would not need an index on each field in the book name table because the two "translation" tables would have a usable index on those values when needed.
When you need to produce a REPORT showing all of those fields, a multi-table JOIN would probably be the starting point. To ENTER data, a form with a couple of combo-boxs tied to author and publisher would make data entry fairly simple.
This is how I would approach the problem. However, from your brief description, I admit to "shooting from the hip" so if there is a wrinkle here and there, you would have to explain a bit more in order to smooth out those wrinkles.