diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2021-11-24 19:38:43 -0800 | 
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2021-11-24 19:48:56 -0800 | 
| commit | 0d25232bbf2998cccf6ca4b1dc6e8d6f36eb9c60 (patch) | |
| tree | 91c1220150d2c66f5d75a44d56707d9310db6c23 | |
| parent | 2ca3993c6733d8add948338ef69d124237e21c69 (diff) | |
| download | pandoc-0d25232bbf2998cccf6ca4b1dc6e8d6f36eb9c60.tar.gz | |
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.
| -rw-r--r-- | src/Text/Pandoc/Readers/LaTeX/Math.hs | 8 | ||||
| -rw-r--r-- | 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" | 
