Replicants: the ability to file a document in several places

Tim, I mentioned very briefly a concept which revolves around the tag+collection philosophy that you are bringing up, but did not explain it in detail. Scrivener does in fact have something quite similar to a smart folder, the primary difference is that it is not live. You cannot reveal its contents in the Binder along with everything else (And as Eiron put, you can only search for one criteria at once, for the most part. You can do multiple keywords, but no other criteria).

A simple way of accomplishing this is to use Scrivener’s meta-data features to somehow identify each scene as being a part of a plot. Some like to use labels for this, others prefer to use keywords. I prefer keywords because that allows scenes to encompass more than one plot; useful if you have things forking or intersecting a lot.

Whatever method you choose, you can easily isolate plots by performing a project wide search for them. Say you have keyworded “Plot A”, you would use the magnifying glass icon to narrow the search down to Keywords, and then type in “Plot A”. You should immediately get a list of all scenes which are a part of Plot A, in the Binder.

Now, go back to the magnifying glass icon, and select “Save Search…” down at the very bottom. Name the search however you like, and it will become a purple folder in the top level of the Binder. In the future, whenever you double-click on this item, it will automatically perform the search again. It takes a few steps to set up, but once you have it, accessing it again is dead simple.

So in this way, you already can view plots unravelled from the narrative. My primary complaint with the method is: You can only easily view one plot-line in isolation with the rest of the Draft, since it replaces the Binder with the search result. Actually, there is a way to view a plot along with the regular Binder, but in opinion it is a little clunky. You double-click on your search. Select all search results, press Cmd-Opt-4 to create an Edit Scrivenings session out of them, lock the split, and finally close the search to return the ordinary Binder. Now you have a plot-line Edit Scrivenings session in one split, and you can do other viewing and work in the other split. It works, but it takes a bit set it up.

This has been pretty much my approach for a while now - except that I also do this with cards on the corkboard (similarly found and locked) instead of Edit Scrivenings. I then use “Selection affects alternate editor” to show the text field of a clicked card in the other split. That way I can work with all the notes of a plotline/theme etc. while actually writing in Full Screen on the second monitor.

Again, it’s a bit complicated but doable.

E

Smart folders would be frickin’ awesome, if they were easy for Keith to include. What a powerful tool for screenwriting.

Smart folders most definitely will not appear in any 1.x release. Saved Searches are there instead. Honestly, Scrivener is not going to change an awful lot in 1.x releases…

All the best,
Keith

Just wondering are there any news regarding this feature in relation to the 2.0 or later 2.x releases? I actually logged in with the intention of submitting this feature request, but discovered this thread.

Keith has stated here that it would not make it into 1.x releases, but it would be great to see it in 2.0 or a subsequent release. I think it would be a very useful feature.

2.0 will have a way of having the same files organised in different ways, yes, although this won’t be in the form of aliases, so one file still won’t be allowed to exist in two different places in the binder. But you will be able to achieve the same thing, creating arbitrary groupings of documents from anywhere in the binder, in a different way, which I’m working on right now.
All the best,
Keith

Wow, that was a truly fast reply - thank you! It is great to hear this will be possible in 2.0.

Good news. I really need the ability to make different groupings of documents without duplicating them. This sounds like it will do the job, I look forward to it.

So does this mean it is possible to do this now?

The only way I know of to do this is somewhat outside of Scrivener. I use Pandoc as the compiler for my Markdown to LaTeX so I can include inline LaTeX. This lets me use \input{filename} to include the same file in more than one place. This is especially useful when I am not sure where the content will eventually live and I want to update it in one place.

Is there a more Scrivener way to do this?

<$include>

<$include:textNameOrPath> You can use the <$include…> placeholder to have text from an external document inserted into the text during Compile. This can be useful if you have text snippets that need repeating throughout for some reason.
To insert the main text of any document in the current project, either use the <$include> tag and apply a document link to the whole tag that points to the document whose text you wish to insert, or use <$include:docName>, where “docName” is the name of the document you wish to be inserted. (Using document links is the more reliable method.)
To insert the text of an external file, either use the <$include> tag with a link to the external file, or use <$include:docPath>, where “docPath” is either the full or relative path of the document whose text you wish to insert (relative paths should be relative to the folder in which the project is stored). Note that only plain text UTF-8 files and RTF files are supported, and only the text of such files will be included (images, footnotes and comments are ignored in external RTF files that are inserted in this manner).
The <$include…> tag is only supported in the following areas: the main text; notes; title prefixes and suffixes; section layout prefixes and suffixes. You can also use it in the ebook “Description” metadata field, but only if it appears on its own.

Will that do it for you?

Mark

2 Likes

If you’re looking for the ability to see replicants at different locations in the Binder, then no, Scrivener doesn’t have this capability.

What you can do is add a document to Collections, thereby using the document’s text in locations different from its Binder location. (I believe this is what Keith’s post is alluding to, but I haven’t read this entire thread, so I may be mistaken.)

What you can also do is have text replicated in compiled output via the use of the placeholders mentioned in the post by @xiamenese.

Best,
Jim

1 Like

You could create a blank document where in the binder you’d otherwise have placed the replicant.
Name it “Yourdocument_replicant” or something like that.
Add the document you wish be replicated in this new document’s document bookmarks :
image

You’ll then be able to read, and even edit, the adaptative original document from within that new dummy/replicant document.

I deleted from the bookmark’s mirror file (on the right - bottom section) :

You can see there is one “test” that was removed from the original file as well (Left editor).


And now I add to the original file directly :

And I go back to my replicant document:

It reflects in the “replicant” document.


Ultimately, if that is something you want carried through compile, then use a placeholder like above explained.
Just put it as the sole content of the “replicant’s” body text.

image

2 Likes

<$Include> works for Compiling.

Yes, this is nice! I tested it and it can work like this:

If I have three text items in the binder like the following.

  1. Common source. Binder name of “common”. It has text but is not included in compile.
  2. Use one. Binder name of “first”. It has <$include:common>. It is included in compile.
  3. Use two. Binder name of “second”. It has <$include:common. It is included in compile.
  • After compile, the text from “common” was included in “first” and “second”.
  • After I sync with external folder, the text of each file matches what I see in the binder.
  • If I right click on the binder name of “common”, I can select to open that text file in the binder.
  • The include work happens before interpretation of LaTeX so I am free to use this in more ways than a LaTeX solution.

Thank you!

Wow this is also helpful. I can combine the <$include:common> with this document bookmark for a better writing experience. Thank you!

1 Like

Oh this is great! Thanks for the help. :slight_smile:

1 Like