(dsssl) spanning rows/columns in tables

Subject: (dsssl) spanning rows/columns in tables
From: curt brune <curt@xxxxxxxxxxxxxxxxx>
Date: Tue, 13 Nov 2001 20:01:23 -0800
Hi,

I'm trying to create a table where some cells span multiple columns and
some cells span multiple rows.  The ASCII art layout I want is this:

	---------------------------------------------------------
	|			|		|		|
	|			|  Cell B	|  Cell C	|
	|			|		|		|
	|                       |--------------------------------
	|			|		|		|
	|	Cell A		|  Cell D	|  Cell E	|
	|			|		|		|
	|                       |--------------------------------
	|			|				|
	|			|  Cell F			|
	|			|				|
	---------------------------------------------------------
	|							|
	|		Cell G					|
	|							|
	---------------------------------------------------------

I'm targeting the TEX backend to generate PDF files.

Spanning columns works fine, but spanning rows is not working.

I'm using (make table), (make table-row) and (make table-cell) to 
create my table for a custom article title page.  An excerpt from my
stylesheet is below.

I'm having the difficulty with "Cell A" in the above picture -- see below
I have set this cell's n-rows-spanned to 3.  When I do this, however,
the output is screwy -- it results in the width of Cell A becoming
very large, crowding the other cells (B,C,D,E,F) off the page (Cell G
remains OK).  It does span three rows, though....

Is there something I'm missing? Is there another way to do this?  Is
pdfjadetex broken?  On a side note I also tried using nested tables
to work around spanning rows/columns, but pdfjadetex just spun forever
(openjade ran fine).

Cheers,
Curt


----------style sheet excerpt---------------

    (make sequence
      (make table
	table-border: #t
	display-alignment: 'center
	(make table-row
	  (make table-cell
	    column-number: 1
	    n-columns-spanned: 1
	    n-rows-spanned: 3
	    cell-before-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (do-glast-block))
	  (make table-cell
	    column-number: 2
	    n-columns-spanned: 1
	    n-rows-spanned: 1
	    cell-before-column-border: #t
	    cell-after-column-border: #t
	    cell-before-column-margin: %cell-pad%
	    cell-after-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (process-node-list pubsnumber))
	  (make table-cell
	    column-number: 3
	    n-columns-spanned: 1
	    n-rows-spanned: 1
	    cell-before-column-margin: %cell-pad%
	    cell-after-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (process-node-list pubdate))
	  )
	(make table-row
	  (make table-cell
	    column-number: 2
	    n-columns-spanned: 1
	    n-rows-spanned: 1
	    cell-before-row-border: #t
	    cell-before-column-border: #t
	    cell-after-column-border: #t
	    cell-before-column-margin: %cell-pad%
	    cell-after-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (process-node-list author))
	  (make table-cell
	    column-number: 3
	    n-columns-spanned: 1
	    n-rows-spanned: 1
	    cell-before-row-border: #t
	    cell-before-column-margin: %cell-pad%
	    cell-after-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (process-node-list supercedes)))
	(make table-row
	  (make table-cell
	    column-number: 2
	    n-columns-spanned: 2
	    n-rows-spanned: 1
	    cell-before-row-border: #t
	    ;;	    cell-after-row-border: #t
	    cell-before-column-border: #t
	    cell-after-column-border: #t
	    cell-before-column-margin: %cell-pad%
	    cell-after-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (process-node-list corpname)))
	(make table-row
	  (make table-cell
	    column-number: 1
	    n-columns-spanned: 3
	    n-rows-spanned: 1
	    cell-before-row-border: #t
	    cell-before-column-border: #t
	    cell-after-column-border: #t
	    cell-before-column-margin: %cell-pad%
	    cell-after-column-margin: %cell-pad%
	    cell-before-row-margin: %cell-pad%
	    cell-after-row-margin: %cell-pad%
	    (make sequence
	      (process-node-list title_)
	      (process-node-list subtitle))))
	)

-- 

Curt Brune       
Stanford Linear Accelerator Center
GLAST -- Flight Software Group
http://www.slac.stanford.edu/exp/glast/daq
curt@xxxxxxxxxxxxxxxxx

 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist

Current Thread