[NTG-context] \in{hyperref}[tableref] at first char of line causes misplaced paragraph

2004-11-11 Thread Nigel King
Hi,
This has bugged me for a number of years and I have only just realised 
the exact cause. Previous requests to solve table and figure spacing 
problems are all due to this I think. Basically the hyperreference in 
the first character of a paragraph mangles the paragraph formatting.

Below is a minimum (I think) file which demonstrates the problem very 
clearly.

\setupinteraction[state=start]
\setupwhitespace[big]
\starttext
\input tufte
\startbuffer[]
\bTABLE[width=2.5in]
\bTR \bTD \input tufte \eTD\eTR
\eTABLE
\stopbuffer
\placetable
  [right]
  [tab:1]
  {A Table}
  {\getbuffer[]}
\input tufte
\in{Table}[tab:1] this paragraph does not format correctly because the 
hypereference is at the first character of the paragraph. Note that the 
spacing (before) is incorrect as well as the width.

T\in{able}[tab:1] this paragraph does format correctly because the 
hypereference is not using the first character of the paragraph.

\input tufte
\stoptext
TIA
Nigel King
___
ntg-context mailing list
[EMAIL PROTECTED]
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] \in{hyperref}[tableref] at first char of line causes misplaced paragraph

2004-11-11 Thread Hans Hagen
Nigel King wrote:
Hi,
This has bugged me for a number of years and I have only just realised 
the exact cause. Previous requests to solve table and figure spacing 
problems are all due to this I think. Basically the hyperreference in 
the first character of a paragraph mangles the paragraph formatting.

Below is a minimum (I think) file which demonstrates the problem very 
clearly.

\setupinteraction[state=start]
\setupwhitespace[big]
\starttext
\input tufte
\startbuffer[]
\bTABLE[width=2.5in]
\bTR \bTD \input tufte \eTD\eTR
\eTABLE
\stopbuffer
\placetable
  [right]
  [tab:1]
  {A Table}
  {\getbuffer[]}
\input tufte
\in{Table}[tab:1] this paragraph does not format correctly because the 
hypereference is at the first character of the paragraph. Note that the 
spacing (before) is incorrect as well as the width.

T\in{able}[tab:1] this paragraph does format correctly because the 
hypereference is not using the first character of the paragraph.

\input tufte
\stoptext
add this to cont-new.tex
\newbox\@@dlhbox
\def\dontleavehmode
  {\ifhmode\else \ifmmode\else
 \setbox\@@dlhbox\hbox
   {\mathsurround\zeropoint\everymath\emptytoks$ $}\unhbox\@@dlhbox
   \fi \fi}
and test this on all kind of docs! I'm not that sure about the patch.
The reason for this is that we cannot use \noindent or \indent and \leavevmode.
Future versions of pdftex will provide \quitvmode for this purpose, which has no 
side effects.

Hans


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
ntg-context mailing list
[EMAIL PROTECTED]
http://www.ntg.nl/mailman/listinfo/ntg-context