New user here. Using Scribus 1.5.6.1 for small 16 - 24 pages newspaper and wondering if anyone has a solution to producing automatic jump-lines, that is, when linking text frames to another page, inserting that page number dynamically as a footer to the origin text like "Continued on page 15"?
I have no experience in writing multi column newspapers but as a theoretical exercise my immediate thought is to write the origin column foot note in textframes as ..
"Continued on page %VAR_jump01%"
Repeat for other column jump lines in textframes
%VAR_jump02%
%VAR_jump03%
but of course you can use your own indexing system after the prefix %VAR_
Next create an external csv containing a table of jump lines (as documented in ScribusGenerator python script).
When you now run ScribusGenerator.py in Scripter the variables will be expanded to be the values in your csv file (which you can create just before publication when you know the final binding).
It's not available as an application feature - but you can write a script to automate it ..
This is not really 'beginner' territory - but it's a reasonable introduction to scripter capabilities:
- Open your scribus document ..
- Select the head text frame in the story
- Open scripter console and do something like this:
# you can be more defensive, exit if a text frame is not selected etc.
currentFrame = getSelectedObject()
lastFrame = getLastLinkedFrame(currentFrame)
pages = scribus.pageCount()
# textOverflows() doesn't work as I expected - it always includes the linked frames ?
# while (textOverflows(currentFrame,1) == 1) .. always 0
# so cheat ...
totalTextLength = len(getAllText(currentFrame))
currentTextLength = len(getText(currentFrame))
# while there are more linked frames and a jumpline frame
while ((currentTextLength < totalTextLength) and (currentFrame != lastFrame)) :
nextFrame = getNextLinkedFrame(currentFrame)
jumpPage = currentPage()
while (jumpPage < pages) :
# find page which has the next frame in the chain
if nextFrame in getAllObjects(ITEMTYPE_TEXTFRAME, jumpPage) :
jumpLineText = "continues on page " + str(jumpPage+1) + " in frame: " + nextFrame
print(jumpLineText)
break
jumpPage+=1
# end while
# should check it's actually on another page
# Add a jumpline frame to current page (x,y,width,height) - my doc is in mm, calc the xy from the size of the current Frame or margins
jumpLineFrame = createText(10,260,60,10)
setText(jumpLineText, jumpLineFrame)
# go to the page where the next frame was found, select the next frame, and continue adding jumpline frames
gotoPage(jumpPage)
deselectAll()
currentFrame = nextFrame
currentTextLength += len(getText(currentFrame))
selectObject(currentFrame)
# end while
You can harden that as a python script, make it more generic (look for any linked text frame) and then run it on whatever files you like when you have a new edition