Footnotes and columns

The scripts described on this page deal with footnotes and columns in two ways:

  1. In a single-column text, set the notes in columns.
  2. In a text set in columns, convert the notes to column-spanning notes.

To accomplish either of these two tasks, the same three scripts are used: one script to convert the notes, another to thread notes, and a third one to update the note references at a later stage if notes are added or removed. I'll first illustrate the first type of conversion; the second type is only a slight variant.

The method described here is partly a manual method in that it requires some fiddling with text frames whenever the text changes, and it takes a script to update the note references. But although you lose some flexibility, you also gain some. For example, a clear advantage is that with these semi-automatic notes you can adjust the space between notes and text per page (when you use InDesign's footnotes, that space is a single document-wide setting).

The files

There are four InDesign files in the download and three scripts. The InDesign files can be used for practise and are the files used in the screenshots elsewhere on this page:

General method

The two types of footnote are really the same in that in both types, InDesign's footnotes are taken out of footnotes and placed in one continuous, separate, story which is threaded at the foot of the relevant pages. The footnote references are converted to normal numbers. There is therefore no longer any relation between the footnotes and their references -- but as you'll see, that's not a problem at all. Details follow.

Set footnotes in columns

You cannot set InDesign's footnotes in columns, not even in CS5 with its column-splitting paragraphs. To get columns in footnotes you therefore need to convert the notes and place them in separate text frames at the foot of the page. Laborious work, but it can be made a lot easier with a couple of scripts.

Take the following document (the first page of footnotes_in_columns). The notes are standard InDesign footnotes:

footnotes columns

To change these notes into notes in columns, run the footnotes_columns_convert script. The result is shown in the next screenshot. The script adds a tinted background to the note references so that they're easy to spot; this is defined in the character style used for the references and is intended to make the placement of the notes easier; to remove the background or change its appearance, just edit the character style.

footnotes columns

The script has moved all the footnotes into a separate story and has placed that story in one text frame at the foot of the page (that's the frame selected in the screenshot). That frame is overset: you now need to size the frame so that notes match the references and you need to thread the rest of the notes. This sounds like a drag but it's not so bad at all. I've done it a few times now and it works pretty smoothly. Anyway, the footnotes_columns_add script will make this easy. It works as follows.

First resize the note frame so that the number of notes in that frame matches the number of notes on that page. This is done in the usual way: grab the top-centre frame handle and drag the top of the frame down until note 5 has disappeared from the frame.

Now turn to the next page with notes and select the text frame that contains one or more notes. We want to add a text frame at the foot of this page and thread it to the frame that we've just resized. This is done with the footnotes_columns_add script.

footnotes columns

With the frame selected, run the footnotes_columns_add script. This will add a frame at the foot of the page and thread it to the text frame that contains the preceding notes. The script tries to fit the frame to the correct size so that the number of notes matches the number of note references, but often there's still something to adjust. The script selects the new frame so you can resize it straight away if necessary. From here on you continue until the last footnote.

footnotes columns

If the notes in a frame don't balance, as in the next screenshot:

footnotes columns

then create an empty line after, in this case, note 7. Do as follows:

  1. At the end of note 7, press Enter/Return to create a new paragraph. That paragraph will be numbered because the document thinks you're adding a new note.
  2. Open the Paragraph Styles panel. You'll see that the script has added a style that ends in _nonum. When you converted the notes, the script recognised that the document used the note style for footnotes and duplicated that style, adding _nonum to the name. note and note_nonum differ only in that the latter has no bulleted list defined in it.
  3. Apply note_nonum to the empty note 8 and you'll be left with an empty line.

(Applying a keep option to the note style is in principle a better and more elegant solution, but the note frame's vertical justification is set to Bottom, so keep options lead to bad results. Keep options could be made to work but that requires a lot of scripting which I may still do in future.)

Adding and removing notes

Adding and removing footnotes is simple. To add a new footnote, do this:

  1. If the page on which you want to add a footnote already has footnotes, then create a new paragraph between two existing footnotes and type the text. As the footnote paragraph style uses a numbered list, the note number is inserted automatically and all following numbers are updated automatically.
  2. If the page doesn't contain any footnotes yet, select the text frame and run the footnotes_columns_add script. This creates a new frame at the foot of the page and threads it into the footnote story. The frame will therefore fill with some existing notes, but a pull at the frame's top-centre handle will fix that. Add the new note as described in 1.
  3. At the place of the new footnote reference, type any number (0 will do fine) and apply the footnote reference character style to that number.
  4. Run the footnotes_columns_update script to update all footnote references. (If the number of footnotes and the number of references don't match, the script will report that.)

To remove a note do as follows:

  1. Delete the note.
  2. Delete the note reference.
  3. If necessary, delete the footnote frame (any other frames of the footnote story will remain threaded).
  4. Run the footnotes_columns_update script to update all footnote references.

Some background details

If you're not interested in the details of the script you can happily skip this section, but it may be helpful in the unlikely event (!) you run into problems.

The script that converts the notes first organises a few styles in the document:

  1. It looks at the document's footnote options and takes from there the paragraph style used for the notes, the character style for the note references, the space between the notes and the minimum space between notes and text (the latter a bit crudely, ignoring the baseline settings in the notes, but that's easy to adjust later).
  2. If the footnote options specify one of the basic styles (your localised version's equivalent of [None], [No Paragraph Style], or [Basic Paragraph]), the script creates styles on the fly.
  3. A paragraph style is added for notes that contain more than one paragraph. Since the basic paragraph style for the notes uses a numbered list, a separate style is required for any further paragraphs in a note. The name of this follow-on paragraph style is constructed by adding _nonum to the note paragraph's style name. Thus, if the paragraph style for the notes is called notes, the follow-on paragraph style is called notes_nonum.
  4. An object style is created for the text frames in which the notes are placed. Change this object style to change any aspect of the notes. An important setting in this object style is the wrap offset, which determines the space between the text and the first note.
Note: do not change the style names.

Column-spanning footnotes

In text set in columns, InDesign always places footnotes in the column in which they are cued: it's not possible to let the notes span columns or to place all notes in one of the columns. The script enables you to do that.

To see how this works, open the footnotes_span_columns file (use the INX file in CS3, the IDML file in CS4 and later). The first page, with InDesign's footnotes, looks like this:

footnotes columns

Run the footnotes_columns_convert script. The result looks as follows:

footnotes columns

The notes are collected into a single story and a frame has been placed at the foot of the page with the first note. The script created an object style footnotes_columns and applied it to the frame. The footnote frame is overset: the remainder of the notes doesn't fit and needs to be placed on the appropriate pages.

Adjust the note frame by dragging the top-centre handle (up, in this case) until note 4 fits the page, then turn to the next page. From here on, everything works as described in the section on placing footnotes in columns, above.

Version history

9 May 2015: The script was a bit unforgiving when certain styles existed in a document whose notes you want to convert. It's now more flexible in that respect.

22 March 2012: The script now starts numbering notes using the document's startAt value (previously notes were always numbered starting at 1). And it now handles different measurement units more accurately.

21 April 2011: Fixed some bugs in the convert and add scripts.

15 March 2011: Made inserting new notes a bit easier.

13 March 2011: (Re)posted.

Useful script? Saved you lots of time?

Consider making a donation. To make a donation, please press the button below. This is Paypal's payment system; you don't need a Paypal account to use it: you can use several types/brands of credit and debit card.

Peter Kahrel's paypal account

Download sample documents and scripts (~115 Kb zip-file)

Back to note page

Back to script index

Installing and running scripts

Questions, comments? Get in touch