diff options
Diffstat (limited to 'src/Text')
| -rw-r--r-- | src/Text/Pandoc/Writers/OpenDocument.hs | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/src/Text/Pandoc/Writers/OpenDocument.hs b/src/Text/Pandoc/Writers/OpenDocument.hs index 8f010d766..789dbe9b0 100644 --- a/src/Text/Pandoc/Writers/OpenDocument.hs +++ b/src/Text/Pandoc/Writers/OpenDocument.hs @@ -407,13 +407,14 @@ blockToOpenDocument o bs               fromWidth (ColWidth w) | w > 0 = w               fromWidth _                    = 0               widths = map fromWidth mwidths +             textWidth   = sum widths               columnIds   = zip genIds widths               mkColumn  n = selfClosingTag "table:table-column" [("table:style-name", name <> "." <> T.singleton (fst n))]               columns     = map mkColumn columnIds               paraHStyles = paraTableStyles "Heading"  pn aligns               paraStyles  = paraTableStyles "Contents" (pn + length (newPara paraHStyles)) aligns               newPara     = map snd . filter (not . isEmpty . snd) -        addTableStyle $ tableStyle tn columnIds +        addTableStyle $ tableStyle tn textWidth columnIds          mapM_ addParaStyle . newPara $ paraHStyles ++ paraStyles          captionDoc <- if null c                        then return empty @@ -684,14 +685,19 @@ listLevelStyle i =                        , ("fo:margin-left", indent <> "in")                        ] -tableStyle :: Int -> [(Char,Double)] -> Doc Text -tableStyle num wcs = +tableStyle :: Int -> Double -> [(Char,Double)] -> Doc Text +tableStyle num textWidth wcs =      let tableId        = "Table" <> tshow (num + 1) +        tableWidthAttr :: [(Text,Text)] +        tableWidthAttr +          | textWidth <= 1 && textWidth > 0 = [("style:rel-width", +                                                T.pack (show (round (textWidth * 100) :: Int) <> "%"))] +          | otherwise    = []          table          = inTags True "style:style"                           [("style:name", tableId)                           ,("style:family", "table")] $                           selfClosingTag "style:table-properties" -                         [("table:align"    , "center")] +                         (("table:align", "center") : tableWidthAttr)          colStyle (c,0) = selfClosingTag "style:style"                           [ ("style:name"  , tableId <> "." <> T.singleton c)                           , ("style:family", "table-column"       )] | 
