git.iko.soy/typeable/pandoc
on master help sign in
Docx Writer: set firstRow information in tables
commitc0c9b313e6109e0f390cdda1bb868e394faae21b authorNikolay Yakimov <root@livid.pp.ru> dateSun 8 Mar 2015, 04:42 (12 years ago) parenta82dedf
1 file changed+7−2
src/Text/Pandoc/Writers/Docx.hs+7−2
src/Text/Pandoc/Writers/Docx.hs+7−2
@@ -733,25 +733,30 @@ blockToOpenXML opts (Table caption aligns widths headers rows) = do
733733 if null contents
734734 then emptyCell
735735 else contents
736− let mkrow border cells = mknode "w:tr" [] $ map (mkcell border) cells
736+ let mkrow border cells = mknode "w:tr" [] $
737+ [mknode "w:trPr" [] [
738+ mknode "w:cnfStyle" [("w:firstRow","1")] ()] | border]
739+ ++ map (mkcell border) cells
737740 let textwidth = 7920 -- 5.5 in in twips, 1/20 pt
738741 let fullrow = 5000 -- 100% specified in pct
739742 let rowwidth = fullrow * sum widths
740743 let mkgridcol w = mknode "w:gridCol"
741744 [("w:w", show (floor (textwidth * w) :: Integer))] ()
745+ let hasHeader = not (all null headers)
742746 return $
743747 caption' ++
744748 [mknode "w:tbl" []
745749 ( mknode "w:tblPr" []
746750 ( mknode "w:tblStyle" [("w:val","TableNormal")] () :
747751 mknode "w:tblW" [("w:type", "pct"), ("w:w", show rowwidth)] () :
752+ mknode "w:tblLook" [("w:firstRow","1") | hasHeader ] () :
748753 [ mknode "w:tblCaption" [("w:val", captionStr)] ()
749754 | not (null caption) ] )
750755 : mknode "w:tblGrid" []
751756 (if all (==0) widths
752757 then []
753758 else map mkgridcol widths)
754− : [ mkrow True headers' | not (all null headers) ] ++
759+ : [ mkrow True headers' | hasHeader ] ++
755760 map (mkrow False) rows'
756761 )]
757762blockToOpenXML opts (BulletList lst) = do