Inspired by images/renders/drawings of libraries from various sources.
Struggled a bit with distribution and randomization of books on the bookcases. I obviously wanted to avoid any visible repetition. Ultimately settled for Maya MASH. There are 30 groups of random books (10 with straight books; 10 with mix of straight and leaning books; 10 with horizontal stacks). Each group takes up 1/4 of the shelf width. These groups are then randomly scattered on the shelves with MASH. There are 3 book textures (leather, fabric, paper) each with 3 different title options. All of the textures are then further randomized with Arnold Jitter node. I'm sure there is an easier way to do this with Bifrost...