diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Text/Pandoc/Readers/LaTeX.hs | 5 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/LaTeX/Parsing.hs | 7 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/LaTeX/Table.hs | 10 |
3 files changed, 12 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index b12e65eaf..a84186aa9 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -1171,7 +1171,7 @@ addImageCaption = walkM go st <- getState case sCaption st of Nothing -> return p - Just figureCaption -> do + Just (Caption _mbshort bs) -> do let mblabel = sLastLabel st let attr' = case mblabel of Just lab -> (lab, cls, kvs) @@ -1186,7 +1186,8 @@ addImageCaption = walkM go [Str (renderDottedNum num)] (sLabels st) } return $ SimpleFigure attr' - (maybe id removeLabel mblabel (B.toList figureCaption)) + (maybe id removeLabel mblabel + (blocksToInlines bs)) (src, tit) go x = return x diff --git a/src/Text/Pandoc/Readers/LaTeX/Parsing.hs b/src/Text/Pandoc/Readers/LaTeX/Parsing.hs index 90dcabd75..c4102fbbb 100644 --- a/src/Text/Pandoc/Readers/LaTeX/Parsing.hs +++ b/src/Text/Pandoc/Readers/LaTeX/Parsing.hs @@ -157,7 +157,7 @@ data LaTeXState = LaTeXState{ sOptions :: ReaderOptions , sLogMessages :: [LogMessage] , sIdentifiers :: Set.Set Text , sVerbatimMode :: Bool - , sCaption :: Maybe Inlines + , sCaption :: Maybe Caption , sInListItem :: Bool , sInTableCell :: Bool , sLastHeaderNum :: DottedNum @@ -1072,10 +1072,11 @@ label = do setCaption :: PandocMonad m => LP m Inlines -> LP m () setCaption inline = try $ do - skipopts + mbshort <- Just . toList <$> bracketed inline <|> pure Nothing ils <- tokWith inline optional $ try $ spaces *> label - updateState $ \st -> st{ sCaption = Just ils } + updateState $ \st -> st{ sCaption = Just $ + Caption mbshort [Plain $ toList ils] } resetCaption :: PandocMonad m => LP m () resetCaption = updateState $ \st -> st{ sCaption = Nothing diff --git a/src/Text/Pandoc/Readers/LaTeX/Table.hs b/src/Text/Pandoc/Readers/LaTeX/Table.hs index 98feaa865..718ff2dbe 100644 --- a/src/Text/Pandoc/Readers/LaTeX/Table.hs +++ b/src/Text/Pandoc/Readers/LaTeX/Table.hs @@ -355,18 +355,18 @@ addTableCaption :: PandocMonad m => Blocks -> LP m Blocks addTableCaption = walkM go where go (Table attr c spec th tb tf) = do st <- getState + let capt = fromMaybe c $ sCaption st let mblabel = sLastLabel st - capt <- case (sCaption st, mblabel) of - (Just ils, Nothing) -> return $ caption Nothing (plain ils) - (Just ils, Just lab) -> do + case mblabel of + Nothing -> return () + Just lab -> do num <- getNextNumber sLastTableNum setState st{ sLastTableNum = num , sLabels = M.insert lab [Str (renderDottedNum num)] (sLabels st) } - return $ caption Nothing (plain ils) -- add number?? - (Nothing, _) -> return c + -- add num to caption? let attr' = case (attr, mblabel) of ((_,classes,kvs), Just ident) -> (ident,classes,kvs) |
