Hi,
We need this feature so I took a look and come up with a patch.
I only modified the translate() member function in class
Table(AbstractBlock). This change along seems to fix the problem for us.
Could you take a look? My modification checks the row span of the first row
and include that many rows as header rows.
There is another translate() in class Tables(AbstractBlocks) that split
header rows using a different mechanism. As it does not seem to be related
to options="header" handling and I don't understand the purpose of that
function, I'm not touching it.
Yung-ching
On Wednesday, February 18, 2015 at 11:32:23 AM UTC+8, Lex Trotman wrote:
>
> On 18 February 2015 at 03:58, russurquhart1 <[email protected]
> <javascript:>> wrote:
> > Hi,
> >
> > I understood, and have applied the header style to the cell. But when i
> > generate the DocBook output, those cells with the header style are not
> > enclosed with a thead element, i.e. there is not a header row.
> >
> > Is there a way to get the header formatting for this, and also get those
> row
> > in the thead element?
>
> I don't think so. The Asciidoc syntax has no way of specifying how
> many rows to include in the thead element, so it includes one only.
> This http://asciidoc.org/userguide.html#X74 does explicitly say "the
> first row".
>
> So the only way of handling rowspans in the header is to manually
> style them like the header without including a thead element.
>
> Multi-row headers would be a nice addition, patches or pull requests
> welcome :)
>
> Cheers
> Lex
>
> >
> > On Tuesday, February 17, 2015 at 10:24:03 AM UTC-6, Lex Trotman wrote:
> >>
> >> On 18 February 2015 at 02:58, russurquhart1 <[email protected]>
> wrote:
> >> > Hi,
> >> >
> >> > This works in part but i think there may still be an issue.
> >> >
> >> > When i have the following:
> >> >
> >> > .Interrupt Vectors and Priorities
> >> > [width="100%"]
> >> > |====================
> >> > .2+.>|Vector 2+^|+++<u>Absolute Address (hexadecimal)</u>+++
> >> > .2+.>|Hardware
> >> > Priority .2+.>|Description
> >> > ^|VMAP = 0 ^|VMAP = 1
> >> > |RESET |00{nbsp}0000 |3F{nbsp}FFCO | 1 (highest) | Reset
> >> >
> >> > The cells in the top two rows, which i would like to have contained
> in
> >> > my
> >> > header row, are aligned properly, with the VMAP = 0 cell and the VMAP
> =
> >> > 1
> >> > underneath the Absolute Address (hexidecimal) cell. But the row is
> not
> >> > bold/strong.
> >> >
> >> > When i do the following, as you suggested:
> >> >
> >> > .Interrupt Vectors and Priorities
> >> > [width="100%",options="header"]
> >> > |====================
> >> > .2+.>|Vector 2+^|+++<u>Absolute Address (hexadecimal)</u>+++
> >> > .2+.>|Hardware
> >> > Priority .2+.>|Description
> >> > ^|VMAP = 0 ^|VMAP = 1
> >> > |RESET |00{nbsp}0000 |3F{nbsp}FFCO | 1 (highest) | Reset
> >> >
> >> > The frist row, is bolded as i would expect a header to be, but the
> VMAP
> >> > = 0
> >> > and VMAP = 1 cells are on the next row, and are not contained within
> the
> >> > header row. I checked the docbook xml that was generated, and this is
> >> > true.
> >> >
> >> > So i guess how i'm trying to do the header row isn't right? Can you
> >> > suggest
> >> > a way to do this type of formatting?
> >>
> >> As I said, apply the header style to the cells, not to the table. See
> >> http://asciidoc.org/userguide.html#X84
> >>
> >> Cheers
> >> Lex
> >>
> >> >
> >> > Thanks,
> >> >
> >> >
> >> > Russ
> >> >
> >> > On Monday, February 16, 2015 at 5:10:06 PM UTC-6, Lex Trotman wrote:
> >> >>
> >> >> On 17 February 2015 at 10:00, russurquhart1 <[email protected]>
> >> >> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > very often in the tables we create, we have cells in the header
> that
> >> >> > span
> >> >> > columns and rows. It seems i cant do this in asciidocfx, and the
> >> >> > creatof
> >> >> > asciifocfx, suggested i ask you guys..
> >> >> >
> >> >> > When i have something like this, it looks ok:
> >> >> >
> >> >> > .Interrupt Vectors and Priorities
> >> >> > [width="100%"]
> >> >> > |====================
> >> >> > .2+.>s|Vector 2+^s|Absolute Address (hexadecimal) .2+.>s|Hardware
> >> >> > Priority
> >> >> > .2+.>s|Description
> >> >> > ^s|VMAP = 0 ^s|VMAP = 1
> >> >> > |RESET |00{nbsp}0000 |3F{nbsp}FFCO | 1 (highest) | Reset
> >> >> > |INT1 |00 0002 |3F FFC2 |5 |Maskable interrupt 1
> >> >> >
> >> >> > But if i want the first row to be a header and i do, the
> following,
> >> >> > it
> >> >> > doesn't want to do it:
> >> >> >
> >> >> > .Interrupt Vectors and Priorities
> >> >> > [width="100%",options="header"]
> >> >> > |====================
> >> >> > .2+.>s|Vector 2+^s|Absolute Address (hexadecimal) .2+.>s|Hardware
> >> >> > Priority
> >> >> > .2+.>s|Description
> >> >> > ^s|VMAP = 0 ^s|VMAP = 1
> >> >> > |RESET |00{nbsp}0000 |3F{nbsp}FFCO | 1 (highest) | Reset
> >> >> > |INT1 |00 0002 |3F FFC2 |5 |Maskable interrupt 1
> >> >> >
> >> >>
> >> >> You are now trying to apply two styles to the header cells, the
> >> >> "header" style in the table attribute, and the "strong" style on the
> >> >> cell. The cell style has priority so the "header" is ignored. You
> >> >> can just apply the "header" style to the cells instead and it will
> >> >> apply irrespective of their spans.
> >> >>
> >> >> Cheers
> >> >> Lex
> >> >>
> >> >> >
> >> >> > Is this something with how asciidoc works?
> >> >> >
> >> >> >
> >> >> > Thanks,
> >> >> >
> >> >> >
> >> >> > Russ
> >> >> >
> >> >> > --
> >> >> > You received this message because you are subscribed to the Google
> >> >> > Groups
> >> >> > "asciidoc" group.
> >> >> > To unsubscribe from this group and stop receiving emails from it,
> >> >> > send
> >> >> > an
> >> >> > email to [email protected].
> >> >> > To post to this group, send email to [email protected].
> >> >> > Visit this group at http://groups.google.com/group/asciidoc.
> >> >> > For more options, visit https://groups.google.com/d/optout.
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "asciidoc" group.
> >> > To unsubscribe from this group and stop receiving emails from it,
> send
> >> > an
> >> > email to [email protected].
> >> > To post to this group, send email to [email protected].
> >> > Visit this group at http://groups.google.com/group/asciidoc.
> >> > For more options, visit https://groups.google.com/d/optout.
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups
> > "asciidoc" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an
> > email to [email protected] <javascript:>.
> > To post to this group, send email to [email protected]
> <javascript:>.
> > Visit this group at http://groups.google.com/group/asciidoc.
> > For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"asciidoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/asciidoc.
For more options, visit https://groups.google.com/d/optout.
--- /tmp/asciidoc.orig 2015-09-23 11:27:40.798067126 +0800
+++ asciidoc 2015-09-23 11:25:33.046060655 +0800
@@ -3635,7 +3635,11 @@
for option in self.parameters.options:
self.attributes[option+'-option'] = ''
if self.rows and 'header' in self.parameters.options:
- headrows = self.subs_rows(self.rows[0:1],'header')
+ rowspan = 1
+ for cell in self.rows[0]:
+ if rowspan < cell.vspan:
+ rowspan = cell.vspan
+ headrows = self.subs_rows(self.rows[0:rowspan],'header')
self.attributes['headrows'] = '\x07headrows\x07'
self.rows = self.rows[1:]
if self.rows and 'footer' in self.parameters.options: