Skip to main content
Known Participant
August 15, 2008
Question

References to autonumbered figures

  • August 15, 2008
  • 10 replies
  • 1048 views
FM 7.2



1. Cross references to autonumbered figures



I insert a cross reference to a paragraph using Special>Cross Reference, followed by selecting a paragraph tag and a paragraph. This inserts a cross-reference marker in the respective paragraph.



The paragraph tag is for autonumbered figures. Here's an example of a cross reference marker:



Figure title: Figure 4. Why toads aren't as grumpy as they look.



Is it possible to get the paragraph marker name to update automatically as the autonumbering is updated?



2. Text references to autonumbered figures



In order for a text reference to the above figure to update automatically, I need to refer to the variable that contains the figure number. I'm wondering how to locate this variable.
    This topic has been closed for replies.

    10 replies

    Known Participant
    August 24, 2008
    I discovered that I can't use MIF files when working with a book, so when I wish to edit an MIF file, I'll need to write the FM file to MIF format, edit the MIF file in Word, and then open it in FM and write it back to FM format. This is a minor inconvenience. Since I'm using Windows and not Unix, I don't know how to avoid this.



    I also discovered that I can most simply locate cross references to a marker by editing the MIF file containing the marker. I change the marker in some distinct way, say by adding XXX to it, and then update the book. The cross references to the marker will now be unresolved. Once I'm done with whatever I want to do in FM, I merely go back and delete the XXX and update the book again, and the cross references will now be resolved.



    The strategy of locating cross references to a marker by deleting the marker in FM, and later restoring it by recreating it in FM, will work for spot markers but not for paragraph-tag markers due to the unique ID that a paragraph-tag marker is given by FM, as shown in the MIF file.



    In conclusion, the MIF file enables me to manage cross-reference markers and cross references in the way that I wish to. FM should be better designed to make this unnecessary, but evidently most users have higher priority requests to make of Adobe.
    MichaelKazlow
    Legend
    August 24, 2008
    Philip,

    You can edit MIF files in Frame as text. No need courting trouble in
    Word :-) Of course you can use a good text editor. However, in the
    latest version of Frame, I wonder if the text editor needs to be unicode
    compatible?

    Mike
    Known Participant
    August 23, 2008
    Thomas,



    Thank you for your ideas. I've settled on my strategy.



    I'm going to insert the first cross reference to an autonumbered paragraph using paragraph tags. But I may insert subsequent cross references to the same paragraph using the cross-reference window.



    If a paragraph is auto-renumbered (a rare event), I'm going to correct the display in the cross-reference window manually by editing the .mif files in Word using the change-all command.



    I could work in the .mif files to avoid the need to write the .fm files to .mif files, and then write the .mif files back to .fm files. When I'm done revising the document, I could convert all the files to .fm format to save disk space.



    By the way, I notice that in executing a find command on paragraph tags, the search order is not as given in the document, but as given by an internal order, which is revealed in the .mif file. I'm curious if there's a simple way to make the search order the same as the order in the document. I notice that I can copy the paragraphs to a new file. Presumably I could also reorder segments in the .mif file. But neither of these methods is convenient.



    Philip
    Known Participant
    August 19, 2008
    Van,



    Thank you for your perspective.



    The reason that I need to find the cross references for a marker is in order to maintain consistency of the document content. To illustrate, when I modify the text at a marker, I then need to maintain textual consistency in all of the places in the document where I refer to that text. The consistency is not normally textual duplication but, rather, conceptual consistency.



    This engenders a more general question that I'm going to address in a separate topic: Cross-reference notes



    Philip
    Known Participant
    August 19, 2008
    Thomas,



    I appreciate your insight into FM. However, I believe that you're arguing that a deficiency is a feature when, in fact, it's a deficiency that you've learned to work around.



    It seems to me that when FM inserts a cross-reference marker, it should distinguish between a paragraph-tags marker (a PTM) and a spot marker. FM should also give each marker a unique numeric ID, which, in fact, the MIF file shows it does. FM should match cross references to markers using the marker IDs, thereby making such matches independent of paragraph text. Given this, when the user executes the command to update references, FM should update the PTMs so that each PTM displays the latest text of its paragraph.



    Thank you for mentioning the MIF file. It provides a wealth of information.



    Philip
    Known Participant
    August 19, 2008
    > I believe that you're arguing that a deficiency is a feature

    I'm not arguing anything. I'm telling you how FM works.
    I still don't understand why you get hung up on the contents of the
    cross-ref marker, when you simply don't need to use that information.
    Since you seem to be an experienced FM user, there must be some
    issue of your document design that eludes me.

    --
    /Thomas Michanek
    Known Participant
    August 19, 2008
    Philip,

    I agree with Thomas in that you are over complicating things. In what kind of scenario would you need to find all the cross-references to a specific marker? If the cross-references are constructed correctly, then they will update correctly without your having to search for each one. If you delete a marker and need to delete all the cross-references to it, then your procedure of searching for unresolved cross-references will work, and is probably the best procedure because it gives you the chance to edit the surrounding text at each deletion.

    I think the reason Frame offers the option of viewing cross-reference markers when creating a cross-reference is that you can insert a cross-reference marker and give it content, which might make it easier for you to find in the list. So, in your case, IF you wanted to insert a cross-reference marker for the toad figure, you should name it Toads Figure, NOT Figure 4. Toads. Then it will be listed the same way no matter its current figure number.

    Van
    Known Participant
    August 19, 2008
    Regarding access to the autonumbering variable:



    I had overlooked that in your reply. That's exactly what I was looking for. Thank you!




    Regarding cross-reference markers:



    I do exactly as you say when I insert the first cross reference to a paragraph containing text "Figure 4. Toads". This causes FM to insert a cross reference marker in the respective paragraph, and the displayed text in the cross-reference dialog window is "Figure 4. Toads". The number 4 is the current value of an autonumber created by the paragraph designer.



    Now when I insert a second cross reference to the same figure, rather than using the paragraph tags, I use the display of the cross reference markers, and I choose the marker having text "Figure 4. Toads". So far so good.



    But suppose that I now add a figure prior to the toad figure, then the toad figure gets autonumbered to "Figure 5". And now when I want to insert a third cross reference to the figure, the cross-reference marker is still displayed as "Figure 4. Toads" instead of "Figure 5. Toads". This holds whether I insert the cross reference using the paragraph tags or the cross-reference markers. If I use the paragraph tags, in the tag display the text is "Figure 5. Toads", but after insertion, the marker display remains "Figure 4. Toads".



    Evidently you're telling me not to use the cross-reference marker window and to use only the paragraph-tags window. This would evidently be fine if I only needed to insert markers. But, in fact, for a given marker, I also need to be able to locate all cross references to the marker. I figured out that I can do this by deleting a marker, updating references, and then searching for unresolved cross references. So a marker associated with Figure 4 in the cross-reference display must refer to Figure 4 and not to Figure 5.



    Do you know of a better way to find the cross references for a cross-reference marker?
    Known Participant
    August 19, 2008
    > Evidently you're telling me not to use the cross-reference marker window<br />> and to use only the paragraph-tags window.<br /><br />Absolutely, yes! One of the main reasons is that you will then see the correct<br />updated paragraph text and autonumbering. The contents of the inserted<br />cross-ref marker is only used internally by FM to identify the marker for<br />subsequent cross-refs to the same paragraph. There's no reason for FM to<br />update the marker contents if the paragraph text is updated.<br /><br />In fact, in every cross-ref to the same paragraph, the initial marker contents<br />is stored for FM to be able to match the cross-ref with the correct marker.<br />If FM would update the marker contents, FM would also have to open every<br />single FM file that has a cross-ref to that paragraph, and then update the<br />cross-ref info to point to the correct marker. This is impossible, since FM<br />cannot possibly know what files contain such a cross-ref.<br /><br />This is simply how FM implements cross-refs, and there's nothing you can<br />do about it.<br /><br />> But, in fact, for a given marker, I also need to be able to locate all cross <br />> references to the marker. I figured out that I can do this by deleting a marker,<br />> updating references, and then searching for unresolved cross references. <br />> Do you know of a better way to find the cross references for a cross-reference marker?<br /><br />You would need to find a plug-in for that, or write a script.<br />You could save all files in the book to MIF format (ASCII textual format), and<br />then search those MIF files for the text of the cross-ref marker. (This is very<br />simple to do on the Unix OS.)<br /><br />In MIF, a cross-ref marker is identified like this:<br /><Marker<br /> <MType 9><br /> <MText `34126: Heading: My Heading'><br />> # end of Marker<br /><br />A cross-ref to that marker is identified like this:<br /><XRef<br /> <XRefName `Page'><br /> <XRefSrcText `34126: Heading: My Heading'><br /> <XRefSrcFile `'><br />> # end of XRef<br /><br />As you can see, a cross-ref contains exactly the same text in "XRefSrcText"<br />as the marker does in "MText". That's how FM matches the two, and that's<br />how you or a script can make the same match.<br /><br />-- <br />/Thomas Michanek
    Known Participant
    August 18, 2008
    Thomas,<br /><br><br><br />Thank you for the input, but I'm not sure that we're understanding each other.<br /><br><br><br />The names of cross-reference markers are used by the user in the cross-reference dialog window. If a marker name displays paragraph text, then the marker name should be updated, if the text changes, in order to avoid confusion in verifying old cross references and in establishing new cross references. For example, if the user wants to establish a new cross reference to Figure 5, but the marker there is named "Figure 4", the user will be confused.<br /><br><br><br />If FM doesn't update marker names that display paragraph text, this is unfortunate, but I can avoid the problem by using spot markers instead, and by giving them names that won't need to be changed.<br /><br><br><br><br />For autonumbering to be a complete concept, FM should make each autonumbering variable available for the user to use in text references. Since you didn't mention it, I infer that FM doesn't make this kind of variable available to the user. This is a design oversight.<br /><br><br><br />As an alternative, I considered doing it manually, but this requires two kinds of variable insertions: one kind of insertion writes the variable as per an autonumbering specification such as "F:Figure <n=1>" or "F:Figure <n+>", while the other kind of insertion merely reads the variable. The first kind of insertion would be used in a figure heading, while the second kind of insertion would be used in text references to the figure.<br /><br><br><br />If there is some way to do what I wish to do, please let me know. Thank you!<br /><br><br><br />Philip
    Known Participant
    August 18, 2008
    Philip,

    In my opinion, you are overcomplicating things, perhaps due to some basic
    misunderstanding of how FM cross-refs work, or what markers are.

    The easiest way to insert cross-refs is to open the Cross-ref dialog,
    select Paragraphs as the source type, select a Paragraph tag, and
    select a paragraph text. The dialog then shows the textual contents
    of the paragraphs, and you can easily select the correctly numbered
    Figure paragraph, for instance. The displayed texts show the correct
    numbering of the paragraphs, regardless of the contents of any *marker*.

    A cross-ref marker is inserted by FM in the source paragraph for any
    cross-ref(s) made to that paragraph, using the method above. There
    is no reason for you to check, use or change the contents of these
    markers, when you have access to the actual paragraph texts in the
    Cross-ref dialog.

    > For autonumbering to be a complete concept, FM should make each
    > autonumbering variable available for the user to use in text references.
    > Since you didn't mention it,

    I didn't? I thought that was exactly what I did:
    Cross-refs can refer to many aspects of a paragraph by using
    different "building blocks" in the cross-ref format definition:
    <$paratext> refers to the text (excluding autonumbering)
    <$page> refers to the page number
    <$paranum> refers to the autonumbering

    If you still think you need to use the contents of cross-ref markers,
    please explain why.

    --
    /Thomas Michanek
    Known Participant
    August 17, 2008
    1. The contents of the cross-ref marker is only used by FM internally.
    It is not updated and there's no need to update it.
    Why do you need the marker contents to change?

    2. Cross-refs can refer to many aspects of a paragraph by using
    different "building blocks" in the cross-ref format definition:
    <$paratext> refers to the text (excluding autonumbering)
    <$page> refers to the page number
    <$paranum> refers to the autonumbering

    See the manual or online help.

    --
    /Thomas Michanek
    Known Participant
    August 16, 2008
    Van,



    1. Cross references



    Thanks for the suggestion. It's not working.



    To be sure that my question is clear: Figure 4 gets renumbered to Figure 5 by autonumbering, but the cross-reference marker still reads Figure 4. Updating cross references isn't updating the marker.



    2. Text references



    By text reference, I mean that in the text I refer to Figure 4, but I want the 4 automatically updated to 5 if the figure is automatically renumbered to 5. The cross reference refers to the page number of the figure, while the text reference refers to the figure number.



    Philip
    Known Participant
    August 15, 2008
    Philip,

    1. After you insert the cross-reference, any time you update the book, the cross-references are updated also, if you check the option in the update book dialog box.

    2. I do not understand what you mean by a text reference to a figure. How does a text reference differ from a cross-reference?

    Van