My suggestion is fairly simple:
To add an array (or maybe a dict) to the 'series' which holds these mappings.
For example:
(in JSON because it's easy to explain)
Internal representation:
Quote
[13, 24, 49, 80]
What a user sees:
Quote
Vol 1: Chapter 13
Vol 2: Chapter 24
Vol 3: Chapter 49
Vol 4: Chapter 80
Vol 2: Chapter 24
Vol 3: Chapter 49
Vol 4: Chapter 80
or using a dict (which allows odd volume naming schemes)
Internal representation:
Quote
{"1" : 13, "2": 24, "2.5": 49, "3" : 80}
What a user sees:
Quote
Vol 1: Chapter 13
Vol 2: Chapter 24
Vol 2.5: Chapter 49
Vol 3: Chapter 80
Vol 2: Chapter 24
Vol 2.5: Chapter 49
Vol 3: Chapter 80
I'm also open to other suggestions/alternatives.