list of Styles in a submenu somewhere

I wish that the list of named Styles appeared somewhere on some submenu in the menu system of Scrivener (tucked away as obscurely as you like) --not just on the pop-up menu on the Ruler.

The benefit should be this: Then, when I tell OS X to associate key commands for my custom Styles (as I can do through System Preferences), these key commands would still work even when the Ruler was not visible and also when I was working in full screen.

Best,
Greg

P.S. I am not interested in Styles here for any “page layout” purposes, but purely as an aid to the writing process. My current use for custom styles is to achieve a kind of visual outlining within a single Scrivener document (a function in Word I find enormously useful). It is just several defined styles with different levels of paragraph indenting. Works wonderfully in Scrivener: I get the levels of indent as a visual outlining aid and Scriv defaults to just what I want: simple doc printing shows me my levels, but exporting by default does not–so it remains an internal organizational device for writing, safely isolated from the page layout process. I would just love to be able to use this within-document outlining strategy in full screen. Hence this note.

That would be nice if it were possible. I like using styles for semantic purposes mainly, but I really dislike the appearance of the Ruler. It turns the clean Scrivener interface into a clutterbox, in my opinion. It seems a trite thing, no doubt, but having that mass of visual clutter at the top really does distract me. So I leave it off most of the time. Having style access in a menu is something I would use. I’m not sure if it is possible though? I’ve never seen it done before.

Hmmm what if there were a function that you could apply a keystroke to that would open the ruler, apply the style, then close the ruler…

I wonder if an automator workflow could be done to do this…

I am looking at better styles management for the next update. It won’t be a whizz-bang affair, as Scrivener isn’t really a big styles-type program, but I’m thinking of having Scrivener manage the styles rather than use the built-in OS X ones so that I can provide a menu item for them (there’s no way I know of to access the ones you define using the OS X text system and place them in a menu). I’d still make the system styles available, but hopefully a basic styles system in Scrivener should address some of these issues. I basically see it as a submenu of the Format menu (which will replace the Text menu in the next update), i.e. Format > Styles. In this you would be able to define a style from the current selection, rename a style, delete a style, and apply a style to the selection/paragraph etc.

Actually, I would welcome some feedback on what you would like to see in a styles system in Scrivener - but keep it simple. It wouldn’t be something that could get exported to RTF or anything else, it wouldn’t be fancy, it would just (hopefully) be a small improvement over what is already available.

All the best,
Keith

Well first I would ask you if the Style would be project specific, Application specific , or both.

If the styles are Application Specific (Meaning you can open a new Project and still have all your custom styles available) that would be very nice but the one draw back would be if you had to reinstall SCR or if the PREF file got trashed then you would have to re set up your styles. If it was Project based only then you would also have to re setup your styles.

What would be nice is if you had an SAVE/LOAD styles feature like you have with the preferences. But have it as a style SET. So you can load say your NOVEL writing “styles set” and it would replace all the current styles with your NOVEL set. Switch to screenwriting and load your SCREEN WRITING style set and it replaces your styles with “screen writing styles”

In these sets it would be nice if you had about 3 or 4 that were tied to a menu shortcut but could be edited and “saved” as a style set.

Example “Set”

Set 1
Style Title 1l (editable with Keyboard Shortcut)
Style Title 2 (editable with Keyboard Shortcut)
Style Title 3 (editable with Keyboard Shortcut)
Style Title 4 (editable with Keyboard Shortcut)

Additional Custom Style (editable no Keyboard Shortcut)
Additional Custom Style (editable no Keyboard Shortcut)
Additional Custom Style (editable no Keyboard Shortcut)

Set 2 (replaces set 1 when loaded)
Style Title 1l (editable with Keyboard Shortcut)
Style Title 2 (editable with Keyboard Shortcut)
Style Title 3 (editable with Keyboard Shortcut)
Style Title 4 (editable with Keyboard Shortcut)

Additional Custom Style (editable no Keyboard Shortcut)

And somewhere on the editor maybe have a Style Pull down? (besides being on the rules) Maybe in the Title Header or at the bottom?

If I am making any sense?

Oh no, you didn’t read the bit about keeping it simple, did you? :slight_smile: Having different style sets automatically appear depending on whether you are in screenwriting mode or prose mode is not quite what I had in mind! Besides, you should really need to use styles in screenwriting mode, as the formatting is all handled for you there.

There will be a pull-down - the ruler buttons are being replaced with a Pages-like format bar, so the styles pull-down would appear there.

The current OS X styles system isn’t ideal because to transfer them from one machine to another is hard labour. Michael Marshall Smith posted on the forums about how to do it a little while back, and it took him a lot of rooting around and scouring the internet, then a lot of frustration and trial and error. So, obviously, I would want to make that easier.

What I am thinking is something like this:

  • There would be a list of styles in a Format > Styles menu. Assigning keyboard shortcuts would be up to the user via Keyboard & Mouse system prefs.
  • There would be character and paragraph styles, differentiated in the menu by an icon (like in Word).

Hmm, and that’s about all I have at the moment. Hence the call for simple suggestions…!

Best,
Keith

I don’t code like you so I didn’t realize what I was asking was complex. Sorry :slight_smile:

As far as transferring styles from one machine to another could it be a preference file built into the project or exportable? Then the styles would be loaded from that preference? I think I am skirting into the realm of complex again (sorry :slight_smile: )

Okay, here’s what I’m thinking:

(This isn’t a massive upgrade from the OS X system, but it is a little better and will make it possible to apply keyboard shortcuts to styles…)

In the Format menu, there will be a Styles submenu consisting of the following items:

Create New Style From Selection...
---
Apply Style > [followed by list of styles]
Delete Style > [followed by list of styles]
---
Redefine Style from Selection > [followed by list of styles]

Clicking on “Create new Style From Selection” will open a sheet with a text field in which you can enter the name of the new style. Beneath it will be two check buttons - “Character” and “Paragraph”. These will determine whether the style saves only the character attributes (bold, italic, underline, font, highlight, colour ec), the paragraph attributes (indent etc) or both. If you click “OK”, the style will get saved to Application Support in a special Styles.xml or Styles.plist file which could easily be trasnferred to a different machine.

“Apply Style” would have a submenu of styles that have been created. Clicking on one would apply it to the current selection/paragraph. You could use the Keyboard & Mouse system preferences to apply keyboard shortcuts to the styles in this menu.

“Delete Style” would allow you to delete any of the styles from the submenu (with a confirmation sheet).

“Redefine Style…” would allow you to select a style and have it redefined as the format from the current selection. You would again choose whether it should be a character or paragraph style.

And that’s it… Pretty simple, really. The list of styles would appear in the format bar. You wouldn’t really be able to edit styles, and therefore you wouldn’t be able to redefine a style and have it reapplied to all text of that format across the whole project… But then, you can’t do that now, either. And I think in a program such as Scrivener, where the text spread out across numerous documents that you can’t see, applying a style sort of behind your back isn’t as good a feature as it is in a word processor where you can see all your text at once anyway.

Anyhow, that is how I’m going to implement it, I think. There would still be access to the current styles sheet for those who wanted it, too.

All the best,
Keith

I agree that Scrivener should have a simple style implementation.

My question is: would it be possible to have a simple set of styles that relate to the content structure rather than to its appearance? I.e.: headings 1-6 and maybe lists or some kind of blockquote rather than such and such typeface or font size? Just like (very) basic html.

I do need to structure my text while I’m writing it in Scrivener, and I want to turn that structure into nice-looking formatting in Mellel or in Word or Pages. Afterwards.

Regards

The OS X text system really isn’t very good at structure like that, I’m afraid. The basic styles system I implement has to rely on the text system, so would have to be character and paragraph formatting only…
I appreciate the need for structured styles, but the current text system just doesn’t allow for it. Sorry!
All the best,
Keith

Sounds good to me. SImple yet not cumbersome, easy to implement a style and yet doesn’t bog you down.
I think it keeps up with the SCR spirit of things. Keeping things simple and adaptive so writers can write instead of having to learn complex methods of formating and laying out things. It is a creative program (drafting) more so than an INDESIGN layout program after all. :slight_smile:

One question,

Would
CONVERT-Default Text Style
and
CONVERT- Compile Text Style style work in the same fashion?

Not quite sure what you mean… And actually, in the next update there is only Convert > to Default Text Style. Convert > to Compile Text Style has gone because of the changes to Compile Draft (and besides which, there isn’t much point converting the text to the style it will be changed to on Compile anyway…).

All the best,
Keith

Hi, Keith,

The plan sounds terrific to me and, of course, would enable me to have, in the editor and full-screen, the (ruler-free) key commands for defined styles that I was dreaming of. And building your own front end for styles is bound to be a boon.

Thanks for taking this up.

Best,
Greg

P.S. I guess most people still think of styles as “presentational”–as in a page-layout tool, but I see the styles in Scrivener as an writing aid–for organization and to help structure thought. So, I very much like the fact that the new system will preserve the separation between styling and presentation–by keeping the paragraph styling as a purely internal affair, which does not get embedded in compiled results.

Can’t you do what amounts to hierarchical bullet points in the OS X text engine anyhow, and change levels with tab/shift tab?

As for keyboard shortcuts - yes, yes, yes, and I think your plan is pitched about right, Keith. It removes the TextEdit bizarreness without getting all Wordy. Although, I’ve sometimes had problems defining shortcuts for submenus in the Preferences panel. OS X seems to get confused. Or maybe it’s me. Maybe the solution is in a good explanation of how it works rather than the mechanism itself.

I’m not sure about not updating formatting when you change a style - that’s kind of the point of styles, to me. Then again, if it’s a big deal to do, I can live without it.

One of the TextEdit engine’s major style failings is how you can’t see what style you’re using, so including that info somewhere would be useful, maybe at the bottom as with screenplay styles.

Wock’s first suggestion is basically what Mellel does, and it’s one of the best things about Mellel. Mellel’s pretty good for screenwriting as it happens, although it can be too accurate for its own good sometimes, coming up with page counts which differ wildly from other WPs. It’s too complicated for Scriv though I think.

On that point - I’d rather have fewer layout options than more, as a general rule. (I’m currently dealing with TextEdit’s style pains in the arse by not using formatting at all, and for me, at least, it’s not big deal). Scrivener’s strength is as a kind of meta-text editor, not a layout tool. In the same way that BB Edit does all kinds of powerful things which are great for coders, Scriv does the powerful things that writers need by displaying chunks of text structured in a load of different ways. If I need to send someone else a nice looking document, I use Pages [insert WP/layout app of choice]. Different applicaiton, different part of my brain.

Here is the big difference (as I understand it) between defined styles in, say, Word, and defined styles in the OS X text system:

a) Applying a style to selected text in Word wraps the selected text with some hidden code which thus tags that range of text with that defined style. [It gets byzantine down in the hidden realms of your Word text, b/c you can select and style arbitrarily overlapping stretches of text.]

b) In the OS X text system, applying a defined style is really just like executing a styling macro which applies a set of choices of font, indent, etc. to the selected text. No hidden code is inserted into the body of the text to permanently tag that text as belonging to a certain defined style.

For this reason, when you come back to such-and-such paragraph later, the OS X text system does not identify that paragraph as “being in the style of” the defined style you applied to it earlier. That info is just not recorded anywhere. (I have no idea how Keith has managed to do what he has done for scriptwriting. I shudder to think!)

I agree, but there are things to do with styles that are for writing, not for page layout. Here are two of them that I use:

  1. I use a series of defined paragraph styles which just differ in the amount to which they indent the whole body of a paragraph–this yields a rough and ready outlining tool in Scrivener which helps me structure my thought and organize my writing. This is enormously useful for certain sorts of writing anyway.

  2. I use scriv for at least three different writerly sorts of thing (more really, but this will do here): academic writing, “literary” writing, and as a book reader. For whatever inscrutable reason, I find quite different font and paragraph settings suited to these different sorts of pursuit–and it is for this reason enormously handy to be able to define these different style configurations and reapply them at a blink.

Best,
Greg

P.S.

I think the plan is to put the Styles submenu under the Format menu (aka Text menu), not in the Prefs panel.

Ah, I didn’t know the OS X text system did it like that. Given that styles are meant to be a way of keeping layout consistent, not just slapping on attributes quickly, it seems a bit silly, and the biggest black mark of the many the system’s already collected from me.

As I understand it, Word marks up paragraphs and stores the info - effectively - in the paragraph mark. That’s why one tiny ‘delete’ can inadvertently and infuriatingly reformat vast amounts of text.

I’d agree that indents and fonts should certainly be part of a style. If you don’t mind having bullets, the list function in OS X text will do exactly the kind of indenting you’re talking about, and you can shift up and down levels with tab/shift tab. It’s exactly the same as Word’s outliner with the maddening formatting switched off

I guess including default fonts and pars in project preferences would be another way to do the different kind of writing fonts/paragraphs. Not that I’m suggesting Keith take on yet more work, or there’s anything wrong with using styles for them. Just… it would be another way to do it.

Re the Prefs - the styles will be in a Scriv menu, but defining short cut keys will be done using the Prefs panel, as I understand it. Which is fine, as long as someone explains in such a way even I can understand.

I have to say that in 15 years of word processing I have never, not once, used styles. In all the academic, fiction and newspaper review writing I have done, I have never had need of them. Thus, I am not really the person to implement a decent styles system. :slight_smile: Greg is right in his analysis of the differences in the way Word handles styles and the standard OS X text system handles them. This isn’t necessarily a black mark against the text system, though. They could be implemented in the text system as is - it’s just that the standard styles system that Apple provides isn’t up to much. You can define custom attributes for text in the text system - that is how footnotes and annotations work in Scrivener. So, you could assign a style attribute to arbitrary ranges of text that you could then look for when updating styles and so on.

That said, I’ve no intention of implementing such a system myself. It veers into the word processing end of things too much for me, and like I say, I never uses styles. A simpler system - such as I am implementing - that just allows a quick way to apply preset formatting to the current paragraph or selected text is more up my street… If I implemented a true styles system I would soon have users demanding to know why their styles weren’t getting exported with the text to Word or Pages, and then I would be in trouble. :slight_smile:

All the best,
Keith

Ah, now I get the suggestion. I had not played with that lists function heretofore.

The down side to co-opting it for an outline/structuring tool, as I see it, would be that lists compile into one’s RTF as list items which means that the structuring you do with your text would not remain internal to scriv–but end up as numbered or dashed items in Word. In short, lists are totally tied into layout all the way. (There might be a way to get around that draw back, but I didn’t spot it in my quick look around.) The simple indenting I get with styles are not, because Compile takes charge of the indent (or not, at your option)–which is rather ideal.

Thanks,
Greg

Outside of screenwriting, I haven’t either, much. I think they’re of most use for long, multi-section formal academic and technical writing, and I the simplicity of clean unformatted text is best if you’re passing copy to layout or web apps, as I do professionally.

But, if you’re going to use them, then being able to update, say, the line height in all your ‘body’ style with a couple of clicks is one of their main advantages. As I say though, the big problem with the OS X text engine approach is the absence of keystrokes, closely followed by not really being able to delete them or see what’s applied to what, which your approach avoids. It’s more about making it a bit easier to get at what’s already there; a similar philosophy to Bean, which is really good apart from its text rendering.

And I quite see your point about managing users’ expectations. Personally in your place I’d take the hard core ‘text only and live with it’ approach, but I genuinely applaud your willingness to add stuff. Just… no bloat…

Hiya KB

(a) Yes to some simple paragraph which can incorporate character styles, and character styles.

(b) Yes to keyboard short cuts.

(b) Can the styles have a “next style” component built in so that e.g. a style which is a head will automatically switch to an appropriate body text style for the next paragraph (unless over-ridden, of course)?

Cheers, geoff :mrgreen: