Creating an index with mulitple pages for the same topic

Previous topic - Next topic


I managed to figure out how to create a table of content and an index. Manually formatting the page numbers is a pain, but I'll survive. However, I couldn't find how to have an index entry point to multiple pages with the same topic.

For example

Chicken      3,12,15
Beef           4,8,11,16,22

Any ideas ?

My naive try, behaved like a normal table of content, not very pretty... I guess I could copy/paste, sort by name and manually fix everything, but in 2017, I'm hoping there is a better solution...

Thanks for any leads.


Welcome to the forum philippe.lavoie.

Unfortunately - as of 1.4.6 - Scribus can't automatically create indexes the way you want them. Each entry has to come on its own line and individual words can't have attributes (just the frames themselves).

There have been rumblings about improved table of contents and indexes functionality for years but I have no idea if they're coming to anything.

If you are lucky there might be someone who has created a script to do what you want and is willing to share but there is no guarantee of that.


Thanks for the information,

Can 1.4.6 help with formatting the page numbers ?

What I read is that scripts only work of the text values and that any styling is lost. Maybe I should ask in another sub-forum.


(eh eh... one question per topic is generally speaking a good idea... but the sub-forums categorization is not that important : - )


on the topic:

a TOC is in the working for 1.5 (stuck at correctly applying the paragraph and character styles... otherwise somehow working)

once the TOC is there, it should not be hard to create an index... but i have no idea what is a good workflow for indexes... any idea?

also: you can format page numbers... what's the issue there?

and scripts (as in python scripts) have limited access to the formatting...
but you might want to better explain your issue there...


If you want the page numbers to be formatted differently to the text then manual formatting is the only way to go at the moment. You can set a style to be used when generating the TOC but it applies to the whole entry including both text and number.

My usual recommendation is to wait until the document is finished - or up to the point that the TOC won't change - and then re-format as necessary. Regenerating the TOC will overwrite any formatting changes in the text frame that you told Scribus to generate the TOC in so copying the generated text to a different frame would stop it from being overwritten (possibly accidentally).

One procedure you could follow would be to:
* Find the space you want to put the TOC frame in.
* Create a new layer - e.g. "GeneratedTOC".
* Create the text frame to generate the TOC in on this new layer.
* Set the TOC to generate in this frame.
* Edit your document in your "normal" layers as necessary, generating the TOC as needed.
* When you're finished editing, go back to the "GeneratedTOC" layer.
* Copy the TOC frame - Edit -> Copy.
* Go beck to your "normal" text layer.
* Paste the frame over the area where the generated TOC is.
* Set the "GeneratedTOC" layer to be not visible and not exportable.
* Edit the pasted frame - in the "normal" text layer - as necessary.

This way, you still have a way of re-generating the TOC if absolutely necessary and temporarily setting the "GeneratedTOC" layer back to visible will quickly show you what changes you need to make to the copied version.

It's a bit long-winded but it might come in useful.


Interesting approach to use layers to separate generated content from the manual changes made.


In case someone needs this type of feature. I solved it by creating a script. I started another thread with the same name and added (solved) to it. That thread includes the script. If I evolve that script, I'll also push them in that thread. Or perhaps there is a better way. Not sure, still new to Scribus.