From 0d25232bbf2998cccf6ca4b1dc6e8d6f36eb9c60 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Wed, 24 Nov 2021 19:38:43 -0800 Subject: LaTeX reader: Fix semantics of `\ref`. We were including the ams environment type in addition to the number. This is proper behavior for `\cref` but not for `\ref`. To support `\cref` we need to store the environment label separately. --- src/Text/Pandoc/Readers/LaTeX/Math.hs | 8 +++----- test/command/1608.md | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Text/Pandoc/Readers/LaTeX/Math.hs b/src/Text/Pandoc/Readers/LaTeX/Math.hs index 0600e45ef..01edce7ed 100644 --- a/src/Text/Pandoc/Readers/LaTeX/Math.hs +++ b/src/Text/Pandoc/Readers/LaTeX/Math.hs @@ -170,9 +170,7 @@ theoremEnvironment blocks opt name = do Just ident -> updateState $ \s -> s{ sLabels = M.insert ident - (B.toList $ - theoremName tspec <> "\160" <> - str (renderDottedNum num)) (sLabels s) } + (B.toList $ str (renderDottedNum num)) (sLabels s) } Nothing -> return () return $ space <> B.text (renderDottedNum num) else return mempty @@ -182,14 +180,14 @@ theoremEnvironment blocks opt name = do RemarkStyle -> B.emph let title = titleEmph (theoremName tspec <> number) <> optTitle <> "." <> space - return $ divWith (fromMaybe "" mblabel, [name], []) $ addTitle title + return $ divWith (fromMaybe "" mblabel, [name], []) + $ addTitle title $ maybe id removeLabel mblabel $ case theoremStyle tspec of PlainStyle -> walk italicize bs _ -> bs - proof :: PandocMonad m => LP m Blocks -> LP m Inlines -> LP m Blocks proof blocks opt = do title <- option (B.text "Proof") opt diff --git a/test/command/1608.md b/test/command/1608.md index 59bd54ab4..77fdaf6d3 100644 --- a/test/command/1608.md +++ b/test/command/1608.md @@ -133,7 +133,7 @@ These are all pretty interesting facts. , ( "reference" , "def:tri" ) ] ) - [ Str "Definition\160\&1" ] + [ Str "1" ] ( "#def:tri" , "" ) , Space , Str "since" -- cgit v1.2.3