\in{hyperref}[tableref] at first char of line causes misplaced paragraph
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
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 -----------------------------------------------------------------
participants (2)
-
Hans Hagen
-
Nigel King