Since your IT dept. won't allow tools from different universes, maybe they'll allow a script.
The idea is to force unused topics to print in the index. The easiest way to do that is to create a page reference for an unused topic and set its type to 'Suppress page range'.
The below script does that. In each document, if there are unused topics, the script creates a small text frame on the first page of the document and creates that page reference in there. Those frames are labelled 'Unused topic' on the Layers panel.
d = app.documents.everyItem().getElements();
function processUnusedTopics (doc, topics) {
var frame;
function getFrame () {
var f = doc.textFrames.item('Unused topics');
if (!f.isValid) {
doc.pages[0].textFrames.add ({
geometricBounds: [0,0,'10mm','10mm'],
name: 'Unused topics',
});
}
return f;
}
for (var i = 0; i < topics.length; i++) {
if (topics[i].pageReferences.length === 0) {
frame = getFrame();
topics[i].pageReferences.add (frame.insertionPoints[0], {
pageReferenceType: PageReferenceType.SUPPRESS_PAGE_NUMBERS,
});
}
}
}
for (i = 0; i < d.length; i++) {
if (d[i].indexes.length > 0) {
t = d[i].indexes[0].allTopics;
if (t.length > 0) {
processUnusedTopics (d[i], t);
}
}
}
... View more