If you find a villager with no job. Trap it. Place a lectern next to it. It becomes a librarian. Check what it sells. Silk touch? Nope. Break the lectern, the villager reverts to not a librarian. Villagers only keep their jobs if you have bought something from them. Replace the lectern, check (it now has new items for sale), break, rinse and repeat. Once you find it, buy it and the librarian will be locked to always sell it.
Only downside is you need emeralds. But on the upside, you get infinite silk touch.
Yes! Great point. If you find any other book that you really like (Mending being a perfect example)... keep the librarian... find a new villager, and start the process over.