aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2025-09-02 08:39:47 +0200
committerJohn MacFarlane <[email protected]>2025-09-02 08:39:47 +0200
commit4d545b69fe66c37805de883a5b71afe5fdb7e984 (patch)
treedfc82c2c915b2cf661b95985096a2517a7c5afdf /src
parent5424d3eca0e127de7a59baea9b11649b1c17e5b2 (diff)
Change `latex-pos` to `latex-placement`.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs13
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs7
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs2
3 files changed, 13 insertions, 9 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index fbc66288a..2c9ec9108 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -1038,8 +1038,8 @@ environments = M.union (tableEnvironments block inline) $
, ("letter", env "letter" letterContents)
, ("minipage", divWith ("",["minipage"],[]) <$>
env "minipage" (skipopts *> spaces *> optional braced *> spaces *> blocks))
- , ("figure", env "figure" $ skipopts *> figure')
- , ("figure*", env "figure*" $ skipopts *> figure')
+ , ("figure", env "figure" figure')
+ , ("figure*", env "figure*" figure')
, ("subfigure", env "subfigure" $ skipopts *> tok *> figure')
, ("center", divWith ("", ["center"], []) <$> env "center" blocks)
, ("quote", blockQuote <$> env "quote" blocks)
@@ -1211,15 +1211,18 @@ letterContents = do
figure' :: PandocMonad m => LP m Blocks
figure' = try $ do
+ sp
+ poshint <- option "" $ untokenize <$> bracketedToks
+ sp
resetCaption
innerContent <- many $ try (Left <$> label) <|> (Right <$> block)
let content = walk go $ mconcat $ snd $ partitionEithers innerContent
st <- getState
let caption' = fromMaybe B.emptyCaption $ sCaption st
let mblabel = sLastLabel st
- let attr = case mblabel of
- Just lab -> (lab, [], [])
- Nothing -> nullAttr
+ let kvs = [("latex-placement", poshint) | not (T.null poshint)]
+ let ident = fromMaybe "" mblabel
+ let attr = (ident, [], kvs)
case mblabel of
Nothing -> pure ()
Just lab -> do
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index 61e843662..db55e5663 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -1057,9 +1057,10 @@ implicitFigure (ident, classes, attribs) capt url title =
let alt = case "alt" `lookup` attribs of
Just alt' -> B.text alt'
_ -> capt
- attribs' = filter ((/= "latex-pos") . fst) (filter ((/= "alt") . fst) attribs)
- figattribs = case lookup "latex-pos" attribs of
- Just p -> [("latex-pos", p)]
+ attribs' = filter ((/= "latex-placement") . fst)
+ (filter ((/= "alt") . fst) attribs)
+ figattribs = case lookup "latex-placement" attribs of
+ Just p -> [("latex-placement", p)]
_ -> mempty
figattr = (ident, mempty, figattribs)
caption = B.simpleCaption $ B.plain capt
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index e1ae080f6..d544e5401 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -649,7 +649,7 @@ blockToLaTeX (Figure (ident, _, kvs) captnode body) = do
(capt, captForLof, footnotes) <- getCaption inlineListToLaTeX True captnode
lab <- labelFor ident
let caption = "\\caption" <> captForLof <> braces capt <> lab
- placement = case lookup "latex-pos" kvs of
+ placement = case lookup "latex-placement" kvs of
Just p -> brackets (text (T.unpack p))
_ -> text ""