What would be more conventional is to have an AUTHOR table that lists the names of each author once, along with any other information you may eventually need, and then have your intersection table reference AUTHOR and then either BOOK or JOURNAL. A lot of people would have a different intersection table for each type of writing, or at least create a supertype above BOOK and JOURNAL that encompasses both. Your single intersection table could then reference the supertype.
Most people would not have a dual-purpose intersection table, but I've seen it done. What doesn't make sense is your first example row, where A.R Smith authors one book and one journal in the same record. Each record in the intersection table should denote a single relationship otherwise you are exposing yourself to deletion anomalies.
Regarding using Oracle Objects/Types;I wouldn't rule out Oracle Object Type, but it is really more of a programming tool rather than a database schema tool, insofar as it incorporates program logic (e.g. PL/SQL) as well as data structure. When I use the terms super-type and sub-type, it is from a data modeling perspective. Leigh Riffel has a good answer that illustrates what my answer is suggesting.