git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: Fix parsing of "show name" in newtheorem.

Previously we were just treating it as a string and ignoring accents and formatting. See #6734.

commit9a6c42590f42601329db3fb42296db1a04ee3ff5 authorJohn MacFarlane <jgm@berkeley.edu> dateThu 8 Oct 2020, 22:47 (6 years ago) parent307ea35
3 files changed+8−7
src/Text/Pandoc/Readers/LaTeX.hs+6−5 src/Text/Pandoc/Readers/LaTeX/Parsing.hs+1−1 test/command/1608.md+1−1
src/Text/Pandoc/Readers/LaTeX.hs+6−5
@@ -1690,7 +1690,7 @@ newtheorem = do
16901690 sp
16911691 series <- option Nothing $ Just . untokenize <$> bracketedToks
16921692 sp
1693− showName <- untokenize <$> braced
1693+ showName <- tok
16941694 sp
16951695 syncTo <- option Nothing $ Just . untokenize <$> bracketedToks
16961696 sty <- sLastTheoremStyle <$> getState
@@ -1769,8 +1769,9 @@ theoremEnvironment name = do
17691769 Just ident ->
17701770 updateState $ \s ->
17711771 s{ sLabels = M.insert ident
1772− [Str (theoremName tspec), Str "\160",
1773− Str (renderDottedNum num)] (sLabels s) }
1772+ (B.toList $
1773+ theoremName tspec <> "\160" <>
1774+ str (renderDottedNum num)) (sLabels s) }
17741775 Nothing -> return ()
17751776 return $ space <> B.text (renderDottedNum num)
17761777 else return mempty
@@ -1778,8 +1779,8 @@ theoremEnvironment name = do
17781779 PlainStyle -> B.strong
17791780 DefinitionStyle -> B.strong
17801781 RemarkStyle -> B.emph
1781− let title = titleEmph (B.text (theoremName tspec) <> number)
1782− <> optTitle <> "." <> space
1782+ let title = titleEmph (theoremName tspec <> number)
1783+ <> optTitle <> "." <> space
17831784 return $ divWith (fromMaybe "" mblabel, [name], []) $ addTitle title
17841785 $ case theoremStyle tspec of
17851786 PlainStyle -> walk italicize bs
src/Text/Pandoc/Readers/LaTeX/Parsing.hs+1−1
@@ -122,7 +122,7 @@ data TheoremStyle =
122122
123123data TheoremSpec =
124124 TheoremSpec
125− { theoremName :: Text
125+ { theoremName :: Inlines
126126 , theoremStyle :: TheoremStyle
127127 , theoremSeries :: Maybe Text
128128 , theoremSyncTo :: Maybe Text
test/command/1608.md+1−1
@@ -33,7 +33,7 @@ These are all pretty interesting facts.
3333,Div ("",["lemma"],[])
3434 [Para [Strong [Str "Lemma",Space,Str "2"],Str ".",Space,Space,Emph [Str "The",Space,Str "triangle",Space,Str "with",Space,Str "sides",Space,Str "of",Space,Str "length\160",Math InlineMath "3",Str ",",Space,Math InlineMath "4",Space,Str "and\160",Math InlineMath "5",Space,Str "is",Space,Str "right-angled."]]]
3535,Div ("",["proof"],[])
36− [Para [Emph [Str "Proof."],Space,Str "This",Space,Str "lemma",Space,Str "follows",Space,Str "from",Space,Link ("",[],[("reference-type","ref"),("reference","def:tri")]) [Str "Definition",Str "\160",Str "1"] ("#def:tri",""),Space,Str "since",Space,Math InlineMath "3^2+4^2=9+16=25=5^2",Str ".",Str "\160\9723"]]
36+ [Para [Emph [Str "Proof."],Space,Str "This",Space,Str "lemma",Space,Str "follows",Space,Str "from",Space,Link ("",[],[("reference-type","ref"),("reference","def:tri")]) [Str "Definition\160\&1"] ("#def:tri",""),Space,Str "since",Space,Math InlineMath "3^2+4^2=9+16=25=5^2",Str ".",Str "\160\9723"]]
3737,Div ("thm:py",["theorem"],[])
3838 [Para [Strong [Str "Theorem",Space,Str "3"],Space,Str "(Pythagorean",Space,Str "triplets).",Space,Space,Emph [Str "Triangles",Space,Str "with",Space,Str "sides",Space,Str "of",Space,Str "length",Space,Math InlineMath "a=p^2-q^2",Str ",",Space,Math InlineMath "b=2pq",Space,Str "and",Space,Math InlineMath "c=p^2+q^2",Space,Str "are",Space,Str "right-angled",Space,Str "triangles."]]]
3939,Div ("",["remark"],[])