You could do this using nested formsets.
You could have a form for a book. Within that book you could create a formset for the chapters. Then, within each chapter you could have a formset for the paragraphs.
Take a look at the discussions at Multiples of one formset and how to save two model formsets together(relates to each other) in one view for some ideas related to this.