Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jun 2005 14:24:40 +0900 (JST)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        murray@freebsdmall.com
Cc:        bmah@FreeBSD.org, src-committers@FreeBSD.org, hrs@FreeBSD.org, simon@FreeBSD.org, cvs-src@FreeBSD.org
Subject:   Re: cvs commit: src/release/doc/en_US.ISO8859-1/relnotes/common new.sgml
Message-ID:  <20050614.142440.102582593.hrs@allbsd.org>
In-Reply-To: <20050614021720.GB21692@freebsdmall.com>
References:  <20050613190330.GB12924@freebsdmall.com> <1118692905.3919.51.camel@localhost> <20050614021720.GB21692@freebsdmall.com>

next in thread | previous in thread | raw e-mail | index | archive | help
----Security_Multipart0(Tue_Jun_14_14_24_40_2005_823)--
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Tue_Jun_14_14_24_40_2005_628)--"
Content-Transfer-Encoding: 7bit

----Next_Part(Tue_Jun_14_14_24_40_2005_628)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Murray Stokely <murray@freebsdmall.com> wrote
  in <20050614021720.GB21692@freebsdmall.com>:

mu> On Mon, Jun 13, 2005 at 01:01:45PM -0700, Bruce A. Mah wrote:
mu> > If memory serves me right, Murray Stokely wrote:
mu> > > On Tue, Jun 14, 2005 at 02:26:01AM +0900, Hiroki Sato wrote:
mu> > > >  I fixed the right margin just now.  However, the footnote issue seems
mu> > > >  more complicated as far as I checked.  Generating footnotes from <ulink>
mu> > > >  is directly processed in (element ulink) by using (make page-footnote),
mu> > > >  so it may need to define a "footnote-mode" and rewrite this part to
mu> > > >  use it...
mu> > > 
mu> > > Is it OK to just put the ulink inline in parenthesis rather than
mu> > > generating a broken footnote for it?  If so, just use <ulink
mu> > > role="inline">.
mu> > 
mu> > Hmmm...I didn't know you could do that.  But I'm going to guess that the
mu> > destination of the link is going to overflow the limited space in the
mu> > table column allotted for the name of the advisory...???...
mu> 
mu> Ahh.  Turns out this was a local patch, so you can't just use
mu> 'role=inline' by default.  I have a lot of code related to ulinks and
mu> footnotes for print output available here :
mu> 
mu>   http://www.FreeBSD.org/~murray/wrsfootnote.dsl
mu> 
mu> Not sure if this will help do what you want.

 Thanks!  Yes, I think role="inline" is a useful knob but
 this is not enough in <table> because it needs more space
 for URL in the column.

 I made and attached a patch to fix table endnotes when <ulink>
 was used in the <table>.  The footnote number will be "a,b,c,..."
 (independent from footnotes in the document body) and content
 of the footnotes will be put just after the table.
 The rendered version is avaiable from
 http://people.allbsd.org/~hrs/FreeBSD/errata.pdf.
 Comments are welcome :)

-- 
| Hiroki SATO

----Next_Part(Tue_Jun_14_14_24_40_2005_628)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="table-footnote.diff"

Index: release.dsl
===================================================================
RCS file: /home/ncvs/src/release/doc/share/sgml/release.dsl,v
retrieving revision 1.7.6.1
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$Translation:.*\$ -I\$hrs:.*\$ -r1.7.6.1 release.dsl
--- release.dsl	13 Jun 2005 17:13:24 -0000	1.7.6.1
+++ release.dsl	14 Jun 2005 05:07:42 -0000
@@ -108,21 +108,73 @@
       (define bop-footnotes #t)
       (define %footnote-ulinks% #t)
 
-; disable (make page-footnote) in tgroup element temporarily.
+      (define (make-table-endnotes)
+	(let* ((footnotes (node-list (select-elements (descendants (current-node))
+						      (normalize "footnote"))
+				     (select-elements (descendants (current-node))
+						      (normalize "ulink"))))
+	       (headsize (HSIZE 3))
+	       (tgroup (ancestor-member (current-node) (list (normalize "tgroup"))))
+	       (cols   (string->number (attribute-string (normalize "cols") tgroup))))
+	  (if (node-list-empty? footnotes)
+	      (empty-sosofo)
+	      (make sequence
+		(with-mode table-footnote-mode
+		  (process-node-list footnotes))))))
+
+      ;; disable (make page-footnote) in tgroup element temporarily.
       (element ulink 
 	(make sequence
 	  (if (node-list-empty? (children (current-node)))
 	      (literal (attribute-string (normalize "url")))
 	      (make sequence
-		($charseq$)
 		(if %footnote-ulinks%
 		    (if (node-list-empty?
 			 (ancestor-member (current-node)
 					  (list (normalize "tgroup"))))
 			(next-match)
 			(make sequence
+			  ($charseq$)
+			  (make line-field
+			    font-family-name: %body-font-family%
+			    ($ss-seq$ + (literal (table-footnote-number (current-node)))))
 			  (empty-sosofo)))
 		    (empty-sosofo))))))
+
+      (define %table-footnote-size-factor% (* 0.8 %footnote-size-factor%))
+      (define %table-footnote-row-margin% 0pt)
+
+      ;; XXX: ss-seq does not work properly...
+      (mode table-footnote-mode
+	(element ulink
+	  (let* ((tgroup (ancestor-member (current-node) (list (normalize "tgroup"))))
+		 (cols   (string->number (attribute-string (normalize "cols") tgroup))))
+	    (make table-row
+	      (make table-cell
+		n-columns-spanned: cols
+		cell-before-row-margin: %table-footnote-row-margin%
+		cell-after-row-margin: %table-footnote-row-margin%
+		cell-before-column-margin: %cals-cell-before-column-margin%
+		cell-after-column-margin: %cals-cell-after-column-margin%
+		start-indent: %cals-cell-content-start-indent%
+		end-indent: %cals-cell-content-end-indent%
+		(make sequence
+		  ($ss-seq$ + (literal (table-footnote-number (current-node))))
+		  (literal (gentext-label-title-sep (normalize "footnote")))
+		  (make paragraph
+		    font-family-name: %body-font-family%
+		    font-size: (* %table-footnote-size-factor% %bf-size%)
+		    font-posture: 'upright
+		    quadding: %default-quadding%
+		    line-spacing: (* (* %table-footnote-size-factor% %bf-size%)
+				     %line-spacing-factor%)
+		    space-before: %para-sep%
+		    space-after: %para-sep%
+		    start-indent: %footnote-field-width%
+		    first-line-start-indent: (- %footnote-field-width%)
+		    (make line-field
+		      field-width: %footnote-field-width%
+		      (literal (attribute-string (normalize "url")))))))))))
     ]]>
 
     <![ %output.html; [

----Next_Part(Tue_Jun_14_14_24_40_2005_628)----

----Security_Multipart0(Tue_Jun_14_14_24_40_2005_823)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (FreeBSD)

iD8DBQBCrmoYTyzT2CeTzy0RAtA8AJ0evyMHygN7X6RXv5fkHgmPxYZTAgCfQVOM
zMe1ZXpUwIYSpCk2qbIuw7M=
=1dOT
-----END PGP SIGNATURE-----

----Security_Multipart0(Tue_Jun_14_14_24_40_2005_823)----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050614.142440.102582593.hrs>