How to order a page collection by a field in a list

I am using the list field-type for the parts of a name, and I wish to list the data ordered by the second field of the first item. (Say I have books by Jane Doe, by John Smith, and a two-author book by A. Nother and Yetan Other. I want to list them in the order Doe, Nother, Smith.) So my blueprint yaml will be like this:
header.authorname:
type: list
fields:
.authorname_part_1:
type: text
.authorname_part_2:
type: text

What do I put in the front matter for the collection? I thought it might be something like this, but that doesn’t work:
content:
items: ‘@self.children
order:
by: header.authorname[0].authorname_part_2
dir: asc
(Sorry, the indenting seems to have got lost, I don’t quite know how this editor works)