Adobe InCopy Workflow Issues

With all the benefits that come with using Adobe InCopy to edit text for InDesign, one may wonder why some workflows are not centered around its use. This is especially true, now that InCopy is included with Creative Cloud.

One reason might be that it is generally believed to be designed specifically for design-first workflows where copy is written to fit the constraints of a pre-determined design.

Not Just for Design-First Wiorkflows

Contrary to the idea that InCopy works best with Design-First Workflows, is the fact that one of the strengths of the InCopy/InDesign workflow is its flexibility. There are actually any number of ways a workflow can be put together. With a little imagination, you can customize how they work together, seamlessly, to fit just the way you want to work.

On top of this there are the well-known advantages:

Powerful Text Formatting. The big benefit for using InCopy is that it uses the same text engine as InDesign. This means that in addition to having the benefit of InDesign’s powerful text formatting features, what you see in InCopy will be what you get in InDesign.

Collaborative Workflow. When an InCopy document is placed in an InDesign document it retains its link to the original, allowing a two-way collaborative workflow between designer and editorial.

Copyfit Information. Stories can be written (or edited) to fit the needs of the final document, or tagged with copyfit information to aid in planning the final document.

Scriptability. As with InDesign, InCopy’s dictionary is exposed to scripting. Just about anything you can do in InCopy can be done with a script. This means that you may design a workflow in which your editors will need to learn little more than a few keyboard shortcuts.

Workflow Solution For Third party Text Editors

Today more and more publishers are relying on outsourced collaborative workflows. With this comes the possibility of text being submitted in any number of application formats, most notably Microsoft Word, TextEdit, or Apple’s Pages.

For this workflow, you will want the submitted text files to be placed in a common folder, perhaps DropBox or other network service. The ideal way to work with these documents is to use an InCopy template to create the document into which the text file will be placed. The template defines column width and text styles so styling and text fitting can be accomplished with little additional work on the part of the editor. The following step by step illustrates:

Create an InCopy Template

  1. Create a document in InCopy using a preset that defines the column width for the final document. You may use an arbitrary, but easy-to-use number such as 10 inches for the text copy depth.
  2. Import text styles (and table styles if used) from your publication’s stylesheet. (More about stylesheets in a later blog.) Save the document using Save Content As, and save as an InCopy template. Place this template in a protected location on user’s computers.
  3. Create a Script to automate placing the Third Party Text File

InCopy Script

The following script outline can be used as a starting point for your own PlaceTextFile script. The script relies on the InCopy template having paragraph and character styles established for text styling. Paragraph styles that have a next style established are in a named paragraph style group defined by the variable styleGroupName. With the template created and saved in a specified location, we can use the following.

   (*Establish variables*)
   global styleList
   global myStyleGroup
   set styleGroupName to "Crossroads"
   (*Define default location from which to choose the text file for editing.
   The following uses a folder inside Dropbox. Change this as needed for your setup.*)
   set parentPath to (path to home folder from user domain) as string
   set folderPath to parentPath & "Dropbox:ArticleSubmission"
   set dLocation to folderPath as alias
   (*Have user select the file to edit from this location*)
      set textFileRef to choose file with prompt "Select file for editing" default location dLocation
   on error
      display alert "User Cancelled"
   end try
   (*Define where template is located. The following uses a template named 2Column.icmt in a folder named Templates inside the application folder for InCopy. Again, change this as needed for your setup.*)
   tell application "Adobe InCopy CC 2014"
      set appPath to (file path as string)
      set templatePath to appPath & "Templates"
      set templateAlias to (templatePath & ":" & "2Column.icmt") as alias
   end tell
   (*Create a new document using the template. See docFromTemplate handler below*)
   set {docRef, styleList} to docFromTemplate (templateAlias, styleGroupName)
   (*Place the text file chosen into the document. See placeStory handler below*)
   placeStory (textFileRef, docRef)
   (*Style the text if styling chosen. See styleStory handler below*)
   if length of styleList > 0 then
      set chosenStyle to getStyleListChoice ()
      if chosenStyle is not missing value then
         styleStory (docRef, chosenStyle)
      end if
   end if
   on docFromTemplate (templateRef, styleGroupName)
      tell application "Adobe InCopy CC 2014"
         set docRef to open templateRef
         tell docRef
            set myStyleGroup to paragraph style group styleGroupName
            set styleList to name of every paragraph style of myStyleGroup
         end tell
      end tell
      return {docRef, styleList}
   end docFromTemplate
   on placeStory (textFileRef, docRef)
      tell application "Adobe InCopy CC 2014"
         set storyRef to story 1 of docRef
         tell insertion point 1 of storyRef
            place textFileRef
         end tell
      end tell
   end placeStory
   on styleStory (docRef, chosenStyle)
      tell application "Adobe InCopy CC 2014"
         tell docRef
            set storyRef to story 1
            set thisStyle to paragraph style chosenStyle of myStyleGroup
            set textRef to (object reference of paragraph 1 of storyRef)
            set paraCount to count of paragraphs of storyRef
            repeat with i from 1 to paraCount
                set applied paragraph style of paragraph i of storyRef to thisStyle
                set nextStyle to next style of thisStyle
                set thisStyle to nextStyle
            end repeat
         end tell
      end tell
   end styleStory
   on getStyleListChoice ()
      set chosenStyle to choose from list styleList with prompt "Select Text Styling" without multiple selections allowed
      if class of chosenStyle is list then
         return item 1 of chosenStyle
         return missing value
      end if
   end getStyleListChoice

Script Modifications

If your publication uses more than one column width you may wish to have a template for each situation. In this event, you will want to give your user the option of choosing the template from which the document is created.

Assign Keyboard Shortcut

Assign a keyboard shortcut for the script (Option+Shift+D suggested). You may also want to assign a keyboard shortcut to a script that cleans the text of double spaces, tab indents, double hyphens, and so on.

Now, all the editor needs to do is key in the shortcut to have the script open the template and create the document. Next, the editor chooses the file to edit from the list of files presented.

With the file placed, the user now selects styling for the story from the list of styles presented.

The text is edited and checked for spelling (Command+I).

For the final check, it is advised that the user switch to Layout view (Command+L). Here it is easy to see how story will look and determine its length.

The user can then save the story as an .icml file using the story length as part of the file’s naming convention.

Onward and Upward

Now that you have an overview of working with InCopy, you might want to explore some of its more esoteric features:

Glyph panel (Type > Glyphs) For all those special characters that are hard to find on the keyboard
Document setup (File > Document Setup) To change column width and text depth for copy fitting information.
Notes (Notes menu) Create, alter, or delete note, convert text to note, and more.