Since $Authors is a set, the addition means, “Add the book title to the authors.” Sets control their sequence, so you can’t determine whether the name or the title comes first.
One trick to avoid this is to coerce $Authors to a string: ( $Authors.format(" “)). Now, you surely want to add some way to separate the title and the author: ` ( $Authors.format(” “))+” "+$BookTitle.
Another approach would be to build a string variable in a rule or edict, and then use the display expression to show the constructed string.