Jump to content
You must now use your email address to sign in [click for more info] ×

Page number "anchors" in Affinity Publisher?


Recommended Posts

Perhaps the terminology is wrong for modern page layout programs, but I am wondering if Publisher has "page number anchors" in which a section of text can be associated with a page number. In other words, any page number references to that section of text from anywhere within a multi-page document will change if the text is moved to a different page.  For example, if a section of text is on page 34, a reference to that text on 76 will say  "See page 34." But if the text is moved to page 40, then the page-number reference on page 76 will automatically change to "See page 40".

We annually revise dozens of texts embedded with dozens of page number references each, and a major time-consuming and error-prone manually done task is checking these page numbers. Does Affinity Publisher had any way of updating page number references within a text? Sorry if my explanation is out of date, I haven't done page layout in decades, but I think this could be easily done back then in QuarkExpress or Adobe InDesign). 

Edited by Pauhana658
incomplete sentence
Link to comment
Share on other sites

Welcome to the Serif Affinity forums, @Pauhana658.

Yes, that capability is present, but the current implementation is cumbersome, in my opinion. It does work, though :)

You can create two small linked text frames. In the first one you put "see page " and then use the menu Text > Insert > Fields > Next Frame Page Number which will display the page number of the frame it's linked to. You then insert that second, linked frame on (in your case) page 34, pinning it to the text you want to refer to. The second frame will be empty.

You then pin the first frame (with the "see page" text) inline where you want the reference to be, so it looks like it's part of the text on that page.

Then, if the text on page 34 moves, the pinned empty text frame moves with it, and the "Next Frame Page Number" field in the other frame updates automatically.

If you need this frequently, you can even save the two linked frames as an Asset, so you can just drag it onto a page and then move the two frames to where you need them.

Here's an example file, in case it helps. There's a reference on page 1 that currently goes to page 3. If you add additional pages between them, or delete text from page two, the reference will change.

see-page-example.afpub

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

  • 2 weeks later...

Hmmm, it DOES sound cumbersome, but we're doing literally hundreds of these page number anchors each semester. Saving the linked frames as an Asset and dragging/dropping the Asset into a document is surely faster than manually inserting raw page numbers into the text and then spending hours checking each one (and still missing several incorrect numbers). Thanks for the info!

Link to comment
Share on other sites

You're welcome.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

  • 2 months later...

»You can create two small linked text frames.«

  • This means if I have several references to the same point, I have to place there a bulk of frames to reference all over my document?
  • Do you have an idea how a document workspace looks like if you have more than a few references with longer distance than two or three pages?

If this is the only solution and there is nothing to come in version 2 (a »see page x, "Text of Heading"« is required, too) the (fast and reliable) creation of e.g. a magazine with more than 10 pages a penalty for those who have to do it with »Publisher«.

Link to comment
Share on other sites

4 hours ago, NoSi said:

»You can create two small linked text frames.«

  • This means if I have several references to the same point, I have to place there a bulk of frames to reference all over my document?
  • Do you have an idea how a document workspace looks like if you have more than a few references with longer distance than two or three pages?

If this is the only solution and there is nothing to come in version 2 (a »see page x, "Text of Heading"« is required, too) the (fast and reliable) creation of e.g. a magazine with more than 10 pages a penalty for those who have to do it with »Publisher«.

You can get "See page x" already, using hyperlinks and page anchors. But that doesn't tell you where to look on page x. You can also get "see page x, 'text of heading'" if you don't mind typing the heading again.

You only need the two text-frame approach if you want "See 'Text of heading'" without the page number showing.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

The "two frame solution" might be one in a text with a few cross references. If you are writhing manuals (like me…) you have a need for very much cross references. This will lead to a "spider net alike" workspace with lines to "floating frames" that only exist because there is no variable that shows the page number or the text of of a referenced anchor. I can not believe that you really think this can be a suitable solution for this. I can see that it is currently the only option - but if it remains so, the Publisher will be virtually useless for user-friendly printed documents.

For online documents pdf is not the preferred format. There html is much better to maintain and to generate.

Edited by NoSi
Link to comment
Share on other sites

I tried around with a designer object that holds the text »see page x, "The Big Surprise"« which can be linked into the text of a Publisher file on several pages and chances are displayed there after updating. 

Generally, this works fine. To improve this concept I am looking for

  1.  "virtual frame" to use one of them as "master frame" and changes there are mirrored to all copies of it*
  2. an option to set a frame size to its content**

* → This would ease the attempt trememdeously: set a „master frame“ and use copies of it on required places in the text for printed referencing. If it is possible to do this with textframes you can link them to the anchor of the referenced position.

** If a "master text" changes in length it should not be cut off or leave space at the end because framesize does no mor fit to the originally size.

Searching the help for those functions was not successful – but it seems to me, that the (German) help is not fully up to date to the current version, because there are descriptions for settings/functions missing (not sure if they are really missing or if left out for whatever reason).

Link to comment
Share on other sites

2 hours ago, NoSi said:

I tried around with a designer object that holds the text »see page x, "The Big Surprise"« which can be linked into the text of a Publisher file on several pages and chances are displayed there after updating. 

Generally, this works fine. To improve this concept I am looking for

  1.  "virtual frame" to use one of them as "master frame" and changes there are mirrored to all copies of it

I'm not sure what you mean by a "designer object" in this context. More explanation might help, as would having a sample .afpub file.

For your virtual frame, it sounds like you might want to try a Symbol, which is possible via the Designer Persona in Publisher.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

I created with Affinity Designer a file with the text that is used as cross reference text. This can linked multiple times without hassle. Updating it updates the text in Publisher. Problem is as described a changing size of the contents.

Link to comment
Share on other sites

  • 3 weeks later...

I'd like to revive this topic.  I am using text frames as sidebars.  I would like to be able to write "page <appropriate field>" at various places in the document and have the sidebar's page number inserted.  In a text frame, I can use fields to access the current page, the page of the previous linked frame and the page of the next linked frame.  But only from inside the text frame.  There's no way to point to a text frame and say "I want to use this field of that frame".

The linked-frames workaround (which I am using) is especially aggravating when I already have a text frame (my side bar) which I cannot use as part of the workaround because there are multiple references to the sidebar so the frame linking trick doesn't work.  So I currently have text frames layered three deep: the master text frame, the sidebar, and the empty linked frame.  And it doesn't help at all that the sidebar is right on the cusp of shifting from page 9 to 10, so the size of the linked text frames containing the field has to be manually adjusted to accomodate one or two digits everywhere there's a page reference.  At least there is an overflow indicator!

The current state of fields in Publisher is weak.  Every flow of linked text frames, and every individual text frame should have some fields.  E.g., user-supplied "Title" for flows, and automatic "page number" for frames.  (And practically everything should allow user-defined, non-automatic fields.)   Every anchor should have some fields.  (For clarity, I am talking about anchors as in the Anchors panel, not transform anchors, nor curve editing nodes.)  Every anchor has a location, so it should have a "page number" field which can be inserted into text.  Anchors do have names, but they can't be use for anything other than interactive navigation (in Publisher or exported PDF).  In particular, I can't refer to one in ordinary text in any useful way.

And it should be possible to insert any field of any object into text.  Yes, very often you will want the fields of the object you are currently editing.  But not when referencing some other object or location.

Please excuse my venting.  I've just spent too much time playing with tiny invisible boxes when I am accustomed to tools that offer a more direct solution to page references.

Link to comment
Share on other sites

Honestly, I was really shocked about the "frame thing" on trying cross references. This is a technique I know from Quark 1.x and annoyed me. But this is more than 20 Years ago! I thought that meanwhile there was a development regarding to this because visible, content driven cross referencing is something needed in all forms of paper targeted publishing. In a book or magazine it is quite useless to know that in the PDF sent to the printer were hyperlinks.

This is even more surprising because of the very good implementation of index – which is just the same thing to do except that all references are collected at the end instead spread over the text. I see the challenge of reformatting if page flow changes i.e. digits of a page reference. But this is much easier to handle as in a typical text processor by breaking the text into several frames that show "overflow" instead of moving relevant content silently on the next page. 

My initial enthusiasm for the publisher has given way to a certain disillusionment, because a very important aspect for me is unsatisfactorily solved by it - strictly speaking this is not a solution, but a useless construct when living references are required in a text.

Despite the extremely attractive prices currently offered by Affinity, I am very undecided whether I should really buy the Publisher. I have bought so many products in the past that have ultimately failed to meet the requirements. And even cheap is to expensive if the product only takes space on the hard disk.

Link to comment
Share on other sites

6 hours ago, sfriedberg said:

I'd like to revive this topic.  I am using text frames as sidebars.  I would like to be able to write "page <appropriate field>" at various places in the document and have the sidebar's page number inserted.  In a text frame, I can use fields to access the current page, the page of the previous linked frame and the page of the next linked frame.  But only from inside the text frame.  There's no way to point to a text frame and say "I want to use this field of that frame".

You can get the page reference of your sidebar text frame, but you need to think of it a bit differently with Publisher's current level of function.

Say you have some spot where you want the text "see the sidebar on page xx". And you have the sidebar somewhere in your file. You will need to create a new pair of linked text frames. I'll call them A and B for this set of instructions.

In text frame A, insert the field "Next Frame Page Number". Then, Pin text frame A in-line where you want the page number "xx". You will probably need to do some baseline adjustments to get it to properly align.

Next, drag text frame B on top of your sidebar, and pin it floating somewhere in the sidebar. Note that text frame B is empty. If the sidebar moves to a different page, then the page number in text frame A will update automatically.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

  • 7 months later...
9 minutes ago, hartworx said:

Just for a genereal understanding - Will something like this not be fixable by just having a list aof anchors or markers that can be accessed in a hyperlink list?
This functionality is already present and just needs a combination of anchor and page number insert with a wildcard.

Welcome to the Serif Affinity forums.

Something like that could solve part of the problem.

Basically right now they hyperlink specifications can be either name-based (which allows for variable page numbers) or page-number-based (which allow only fixed numbers) but not both. Sometimes we need a link to a page by number, but with a variable value.

More is needed to solve a related problem, though. Consider the case where you want to say "see table 12 on page 15". It's easy to make a hyperlink that specifies the text "table 12" and links to page 15 which currently contains table 12. But that reference really needs to have the page number be variable, and the name "table 12" be variable, because another table might be inserted before table 12, making table 12 become table 13. And it would be nice not to have to find all the named references and change them, too.

 

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

I would be pretty happy to have a part of the problem fixed first. Having ancors with 1 or 2 variables especially in your case for the table anchor would fix a it then. Fixing it with one variable should not break anything in the future if a 2nd variable would be empty or simply NULL and not set.
I have not found any functionality that would make affinity scriptable or python ready to add this kind of functionality as a script. Giving at least the option to access data variables from objects would offer awesome new ways to make Master-Pages with variables.

Link to comment
Share on other sites

  • 1 year later...
On 5/18/2020 at 2:17 PM, walt.farrell said:

You can get "See page x" already, using hyperlinks and page anchors.

That's exactly what I need, but I can't see how. If I do Text -> Interactive -> Insert hyperlink, then choose a named anchor, nothing appears. I would expect to find it under Text -> Insert -> Fields -> Anchor page number, but that does not exist. Any help would be much appreciated.

Link to comment
Share on other sites

15 minutes ago, Graham Phillips said:

That's exactly what I need, but I can't see how. If I do Text -> Interactive -> Insert hyperlink, then choose a named anchor, nothing appears. I would expect to find it under Text -> Insert -> Fields -> Anchor page number, but that does not exist. Any help would be much appreciated.

You would have, for example, text that says "See page 10". You would select the text, and use Text > Interactive > Insert Hyperlink, and make it a Page link, to page 10.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

2 hours ago, walt.farrell said:

You would have, for example, text that says "See page 10". You would select the text, and use Text > Interactive > Insert Hyperlink, and make it a Page link, to page 10.

Thank you, Walt, but this is not what I wanted. Say I have an article on page 2 that mentions an article on page 10. So I put in "see page 10". OK so far. But if later, the author of the article on page 5 sends in some edits so now it occupies one more page. So the article on page 10 is now on page 11, but the link still says "see page 10". What I want is put in "see page <page number of anchor_something>" which will automatically change to 10 or 11 or whatever page that anchor is currently on.

I'm new to this, but it seems to me that this is such a common requirement it must be in any publishing programme. Heavens, even Microsoft Word does it. Insert->Bookmark at one location, References->Cross-reference at another ... simple!

Link to comment
Share on other sites

1 hour ago, Graham Phillips said:

but this is not what I wanted.

For that, you need the complex workaround using two additional text frames, with the first one linked to the second. You pin the first one inline in the referencing page, and the second one somewhere in the text on the referenced page. In the first one you insert the Field Next Frame Page Number.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

39 minutes ago, walt.farrell said:

For that, you need the complex workaround using two additional text frames, with the first one linked to the second. You pin the first one inline in the referencing page, and the second one somewhere in the text on the referenced page. In the first one you insert the Field Next Frame Page Number.

Many thanks for the help. But I think it will be simpler to just type "see page xx" and then manually change all the xx's to page numbers immediately before sending to the printer. So primitive, it would almost temp me to switch to InDesign...

 

Link to comment
Share on other sites

You're welcome.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

42 minutes ago, Graham Phillips said:

But I think it will be simpler to just type "see page xx" and then manually change all the xx's to page numbers

Even simpler: don't say 'see page xx" but try something like "continue reading here" where "here" is the link :)

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 17.7, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.7

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.