Create placeholders for character names, places, etc.


The software is fantastic and this is a small idea to do a little better.

I need make “placeholders” for example for character names, places, etc.

For example, i want to make a placeholder called “main character” and replace this placeholder anytime by a real name (“Barak Obama”, “Michael Jackson”, etc). If i want to change the name of this “main character” i only need to change the value of the placeholder… and the name change in all the book.

Or for example, a placeholder called “main city” and replace it at any time by a value “New York”, “Texas”, etc.

Thanks :wink:

Sorry to sound naive, but what does this add to the existing “Global Find & Replace” feature? (cmd-F, enter “main chacter” and “Barack Jackson” then select “Entire Document” and “Replace All”)?

I have to agree with brookter – though I am also reminded of the story of an author who had written a novel in which the protagonist’s name was David. Rather late in the day they decided to change the name to Harvey, and did so by using a global find and replace. It was only after they had sent the MS off to the publisher that they remembered they had made a passing reference in the text to Michelangelo’s … Harvey???

Cheers, Martin.

Search and replace seems the obvious answer to me too (maybe combined with collections that search for the placeholder names).

But, given that you’d need to add placeholders for both the first name (for those times you just refer to the characters first name) and full names (for those times…), it seems easier to just make a decision beforehand.

You could use Compile’s replacements for this, too. So, you could use <$mainchar> or [mainchar] or whatever during the writing, and then have this replaced with the name you decide on during the Compile routine. However, I can’t help feeling that this would hinder the writing process: “[mainchar] saw his [bestfriend]'s body, cried out to [deity] and held [loveinterest] tightly, vowing vengeance against [villain].” :slight_smile:

Keith saw his David’s body, cried out to Ioa and held Julia tightly, vowing vengeance against Lee?

My David, my David!

You’d have to have three or more strings per character too…

[MainChar_Firstname] (Nicholas)
[MainChar_Surname] (Scott)
[MainChar_abbr.nickname] (Nick)
[MainChar_Full.Title] (DI)
[MainChar_Casual.Title] (Detective)
[MainChar_he.she] (he)
[MainChar_his.her] (she)
etc, not to mention all the problems with capitalisation, and names / places beginning wih vowels (a vs an) or ending with an ‘s’ (Nick’s vs Nicholas’)

[MainChar_Full.Title] [MainChar_Surname] entered the room and saw [PrimeSuspect_Firstname] [PrimeSuspect_Surname] sitting in a comfy chair with [PrimeSuspect_his.her] hand against [PrimeSuspect_his.her] head. [PrimeSuspect_Firstname] looked up slowly.
“You found me, [MainChar_Casual.Title],” [PrimeSuspect_he.she] said.
“It wasn’t easy,” [MainChar_abbr.nickname] replied. “For one thing, [PrimeSuspect.flatmate_Firstname] said you were at work. Luckily I never trust a [PrimeSuspect.flatmate_bigotted.stereotype.label].”
[PrimeSuspect_Surname] crinkled [PrimeSuspect_his.her] forehead into a deep frown. Why could no-one see past [PrimeSuspect_his.her] flatmate being a [PrimeSuspect.flatmate_bigotted.stereotype.label]?
“You’ll regret that, [MainChar_Firstname],” said [PrimeSuspect_Firstname] and slowly pulled a [MurderWeapon] from behind the chair cushion.

To save you interpretting:

DI Scott entered the room and saw Lucy Bryant sitting in a comfy chair with her hand against her head. Lucy looked up slowly.
"You found me, Detective,"she said.
“It wasn’t easy,” Nick replied. “For one thing, Jason said you were at work. Luckily I never trust a man whose eyebrows meet in the middle.”
Bryant crinkled her forehead into a deep frown. Why could no-one see past her flatmate being a man whose eyebrows meet in the middle?
“You’ll regret that, Nicholas,” said Lucy and slowly pulled a non-stick omelette pan from behind the chair cushion.

I’m fond of using as placeholders words like SQUID. Assuming I’m not ever mentioning sea life, of course. And by using all caps, it allows me to both see in as I scroll through/look at printout, but also to do a match-case-search just in case someone referenced squid.

I don’t even have to keep a list anymore, because I only use it infrequently, and usually get a name sorted out long before submission would be required. Still you could do that just as easily:
Protag is PROTAG
Villain is ANTAG

With Scriv’s name generator (at least, the Windows one), I don’t get quite as thrown by the whole naming thing now.

Hope this helps!

I plan to rename a character in my current novel (once I finish the first draft in the far, far distant future). My plan of attack is simple, and tedious, but I know I won’t accidentally replace the wrong strings, or miss many typos or shortened nick-names. Or oblique references for that matter.

I’m going to use a saved search on her proper first name. Then I’m going to take a snapshot of every file that shows up, followed by a slow slog through the text. every instance that I find, I’ll examine to make sure that I’m changing Sue to Veronica, instead of pursue to purVeronica, and also the surrounding text, in case I had another character call her Susanna or Susy. When I come across such nick-names, I’ll create new saved searches for them, to be examined once I’m done with my first pass through the “Sue” search. As I complete each document’s conversion, it will disappear from the saved search, until I’m done, but if I miss an instance of her original name, I’ll know it.

Of course typos may not be caught the first time through, but that can wait until a later proofreading.

A lot more work than using tokens? Maybe. But I think that names are important enough to warrant that kind of examination, if for no better reason than how they shape character interactions. One of my other characters may turn out to be an Elvis Costello fan, so Veronica may get a tongue-in-cheek serenade using that song in a later edit, instead of Tommy Tolleson’s “A Gal Named Sue”. A search-and-replace can’t help me if I’ve tied my character’s name to some other reference.

Global search and replace is all fine and good but I think that being able to designate character/place names as variables could provide more benefits than just changing names:

  • autocompletion for quick entry and no typos
  • automatic usage tracking (instead of tagging, etc.)
  • ability to read the text flow with a name instead of a search-formatted placeholder
  • easy housekeeping (no forgotten placeholders)
  • meta-data association (profiles, etc.)

I’d like such a feature since I don’t like getting stuck with naming and I don’t like using in-text kludges as placeholders.

I can imagine sending off scenes like this to my critique group and having them turn it into Scrivener Mad Libs. :wink:

In my opinion this would be a very neat feature - the same as naming variables in a programming language, or defining new commands/macros in LaTeX. Global search and replace is not the same, because of the potential errors it may introduce, just like in the example above.

Two variables for each character should do the trick in most cases: $char_firstname and $char_lastname. That would cover the separate use of the first and last name, as well as the use of the full name.

This is exactly what I came to the forums to ask. I am writing a screenplay and wanted to change a character’s name. I figured it should be a simple thing thanks to the screenplay formatting, but alas…

Definite agreement with Robert and Pigfender. My MC has the name he introduces himself with, but different characters address him differently (at least 8 variants), and how characters address him may change over time–as they become more familiar, they may use a more familiar name. Same is true for other characters–different characters use different names for them.

By the time you list all the variants and consider the possibility of unintended consequences of global search and replace or the possibility of cases where you used variant-1 when you wrote the passage but given other changes in the text, variant-2 would be more appropriate and you have to do that translation in your head as you’re editing and you get confused about which is which and seeing it on the screen vs. translating in your head is different and tags instead of the real name affect your word count or character count and… I think another round of editing focused on the issue of the character’s name won’t hurt, both to ensure the names are right and because you might find something else you missed.

This never happens. I’m framing this.

There is Edit->Find->Project Replace. Before you do that, I recommend that you expand and select every file & folder in your Script, and go to Documents->Snapshots and choose an option.

Seems to me – could be wrong; memory’s a fickle mistress, getting fickler and less mistressy every day – there was a time when this sort of thing could be accomplished without Scrivener. I mean, without a computer. No, make that without text-analyzing-and-organizing-and-coordinating-and-general-fixing-up software.

But then, not that many novels were being written thirty or forty years ago.

Or if they were, writers took pains to give character’s suitable names right away. That, or they stayed with unsuitable ones… I mean, would you leave a character stuck with “Dashwood” for a whole novel if you could sort it out pushing a few buttons? Or use “Tulkinghorn” and “Turveydrop” …in the same book?

No, this business of character naming needs a great deal more careful thought. Analysis. Interpretation. Balance. And it needs to be done back at the beginning, not half-way through.


CRAZY talk!!!

Thread necromancy! As explained back in December 2011, this can be done with Compile’s replacements feature - something not yet available on Windows, but which will be coming.

All the best,