Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
You know face it, a lot of what we do in InDesign is tedious monkey work, you know, especially when we are having to clean up files that other people give us. I want to show you how there is a free script that comes with InDesign that can save you so much time in doing this kind of monkey work and even if you're an old, jaded InDesign user who knows all about this script, I think you're going to learn couple of new tricks that you didn't know before. So let's start by importing a typical Word document that an editor might give me for formatting in my layout.
Now this layout right now is just one-page document. It's empty. I do have some starter Paragraph and Character Styles. Now we're going to go to File > Place and find this document. I'm going to turn on Show Import Options because we're going to remove the Styles and Formatting, but preserve local overrides, which is how I recommend you import all of your Word documents unless you already have a very slick and working style-to-style relationship with your editors and your InDesign file.
If you can do that, then that saves a lot of time, but most of the time that's not going to happen. So you get rid of all the wonky Word formatting but preserve local overrides like the occasional bold and italics, so you don't have to reapply those. Click OK and we'll place it. Now let's zoom in here and see this beauty and all of its glory. As you can see they helpfully tried to align columns with multiple tabs. They did not learn the trick about using the first- line indent instead of tabbing. To create a first-line indent, they're telling us this is a very common magazine and other publishers, for the editors to put a little code when they say we give our designers coded Word files or tagged Word files.
This is almost always what they are talking about, is they say this is h1, this is a deck, this is an h3, and so on. So what else do we have here? We have instances of periods with two spaces. We have a space hyphen space instead of an en dash. We probably have a couple of dashes instead of an em dash, we have the almost ubiquitous single return, you know double space in-between paragraphs. But a few times apparently they really wanted a lot more space, and so on.
You could of course go to Find/Change > Text, search for a period space space, replace with periods space, so on. You could save these kind of queries searching for two hyphens replacing with an em dash. Let's do that really quick, do a search for two hyphens, change to, and we'll go to an Em Dash which is this funky little code here. You can save each one of these and then run the script; one right after the other, run each script. But InDesign has already taken care of a lot of this for you, in a free script called FindChangeByList.
All you do is double-click it and would you want to run it on the one story that I'm on or the entire document, all the stories? Well, we'll just say all the stories, since there is only one anyway. It got rid of all of the runs of returns whether there was 1 or 3 or 2 or 4, now there are none. It got rid of spaces in front of paragraphs, it got rid of runs of tabs. What else did it clean up? Look at over here. I love this. It found a space hyphen space pattern and replaced it with an en dash, but it left the actual hyphens intact, as they are meant to be, and replaced the double hyphens with an em dash.
Pretty slick, huh? Now what exactly are its find/changes that it's doing, and can you edit that? Well, of course you can. What this script does is it looks at a text file which is buried in this little folder here called FindChangeList.txt. This you can open in any text editor and edit as you see fit. If you have another find/change that you wanted to do, you can easily add it. If you want to remove one of them, maybe you're a big fan of space hyphen space, you can remove that, so it doesn't change those to en dashes.
To see this file and to edit it, the easiest way is just to right-click on it, so that you see the Reveal in Finder command, or if you're on PC, Reveal in Explorer, and choose it. It's actually here in your InDesign folder, inside Script, Scripts Panel, Samples, and so on. So you could also find it in your own list. Now you just double-click it and it should open up in a default text editing program. Don't let it open up in Word because that might mess it up. Use something like the Notepad or TextEdit, and TextEdit opens up here automatically in plain text format. We don't want any formatting.
Now I will let you redesign your own, but briefly let me tell you what's happening. All these lines in the beginning that start with a double slash are commented out, meaning these are not part of this script. These are like secret notes to the reader. It explains how this script works. It says it was designed for CS4. I find it interesting that they never updated it apparently. Everything that worked in CS4, still works in CS6. So that's good. Here is an example. This script will do a findWhat, find two dashes, changeTo an em dash. Remember that code that we just looked at and changed? And then it has the settings like it's supposed to do includeFootnotes, includeMasterPages.
These are all these icons here, so Include Locked Layers, Included Hidden Layers, Include Master Pagers. That's what those are all about. And then at the end, it ends with a description. So this one ends with Find all double dashes and replace with an em dash. They're more complicated ones. Here we go. So this is the existing list of everything that FindChangeByList does. It finds all double spaces, replaces with the single space. Finds all returns followed by a space and replaces with a single return, so you don't get that unwanted empty space as the first character of a paragraph anymore, and so on.
That's what it does. So if you don't want it to, for example, find the space hyphen space and change to an en dash, Find all space hyphen space, replace with an en dash, then simply double-click that, delete it or cut it and save it. Now what you might want to do though--I am going to undo--is to duplicate your FindChangeList, so that you can experiment with different settings, or at least to take the default one and save it some place. You can save it even in that same folder just give it a slightly different name.
So if you chose FindChangeList.experiment or mine or custom, then when you run FindChangeList script, it won't find that. It will only look for this one. You can edit the script, so it finds any FindChangeByList.txt script if you wanted to, but that's a little beyond what we want to do. Let me show you a couple things that you can actually add that you might not realize. For example, I am going to--well what I usually do is I just copy an existing one, either a text or a GREP and then I paste at the bottom. Let's say that we want to find all instances of lynda.com that was written with a capital L, which actually is against their brand guidelines, and we want to replace it with lynda.com, which is lowercase.
Now because we're talking about cases, we have to include case sensitive. In Find/Change, we're talking about this guy right here, Case Sensitive. But Case Sensitive is not included in any of these attributes, so we can just add it ourselves. So I am going to click right in-between here, and following the same pattern starting with a lowercase and then every word is uppercase, I'll write caseSensitive and then we want true, right? True means on, false means off, true and then I'll put a comma space.
So now I am following the patterns. Oops, you see what I did? I added the wrong one. Well, I guess it's not going to do any harm. Let's get it out of there. Cut, I want to put it over here. It makes no difference like what order you put it in, I have found, there we go. So now it's in the lynda.com one and we don't need that, we'll just delete that. I usually replace those comments with just the word comment, so you don't have to bother with that. So I'm saving my changes here. And then I'll jump over to InDesign. Now I have saved my change to the actual FindChangeList script. Let's test it.
So I'll say lynda.com and I'll just run it again, Document. Even more! Here's another cool trick. You can have it format, not just find/change, but you can apply formats, just as you can with Find/Change. Now it gets somewhat more complicated as we go. But let's say that every time that lynda.com was mentioned in the text, we want a Character Style applied to it, let's say bold. So how do you that? In the changeTo, in-between these curly spaces, this is where you add your formatting and to apply a Character Style, you type and you always end these with a comma after the quote, so comma space appliedCharacterStyle:"bold, right, it has to be exactly how it's written in the Paragraph or Characters Style.
If you are doing a Paragraph Style, you would say appliedParagraphStyle. That's all. Let's try it. Save it, come back here, let's start again. This was Lynda, right? We will run this again. Now here's an example for this particular document that I want you to take a look at. I saved it. Let me go to Open Recent > FindChangeList-custom, because I thought this is a perfect use for this.
Usually, if you are a designer and you are running Find/Changes on a Word document, given to you like this, you have to apply the h1 style here and then go through the Find/Change and delete every instance of a bracket h1 closed bracket throughout the document and you have to do that for every so tagged "paragraph", right? Well, FindChangeByList can do that for you. Here's what I did, down here. It's a regular text FindChange. You're looking for the text string h1, you want to change it to, now I started by saying nothing, but it left h1 in there.
So maybe there is some another solution, but what I did was I just replaced it with a space and we'll fix that right up, you'll see in a jiff. And then I said and apply the Paragraph Style Chapter to h1 because we don't have a style called h1, we have one called Chapter. And I did the same thing, deck should be intro2 and h3 should be Subhead. All right, so let's get these out of here and copy them to my FindChangeList. Here we go and save it, I am pressing Command+S or Ctrl+S, come back here.
Let's start again, shall we? Let's delete this, tuck you guy, tuck you over there, we will place the Word document, everything is set correctly. There it is in all of its horrible glory and now we open up the Scripts Panel and double click FindChangeByList.jsx with all of our customization. It looks like I have one little error here with Deck. I'm not quite sure, let's try and see what that was.
Oh, I didn't put a capital D, aha! Yeah, so it has to be exactly as it's written in the Paragraph and Character Styles. So I'll save, come back here, just run it again and also before I run it again, I want you to notice, remember how we replaced the found codes with a space? So now all these paragraphs start with a space? Well, you simply run the same script again, because remember one of its fixes is to remove the space that starts a paragraph. So I am going to fix it. It fixes at this time, but not this one. We can just hit Delete before the first one, there we go.
So there is our Deck and our Chapter head and the Subhead. With all the FindChangeByList, think of how much time this can save you. Check it out.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.