From 9396f1fb6766cc4b08fb7b7c97ef2c02e9f0f700 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 1 Jun 2017 12:08:28 +0200 Subject: LaTeX reader: handle some width specifiers on table columns. Currently we only handle the form `0.9\linewidth`. Anything else would have to be converted to a percentage, using some kind arbitrary assumptions about line widths. See #3709. --- src/Text/Pandoc/Readers/LaTeX.hs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index a69c17ebc..b65ae15ad 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -1451,14 +1451,24 @@ parseAligns = try $ do <|> xAlign <|> mAlign <|> bAlign let alignPrefix = char '>' >> braced let alignSuffix = char '<' >> braced + let colWidth = try $ do + char '{' + ds <- many1 (oneOf "0123456789.") + spaces + string "\\linewidth" + char '}' + case safeRead ds of + Just w -> return w + Nothing -> return 0.0 let alignSpec = do spaces pref <- option "" alignPrefix spaces al <- alignChar - let parseWidth :: String -> Double - parseWidth _ = 0.00 -- TODO actually parse the width - width <- parseWidth <$> option "" braced + width <- colWidth <|> option 0.0 (do s <- braced + pos <- getPosition + report $ SkippedContent s pos + return 0.0) spaces suff <- option "" alignSuffix return (al, width, (pref, suff)) -- cgit v1.2.3