is now part of CreativePro.com!

Converting Cross References to Text and Retaining the Information

5

Cross references were introduced to InDesign in 2008 in version CS4. A cross reference allows you to insert text within one paragraph that references the text in another position across the document. (Hence the term cross references, sometimes shortened to x-refs.) A typical x-ref might be: For more information see “Working with text” on page 16. In that case the x-ref picks up the text inside the referenced paragraph as well as the page number. For a quick tutorial on how to apply x-refs, see David’s article here.

However, I don’t trust x-refs once the InDesign files have been sent to my publisher. I have no idea what those folks are going to do to the files and I don’t want the x-refs getting screwed up. Fortunately the InDesign engineers thought of that and put a command in the Cross-References panel menu to “Delete Cross-Reference.” When you choose that command, an alert lets you know that the selected x-ref will be converted to text.

alert

The alert that lets you know that the text deleted cross reference will be converted to static text.

Now Adobe intended that this command would convert the variable text for a page number into static, non-variable text. So that text that referenced page 58 would be converted into a static number.

An x-ref that refers to text on page 58.

An x-ref on page 49 that refers to text on page 58.

But that’s not what happens, the text is converted to the page number that the x-ref is on (the source, not the destination).

An x-ref on page 49 is converted to static text with the wrong page number—the page number where the x-ref appears.

An x-ref on page 49 is converted to static text with the wrong page number—the page number where the x-ref appears.

I’ve posted bug reports about this problem ever since CS4 was released. But it hasn’t been fixed yet. And I recently wrote a note to several friends about this. Mike Rankin saw my note and offered a work around. I then tested his technique and came up with a few nuances. Here’s how to convert the x-refs without losing the referenced number.

First, select the text for the x-ref. You can use the Cross-References panel or just drag across the text. You don’t have to select just x-ref. You can select text around the x-refs. So, if all your x-refs are contained in one story, just select all the text in the story.

Once the text is selected, choose Type > Text Variables > Convert Variable to Text. The page number will be converted into the correct static number. Of course you’re also going to be converting variables to static text, but if you do this at the last point in production, you don’t have to worry. You might also want to save a version of the file with live cross-references as a back-up or for a future version of the project.

You’re going to get a yellow alert that the text has changed. And if you selected all the text, you’re going to get a lot of yellow alerts. Don’t update them! Just highlight all the x-refs in the panel and click the trash icon. Tah-Dah! All the x-refs are converted correctly into static text and deleted from the x-ref panel.

The yellow alerts appear in the Cross-References panel after converting the variable to text.

The yellow alerts appear in the Cross-References panel after converting the variable to text.

If your x-refs are scattered in many stories, use the x-ref panel to find/select them and then invoke the command to convert the variable. And then delete the x-ref. You can make keyboard shortcuts for both the convert variable to text and the delete x-ref commands. That makes it easier to deal with many x-refs. This technique works with x-refs to other documents or documents in a book.

Yes, it would be more painful to deal with hundreds of x-refs in hundreds of stories and hundreds of documents. And if you select all, the command to convert text variables would destroy any real text variables. But since the commands are there, you might be able to find a scripter who can automate the process.

Sandee Cohen is a New York City-based instructor and corporate trainer in a wide variety of graphic programs, especially the Adobe products, including InDesign, Illustrator, Photoshop, and Acrobat. She has been an instructor for New School University, Cooper Union, Pratt, and School of Visual Arts. She is a frequent speaker for various events. She has also been a speaker for Seybold Seminars, Macworld Expo, and PhotoPlus conferences. She is the author of many versions of the Visual Quickstart Guides for InDesign.
  • Shmuel says:

    It’s quite outrageous that a major feature is fundamentally broken in this way and Adobe hasn’t issued a bug fix for it. (I haven’t tested it myself, just going by what Sandee wrote here.) How does the current behavior make any sense at all? Why would anyone want to make all cross references in a document totally useless and incorrect?
    Adobe should fix this, and not just in CC but in CS6 as well.

  • jpannier says:

    Thanks Sandee for this workaround. Do you have an idea how to deal with x-refs placed in footnotes? Is out there maybe a script which selects every footnote?

  • I have many hundreds of x-refs in my documents. I convert these to text before sending my file of to the repro house. Luckily not individually.

    i have Cross-References PRO plugin from DTP tools. If you have live Cross-References PRO x-refs in a document then another person will need the free reader plugin to read the file*. Though I just use this plugin convert all the x-refs to text.

    In InDesign I first migrate all the indesign made cross references to Cross-References PRO. Step two is to convert all Cross References (migrated x-refs) to text.

    *Then importantly Delete All Source Markers. This negates the need for anyone else to require the reader plugin.

    Hope this helps

    b.

  • jpannier says:

    Ok. And does the DTP-plugin also check for x-refs in the footnotes? Because this is the problem with ID. You can select all the text and transform all variables to text BUT this won’t affect the variables in the footnotes.

  • Chantell says:

    Perfect for my needs in a large doc! Thank you for the time it takes to post. :)

  • >