groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] multiple EPS images placed on a page


From: Joachim Walsdorff
Subject: Re: [Groff] multiple EPS images placed on a page
Date: Sat, 18 Nov 2006 21:37:31 +0100
User-agent: Thunderbird 1.5.0.8 (Windows/20061025)

Dean,

attached is a corrected macro `t*cl', which caused the errors `multiplication overflow' and `division by zero' for long input lines. With this new `t*cl' the linelength can be more then 50 meters. You can replace `t*cl' in hdtbl.tmac or it can precede the input after loading hdtbl. Alternatively attached are two patch files, one for hdtbl.tmac in the .../contrib/hdtbl-directory, and one for hdttbl.tmac in the .../tmac-directory.

Thanks for Your bug report.
*** hdtbl.tmac  Sat Nov 18 20:52:04 2006
--- /cygdrive/c/x01/hdtbl.tmac  Sat Nov 18 20:57:56 2006
***************
*** 784,791 ****
  .    if \\n[t*b\\n[t*#]] \{\
  .      \" cell_width := cell_width * (length - 1.5*border) / length
  .      \" avoid multiplication overflow
! .      nr #* (1000 * \\n[ll\\n[t*#]] / \\n[t*b\\n[t*#]])
! .      nr $\\n[*] (\\n[$\\n[*]] - (1500 * \\n[$\\n[*]] / \\n[#*]))
  .    \}
  .
  .    \" Get cell widths without padding, spacing, and separator line.
--- 784,791 ----
  .    if \\n[t*b\\n[t*#]] \{\
  .      \" cell_width := cell_width * (length - 1.5*border) / length
  .      \" avoid multiplication overflow
! .      nr #* (10 * \\n[ll\\n[t*#]] / \\n[t*b\\n[t*#]])
! .      nr $\\n[*] (\\n[$\\n[*]] - (15 * \\n[$\\n[*]] / \\n[#*]))
  .    \}
  .
  .    \" Get cell widths without padding, spacing, and separator line.
***************
*** 795,806 ****
  .
  .    \" Check whether value is non-positive.
  .    if !\\n[cll\\n[t*#]*\\n[*]] \{\
! .      nr *h ((1000 \
!                * \\n[ll\\n[t*#]] \
!                / (\\n[ll\\n[t*#]] - (3 * \\n[t*b\\n[t*#]] / 2)) \
!                * (2 * \\n[cscp\\n[t*#]] + \\n[b/2\\n[t*#]]) \
!                / 1000 \
!                + 50) / 10 * 10)
  .      ds * \\n[*]th
  .      nr *** (\\n[*] % 10)
  .      if d nth-\\n[***] \
--- 795,803 ----
  .
  .    \" Check whether value is non-positive.
  .    if !\\n[cll\\n[t*#]*\\n[*]] \{\
! .\"  *h calculation better then before, but not good enough. 
! .\"  *h should be retuned with the same scaling indicator as $\\n[*]
! .      nr *h \\$\\n[*]-\\n[cll\\n[t*#]*\\n[*]]
  .      ds * \\n[*]th
  .      nr *** (\\n[*] % 10)
  .      if d nth-\\n[***] \
*** hdtbl.tmac  Sat Nov 18 16:19:36 2006
--- /cygdrive/c/x01/hdtbl.tmacs-s       Sat Nov 18 18:05:32 2006
***************
*** 1,4 ****
! .\" Time-stamp: <hdtbl.tmac: 18.11.2006 16:19:34 x01 - address@hidden>
  .\"   -*- roff -*-
  .ig
  
--- 1,4 ----
! .\" Time-stamp: <hdtbl.tmacs-s: 18.11.2006 18:05:30 x01 - address@hidden>
  .\"   -*- roff -*-
  .ig
  
***************
*** 574,592 ****
  .nr * 0 1
  .while (\\n[t*cols\\n[t*#]] >= \\n+[*]) \{\
  .if \\n[t*b\\n[t*#]] \{\
! .nr #* (1000 * \\n[ll\\n[t*#]] / \\n[t*b\\n[t*#]])
! .nr $\\n[*] (\\n[$\\n[*]] - (1500 * \\n[$\\n[*]] / \\n[#*]))
  .\}
  .nr cll\\n[t*#]*\\n[*] (\\n[$\\n[*]] \
                              - (2 * \\n[cscp\\n[t*#]]) \
                              - \\n[b/2\\n[t*#]])
  .if !\\n[cll\\n[t*#]*\\n[*]] \{\
! .nr *h ((1000 \
!                * \\n[ll\\n[t*#]] \
!                / (\\n[ll\\n[t*#]] - (3 * \\n[t*b\\n[t*#]] / 2)) \
!                * (2 * \\n[cscp\\n[t*#]] + \\n[b/2\\n[t*#]]) \
!                / 1000 \
!                + 50) / 10 * 10)
  .ds * \\n[*]th
  .nr *** (\\n[*] % 10)
  .if d nth-\\n[***] \
--- 574,589 ----
  .nr * 0 1
  .while (\\n[t*cols\\n[t*#]] >= \\n+[*]) \{\
  .if \\n[t*b\\n[t*#]] \{\
! .nr #* (10 * \\n[ll\\n[t*#]] / \\n[t*b\\n[t*#]])
! .nr $\\n[*] (\\n[$\\n[*]] - (15 * \\n[$\\n[*]] / \\n[#*]))
  .\}
  .nr cll\\n[t*#]*\\n[*] (\\n[$\\n[*]] \
                              - (2 * \\n[cscp\\n[t*#]]) \
                              - \\n[b/2\\n[t*#]])
  .if !\\n[cll\\n[t*#]*\\n[*]] \{\
! .\"  *h calculation better then before, but not good enough. 
! .\"  *h should be retuned with the same scaling indicator as $\\n[*]
! .nr *h \\$\\n[*]-\\n[cll\\n[t*#]*\\n[*]]
  .ds * \\n[*]th
  .nr *** (\\n[*] % 10)
  .if d nth-\\n[***] \

Attachment: tcl
Description: Binary data

Attachment: JWalsdorff.vcf
Description: Vcard


reply via email to

[Prev in Thread] Current Thread [Next in Thread]