Hi all, I'm in the final phase of editing a scholarly book with a pretty big index. What follows is less a question than an observation: no matter where I place the \index command, there can always be unwanted side effects: foo\index{bar}: here, the entry may point to the page following the name, if the page break falls at this position. Moreover, when this is followed by punctuation or footnotes, there may be a line break between the word and the punctuation/footnote mark. Placing it at the end of a long footnote is asking for even more trouble, because there's a real risk that a page break may occur. \index{bar}foo: the book is typeset with character protrusion, and this seems to introduce additional material which can disturb line endings, so that lines before such an indexed word appear to be missing one character at the end. So this is what I observe. Working around this is possible, but painful - I have to check every page for such bad linebreaks or misplaced punctuation marks. My question then is: will it be possible, at one point in luatex development, to find a more robust solution for this? This would be wonderful, I think! All best Thomas
Am 26.06.2011 um 14:54 schrieb Thomas A. Schmitz:
Hi all,
I'm in the final phase of editing a scholarly book with a pretty big index. What follows is less a question than an observation: no matter where I place the \index command, there can always be unwanted side effects:
foo\index{bar}: here, the entry may point to the page following the name, if the page break falls at this position. Moreover, when this is followed by punctuation or footnotes, there may be a line break between the word and the punctuation/footnote mark. Placing it at the end of a long footnote is asking for even more trouble, because there's a real risk that a page break may occur.
\index{bar}foo: the book is typeset with character protrusion, and this seems to introduce additional material which can disturb line endings, so that lines before such an indexed word appear to be missing one character at the end.
So this is what I observe. Working around this is possible, but painful - I have to check every page for such bad linebreaks or misplaced punctuation marks. My question then is: will it be possible, at one point in luatex development, to find a more robust solution for this? This would be wonderful, I think!
So do I ... Below is a minimal showing both unhappy cases. Steffen ------- Anfang der weitergeleiteten E-Mail:
Von: Steffen Wolfrum
Datum: 24. Mai 2011 11:28:03 MESZ An: mailing list for ConTeXt users Betreff: where to put an \index{foo} ? ...
\showframe
\setupbodyfont[times,10pt]\setupinterlinespace[line=12pt]
\definetolerancemethod [horizontal] [MySpace] {\spaceskip3.02pt plus1.99998pt minus1.0pt\relax}
\setupalign[line,block,hanging] \setuptolerance[MySpace]
\setupindenting[10pt,yes]
\definepapersize[stw][width=14.7cm,height=22.3cm] \setuppapersize[stw][stw]
\setuplayout [width=113mm,height=572pt, backspace=17mm,topspace=17mm, header=12pt,headerdistance=6pt, footer=36pt,footerdistance=0pt, location=middle,marking=off]
\starttext
{\em Case 1: line wrap before dot}
\noindent dieses ist dabei typisch für den Bereich der Architekten- oder Ingenieurleistungen\index{Ingenieurleistungen}. Warum?
\blank
{\em Case 2: line wrap after visible space}
Bei den Grünen werden neben den beiden Fraktionsvorsitzenden, Renate \index{Künast}Künast und Jürgen Trittin ... \stoptext
On 26-6-2011 2:54, Thomas A. Schmitz wrote:
Hi all,
I'm in the final phase of editing a scholarly book with a pretty big index. What follows is less a question than an observation: no matter where I place the \index command, there can always be unwanted side effects:
foo\index{bar}: here, the entry may point to the page following the name, if the page break falls at this position. Moreover, when this is followed by punctuation or footnotes, there may be a line break between the word and the punctuation/footnote mark. Placing it at the end of a long footnote is asking for even more trouble, because there's a real risk that a page break may occur.
\index{bar}foo: the book is typeset with character protrusion, and this seems to introduce additional material which can disturb line endings, so that lines before such an indexed word appear to be missing one character at the end.
So this is what I observe. Working around this is possible, but painful - I have to check every page for such bad linebreaks or misplaced punctuation marks. My question then is: will it be possible, at one point in luatex development, to find a more robust solution for this? This would be wonderful, I think!
\index is connected to the next word or when on a line on it own as in \chapter{x} \index{x} <emptyline> text to the next paragraph concerning the character protrusion: that looks like a bug so if we can have a small example demonstrating it ... esp the disappearing character is weird (I can introduce a couple of processing modes if needed, but then you have to check if an index entry points to a word starting on a previous page. In any case, changing the default behaviour might have other side effects for existing documents.) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Am 26.06.2011 um 19:47 schrieb Hans Hagen:
On 26-6-2011 2:54, Thomas A. Schmitz wrote:
Hi all,
I'm in the final phase of editing a scholarly book with a pretty big index. What follows is less a question than an observation: no matter where I place the \index command, there can always be unwanted side effects:
foo\index{bar}: here, the entry may point to the page following the name, if the page break falls at this position. Moreover, when this is followed by punctuation or footnotes, there may be a line break between the word and the punctuation/footnote mark. Placing it at the end of a long footnote is asking for even more trouble, because there's a real risk that a page break may occur.
\index{bar}foo: the book is typeset with character protrusion, and this seems to introduce additional material which can disturb line endings, so that lines before such an indexed word appear to be missing one character at the end.
So this is what I observe. Working around this is possible, but painful - I have to check every page for such bad linebreaks or misplaced punctuation marks. My question then is: will it be possible, at one point in luatex development, to find a more robust solution for this? This would be wonderful, I think!
\index is connected to the next word or when on a line on it own as in \chapter{x} \index{x} <emptyline> text to the next paragraph
concerning the character protrusion: that looks like a bug so if we can have a small example demonstrating it ... esp the disappearing character is weird
Sure, the minimal example that I posted already twice shows exactly this case: The line before an indexed word appears to be missing one character at the end. See "Case 2" in attached example, please. Steffen ------- \showframe \setupbodyfont[times,10pt]\setupinterlinespace[line=12pt] \definetolerancemethod [horizontal] [MySpace] {\spaceskip3.02pt plus1.99998pt minus1.0pt\relax} \setupalign[line,block,hanging] \setuptolerance[MySpace] \setupindenting[10pt,yes] \definepapersize[stw][width=14.7cm,height=22.3cm] \setuppapersize[stw][stw] \setuplayout [width=113mm,height=572pt, backspace=17mm,topspace=17mm, header=12pt,headerdistance=6pt, footer=36pt,footerdistance=0pt, location=middle,marking=off] \starttext {\em Case 1: line wrap before dot} \noindent dieses ist dabei typisch für den Bereich der Architekten- oder Ingenieurleistungen\index{Ingenieurleistungen}. Warum? \blank {\em Case 2: line wrap after visible space} Bei den Grünen werden neben den beiden Fraktionsvorsitzenden, Renate \index{Künast}Künast und Jürgen Trittin ... \stoptext
Am 26.06.2011 um 21:13 schrieb Steffen Wolfrum:
concerning the character protrusion: that looks like a bug so if we can have a small example demonstrating it ... esp the disappearing character is weird
Sure, the minimal example that I posted already twice shows exactly this case: The line before an indexed word appears to be missing one character at the end.
You should try to make shorter examples ;) \setuplayout[width=6.3cm]\showframe %\let\forcecolorhack\relax \starttext This is a short sentence to check \index{test}the \tex{index} command. This is another sentence for the test\index{test}. \stoptext The problem when you put the \index command before a word is that it can end in a visible space at the end of the previous line. Wolfgang
On Sun, 26 Jun 2011 21:29:47 +0200
Wolfgang Schuster
Am 26.06.2011 um 21:13 schrieb Steffen Wolfrum:
concerning the character protrusion: that looks like a bug so if we can have a small example demonstrating it ... esp the disappearing character is weird
Sure, the minimal example that I posted already twice shows exactly this case: The line before an indexed word appears to be missing one character at the end.
You should try to make shorter examples ;)
\setuplayout[width=6.3cm]\showframe %\let\forcecolorhack\relax \starttext This is a short sentence to check \index{test}the \tex{index} command.
This is another sentence for the test\index{test}. \stoptext
The problem when you put the \index command before a word is that it can end in a visible space at the end of the previous line.
Wolfgang
Thanks, Wolfgang. Just to confirm: yes, this short test does indeed show exactly the effects I was referring to. So question to Taco: could some lua trickery somehow get around these nasty effects? Because they really make finishing a long project somewhat difficult... Thomas
Am 26.06.2011 um 22:18 schrieb Thomas Schmitz:
\setuplayout[width=6.3cm]\showframe %\let\forcecolorhack\relax \starttext This is a short sentence to check \index{test}the \tex{index} command. This is another sentence for the test\index{test}. \stoptext The problem when you put the \index command before a word is that it can end in a visible space at the end of the previous line. Wolfgang Thanks, Wolfgang. Just to confirm: yes, this short test does indeed show exactly the effects I was referring to. So question to Taco: could some lua trickery somehow get around these nasty effects? Because they really make finishing a long project somewhat difficult...
The effect is caused by \forcecolorhack and when uncomment my redefinition you can see that the output is as expected but there has to be a reason why Hans use it. Wolfgang
On 26-6-2011 10:52, Wolfgang Schuster wrote:
Am 26.06.2011 um 22:18 schrieb Thomas Schmitz:
\setuplayout[width=6.3cm]\showframe %\let\forcecolorhack\relax \starttext This is a short sentence to check \index{test}the \tex{index} command. This is another sentence for the test\index{test}. \stoptext The problem when you put the \index command before a word is that it can end in a visible space at the end of the previous line. Wolfgang Thanks, Wolfgang. Just to confirm: yes, this short test does indeed show exactly the effects I was referring to. So question to Taco: could some lua trickery somehow get around these nasty effects? Because they really make finishing a long project somewhat difficult...
The effect is caused by \forcecolorhack and when uncomment my redefinition you can see that the output is as expected but there has to be a reason why Hans use it.
the colorhack is needed to getsomething with a reference; i'll change it to a signal (let's see where that fails) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Am 26.06.2011 um 22:18 schrieb Thomas Schmitz:
On Sun, 26 Jun 2011 21:29:47 +0200 Wolfgang Schuster
wrote: Am 26.06.2011 um 21:13 schrieb Steffen Wolfrum:
concerning the character protrusion: that looks like a bug so if we can have a small example demonstrating it ... esp the disappearing character is weird Sure, the minimal example that I posted already twice shows exactly this case: The line before an indexed word appears to be missing one character at the end. You should try to make shorter examples ;) \setuplayout[width=6.3cm]\showframe %\let\forcecolorhack\relax \starttext This is a short sentence to check \index{test}the \tex{index} command. This is another sentence for the test\index{test}. \stoptext The problem when you put the \index command before a word is that it can end in a visible space at the end of the previous line. Wolfgang Thanks, Wolfgang. Just to confirm: yes, this short test does indeed show exactly the effects I was referring to. So question to Taco: could some lua trickery somehow get around these nasty effects? Because they really make finishing a long project somewhat difficult...
For the first case you describe theres is already a tracker item: http://tracker.luatex.org/view.php?id=381 Steffen
On 26-6-2011 10:18, Thomas Schmitz wrote:
Thanks, Wolfgang. Just to confirm: yes, this short test does indeed show exactly the effects I was referring to. So question to Taco: could some lua trickery somehow get around these nasty effects? Because they really make finishing a long project somewhat difficult...
you can't blame taco for that -) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (5)
-
Hans Hagen
-
Steffen Wolfrum
-
Thomas A. Schmitz
-
Thomas Schmitz
-
Wolfgang Schuster