Optical (left) margin alignment

Toby Macklin's picture

I often use Indesign's optical margin alignment feature in book settings. I like the way the right-hand margin looks with punctuation hanging out a little. But I also sometimes get en dashes (with a space on either side marking parentheses) that jut out into the left-hand margin. I'm not sure how I feel about this. Is there historical - pre-digital - precedence for it? Could you/ would you do it with a letter press for example? Interested to hear what people think.


Nick Shinn's picture

Where necessary and when economically practical punctuation such as commas, periods, hyphens, apostrophes, quotes, asterisks, copyright and register marks should be hung outside the measure on flushed right settings. Opening quotes should be hung outside the measure left.

--Howarth & Smith's New Standards for the Printed Word, Carl Brett, Toronto, 1968.

But you should never start a line with a dash, if it occurs in the middle of a sentence.

Toby Macklin's picture

Hi Nick - So I guess my question is just about those dashes. I'm quite happy with quotation marks hanging out from the left margin.

You wrote:

> But you should never start a line with a dash, if it occurs in the middle of a sentence.

This is news to me, though not something I'd ever thought about until InDesign started sticking them out into the margins and made them more noticeable. I've just now had a look at Bringhurst to see if he has anything to say on it. I don't think he does, but I did find several examples of lines starting with dashes.

Do other people on the list use this rule? I'd think it would be kind of tricky to enforce ...

Like I say I've only noticed it since I started using InDesign. And now I've grown quite used to it – I'm only thinking about it now because a proofreader of a book I'm working on brought it up.

basicframework's picture

I often wish that there was a way to "tweak" InDesign's optical margin settings. Some punctuation hangs further out than others. Obviously Adobe's made some decisions about what they think looks optically correct, but with some of the punctuation (in some settings), it seems to hang too far into the margin.

Ideally, we'd be able to set how optically far out each piece of punctuation sits -- setting a different global margin adjustment for quote marks than the adjustment it uses for a dash.

k.l.'s picture

I know the rule, and it makes sense if a dash introduces an addition to a sentence:


But sometimes it is hard to avoid a dash at the beginning of a line. Despite Tschichold and Bringhurst.

In case that two dashes contain an inclusion, I'd place the first dash at the beginning of a line even if there is some space in the preceding one -- this makes clearer that the two dashes are a pair and include something:


[removed silly suggestion]

mdeatherage's picture

Our journals use space before and after en-dashes for stylistic reasons, and we too ran into the problem of lines beginning with dashes in InDesign.

We adjusted text production so that we always have non-breaking spaces before en-dashes, and that solves the problem nicely. If you can't do it on the pre-production side, a simple InDesign script to replace (space)(your choice of dash) with (nonbreaking space)(your choice of dash) should work.

I know that in Days of Yore, some programs would not recognize the nonbreaking space as a "space" and not extend or contract it for justification or best glyph placement. I don't believe InDesign has ever had that problem.

Toby Macklin's picture

I think using a non-breaking space will be the best answer for me, until Adobe – or someone else? Any interested scripters out there? - comes up with a way of tweaking the settings as Gary suggested. Thanks for the help.

mili's picture

There are different rules with different languages. In Finnish the common practice is, that en-dash – marking an addition, quote etc – should be at the start of the line. Otherwise it can be confused with hyphen. Usually it's flush left, I have never seen it in the left-hand magrin. There are a lot of long words in Finnish (eg. saippuakauppias, a nice palindrom), so we use hyphens a lot.

Nick Shinn's picture

saippuakauppias, a nice palindrom

But not when hyphenated :-)

roles's picture

There are different rules with different languages.
In Poland the em dash, followed by a en space, is the method of marking dialogue. New paragraph with dialog en dash at the beginning of the line should always has left indent.

In case that two dashes contain an inclusion. The em dash should never be set at the beginning of the line. All dashes inside the paragraph should be set inside the line or at the end of a line.
In InDesign we f&r all 'space'^_'space' to ^s^_'space' and after that we f&r all ^s to space with NO BREAK attribute. Because of fact that the ^s has always fixed width when you justify line.

When we have dash inside the word like for example 'pre-digital' in English, we have to hyphen such word first at the dash. And in this case we need to repeat the dash at the beginning of the next line.
That’s why in such words we have to f&r all '–' to ^-^~.

InDesign hanging punctuation method is very hard to use in this case. Right margin is rather OK, but at the left margin I have to use my own patent. Before the beginning em dash in dialog paragraphs I always set ZERO WIDHT SPACE [u+200B].

The same you can do before the bulets, numerals, quotation marks and any characters at the begining of the line and at the begining of the paragraph.

John Hudson's picture

A couple of things you can do in this case:

1. If you don't want the dash to be at the beginning of the line at all, insert a discretionary linebreak after it; this will almost always cause it to jump back up to the previous line. Only if that line is too tight already will the dash be left on a line by itself using this technique.

2. If you don't mind the dash being at the beginning of the line, but just don't want it to hang in the margin, insert a discretionary linebreak before the dash, and then insert a hairspace or zero-width space.

twardoch's picture


a much better solution is to mark the space before the endash with the "No Break" attribute in InDesign. BTW, due to the French Resistance (i.e. intense lobbying of French users of InDesign), the InDesign developers team made the silly decision of defining the non-breaking space as fixed-width. For Czech and Polish, there is exceptional treating and when the text is tagged as being set in one of these languages, the non-breaking space is variable-width. I always felt it's a silly decision: non-breaking space should always be variable-width just like the normal space.


Henryk Jursz has written an excellent free script for InDesign called UseMyTypo. It's written in JavaScript and works in both Mac and Windows versions of InDesign CS and CS2. The script does tons of useful microtypographic stuff: removes double-spaces, replaces double hyphens and hyphens between digits with proper long dashes, reformats quotation marks, recognizes e-mail addresses and URLs and applies custom styles to them, replaces regular spaces with non-breaking spaces in specific situations (between digits, before one-letter words or long dashes, between digits and certain abbreviations) and finally replaces the (non-stretching) non-breaking spaces into (stretching) normal spaces with the "no break" attribute turned on.

You can download the script for free from:

Download the .zip file and place the extracted files into the Presets/Scripts/ folder inside of your InDesign folder. Then the script will become available from the InDesign Scripts palette (Window/Automation/Scripts).


twardoch's picture

I was a bit too fast. The current version of UseMyTypo allows you to automatically insert non-breaking spaces *after* specific one-letter words but not before long dashes. You need to manually run Find/Change and replace " ^>" by "^s^>" or " ^m" by "^s^m", and then run the UseMyTypo script which will replace the (non-stretching) non-breaking spaces into (stretching) normal spaces with the “no break” attribute turned on. This way, you will prevent long dashes to appear at the beginning of the line when they're preceded by a space.

I did send Henryk a suggestion to add this particular feature to his script. Perhaps he'll add it in near future.


Syndicate content Syndicate content