Endnotes in InDesign: Closest thing to a pain-free, flexible workflow?
It's an age-old complaint: up to and including CS6, InDesign supports footnotes, but not endnotes. Documents, books, reports etc aren't going to stop needing endnotes because Adobe don't support them. Even on Adobe's official blog, this is described as a "sad story".
There are a lot of hacks and workarounds out there (plus lots of noise and frustration). I've included a few choice links (an Adobe blog describing a manual method, and two Peter Kahrel scripts that can automate it under certain circumstances) at the end of this question.
My question is: is there anything approaching a smooth, pain-free way to get endnotes in Indesign CS6 (or earlier) that supports as many of the following as possible:
( I'm not expecting there to be any workaround that does all of these, though if possible, that would be great. I'd drop a 200 rep bounty for anyone who can give a neat workflow that can do all of these. For the specific problem that prompted me to ask, I'm particularly interested in 1, 6 and 8: I can't find any way in the suggestions I can find to get all three of these in one method. But a workflow that's robust for most of these that I can then fight with to force in the awkward cases would be fine )
- Updates reference numbers in the document and in the endnote section automatically or by a straightforward process when you add a new endnote in the middle of a document
- Interactive cross-links in electronic PDFs and, if possible, e-books (so that clicking/prodding the appropriate number in the text takes you straight to the appropriate endnote, and clicking/prodding on the reference number in the endnote takes you back to the position in the main text)
- Works smoothly with character and paragraph styles, so you have complete control over the styles of the following elements, and can update their styles as one:
- The number in the text (character style).
- The reference number in the endnote (character style).
- The paragraph style of the endnote itself.
- Works with and without text from Microsoft Word (also welcome are separate workflows for placed Word docs that have Word endnotes, and documents created in InDesign or pasted in as plain text with endnotes then added)
- Isn't unreliable, flakey or prone to crashes when used with InDesign books (documents made of multiple linked documents)
- Supports, or, can cope with the existence of (i.e. doesn't break if you're maintaining these awkward cases manually alongside the conventional stuff) the following:
- Re-used endnotes (one endnote, multiple references in the text - e.g. in a scientific article, a paper used to support several claims)
- Ranges (e.g. there might be an endnote 3 which is only referenced in the text with a range like "2-4", where endnotes 2, 3 and 4 are supporting evidence for one paragraph)
- Doesn't need too much painstaking manual work. Imagine as a use case a book with 250 endnotes across 6 chapters with different contributing authors, ideally in different .indd files, and endnotes at the end of the book. Edits are coming in right up to the print date along the lines of, "I found a supporting reference for paragraph 16, chapter 2. Please add a new endnote that says the following...".
- Plays nicely with footnotes. E.g. imagine that, in our book, a chapter of endnotes (numbered) at the end are used for references in a references section, and on-page footnotes (alphabetical) are used for clarifications and asides.
InDesign answers would be best, but answers along the lines of "Ditch Adobe InDesign and use [genuine alternative, and not MS Word!]" are welcome. Adobe have had enough time to do something properly about this!
Ideally also, not "Simply spend weeks or months learning to code using the document layout programming language LaTeX!", though I might listen to a very compelling argument to that effect...
GREP voodoo and script snippets are absolutely welcome.
A quick guide to some existing InDesign endnote resources:
- Adobe's semi-official guide to InDesign Endnotes (a blog post). It describes a method using numbered cross-references. Flexible, but involves quite a lot of manual work and doesn't update numbers in the text as new notes are added.
- A script by Peter Kahrel that converts endnotes from documents placed from Word. Note that the script freaks out in cases like those in 6 above (I've not tested it thoroughly because I need those awkward cases, so I just get the error message "
The number of endnote references does not match the number of endnotes"). Answers explaining how to work this script into a rounded workflow are welcome.
- Another script by Peter Kahrel that converts InDesign footnotes to endnotes (basically moving them to the end and aggregating their numbering). It does so to all footnotes automatically, so doesn't work in documents that also have footnotes. I've also not tested it thoroughly (in my case, I need separate footnotes), and I can't see any way it could update numbers in the text automatically. Again, answers that involve this script as part of a workflow are welcome.
Edit: Finally, here's an article that introduces all three of the above links, plus the commercial plugin mentioned in my comment below with some elaboration. Closest thing to an answer I've found in my research.
Unfortunately the answer lays in the path of a lot of work. There's no way, right now, but Adobe (being Adobe) has demonstrated a path to achieving the result you desire through their janky system in your link:
What they're demonstrating here is that you can systematically analyse the procedures required to achieve the desired result, and break it all down to a series of steps within their software, with some degree of conditionality.
That's stuff that their scripting language, when stretched, can do.
However the best people to do this are Adobe's own staff, and they won't be doing it because they want this feature set in the full blown later releases so you upgrade and subscribe to new packages from them.
Meaning the only option is to hire someone able to do this, or find someone willing to do this speculatively.
It's a lot of work in terms of edge case scenario testing and conditional tests against all manner of others, and not something anyone would be pleased to do. But it is possible.
So, unfortunately, the answer is "No, there's no easier or more painless ways than those you've already found."
Even more unfortunate is that Adobe doesn't care to retrofit features to older versions, despite the component based nature of their software making this sort of thing possible. So there's little chance for the future of CS6 having something like a native implementation of this.
And there's no chance Adobe would make a plugin to do it. Despite recognising the problem, desire and pathway to a solution.