Hello,

I just discovered that the previous patch is not complete: for multirow 
headers, the 2nd header row is duplicated in both header and content rows.
It should have been removed from the rows[] array when it is recognized as 
headers.

The attached single line patch fixes this problem.

Yung-ching

On Wednesday, September 23, 2015 at 3:58:05 PM UTC+8, Yung-ching Hsiao 
wrote:
>
> 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]> 
>> 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]. 
>> > 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 https://groups.google.com/group/asciidoc.
For more options, visit https://groups.google.com/d/optout.
--- asciidoc.old	2016-02-02 09:46:31.218228738 +0800
+++ asciidoc	2016-02-02 09:46:58.554230123 +0800
@@ -3641,7 +3641,7 @@
                     rowspan = cell.vspan
             headrows = self.subs_rows(self.rows[0:rowspan],'header')
             self.attributes['headrows'] = '\x07headrows\x07'
-            self.rows = self.rows[1:]
+            self.rows = self.rows[rowspan:]
         if self.rows and 'footer' in self.parameters.options:
             footrows = self.subs_rows( self.rows[-1:], 'footer')
             self.attributes['footrows'] = '\x07footrows\x07'

Reply via email to