pandoc-crossref 0.3.8.1 → 0.3.8.2
raw patch · 10 files changed
+54/−14 lines, 10 filesdep ~pandocPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: pandoc
API changes (from Hackage documentation)
- Text.Pandoc.CrossRef: autoEqnLabels :: forall a_aBky. ToMetaValue a_aBky => a_aBky -> Meta
+ Text.Pandoc.CrossRef: autoEqnLabels :: forall a_aBtE. ToMetaValue a_aBtE => a_aBtE -> Meta
- Text.Pandoc.CrossRef: autoSectionLabels :: forall a_aBjZ. ToMetaValue a_aBjZ => a_aBjZ -> Meta
+ Text.Pandoc.CrossRef: autoSectionLabels :: forall a_aBt5. ToMetaValue a_aBt5 => a_aBt5 -> Meta
- Text.Pandoc.CrossRef: ccsDelim :: forall a_aBkv. ToMetaValue a_aBkv => a_aBkv -> Meta
+ Text.Pandoc.CrossRef: ccsDelim :: forall a_aBtB. ToMetaValue a_aBtB => a_aBtB -> Meta
- Text.Pandoc.CrossRef: ccsLabelSep :: forall a_aBkw. ToMetaValue a_aBkw => a_aBkw -> Meta
+ Text.Pandoc.CrossRef: ccsLabelSep :: forall a_aBtC. ToMetaValue a_aBtC => a_aBtC -> Meta
- Text.Pandoc.CrossRef: ccsTemplate :: forall a_aBkr. ToMetaValue a_aBkr => a_aBkr -> Meta
+ Text.Pandoc.CrossRef: ccsTemplate :: forall a_aBtx. ToMetaValue a_aBtx => a_aBtx -> Meta
- Text.Pandoc.CrossRef: chapDelim :: forall a_aBkf. ToMetaValue a_aBkf => a_aBkf -> Meta
+ Text.Pandoc.CrossRef: chapDelim :: forall a_aBtl. ToMetaValue a_aBtl => a_aBtl -> Meta
- Text.Pandoc.CrossRef: chapters :: forall a_aBL1. ToMetaValue a_aBL1 => a_aBL1 -> Meta
+ Text.Pandoc.CrossRef: chapters :: forall a_aBU7. ToMetaValue a_aBU7 => a_aBU7 -> Meta
- Text.Pandoc.CrossRef: chaptersDepth :: forall a_aBjW. ToMetaValue a_aBjW => a_aBjW -> Meta
+ Text.Pandoc.CrossRef: chaptersDepth :: forall a_aBt2. ToMetaValue a_aBt2 => a_aBt2 -> Meta
- Text.Pandoc.CrossRef: codeBlockCaptions :: forall a_aBjY. ToMetaValue a_aBjY => a_aBjY -> Meta
+ Text.Pandoc.CrossRef: codeBlockCaptions :: forall a_aBt4. ToMetaValue a_aBt4 => a_aBt4 -> Meta
- Text.Pandoc.CrossRef: cref :: forall a_aBjV. ToMetaValue a_aBjV => a_aBjV -> Meta
+ Text.Pandoc.CrossRef: cref :: forall a_aBt1. ToMetaValue a_aBt1 => a_aBt1 -> Meta
- Text.Pandoc.CrossRef: crossrefYaml :: forall a_aBKZ. ToMetaValue a_aBKZ => a_aBKZ -> Meta
+ Text.Pandoc.CrossRef: crossrefYaml :: forall a_aBU5. ToMetaValue a_aBU5 => a_aBU5 -> Meta
- Text.Pandoc.CrossRef: customLabel :: forall a_aBku. ToMetaValue a_aBku => a_aBku -> Meta
+ Text.Pandoc.CrossRef: customLabel :: forall a_aBtA. ToMetaValue a_aBtA => a_aBtA -> Meta
- Text.Pandoc.CrossRef: eqLabels :: forall a_aBL3. ToMetaValue a_aBL3 => a_aBL3 -> Meta
+ Text.Pandoc.CrossRef: eqLabels :: forall a_aBU9. ToMetaValue a_aBU9 => a_aBU9 -> Meta
- Text.Pandoc.CrossRef: eqnPrefix :: forall a_aBk3. ToMetaValue a_aBk3 => a_aBk3 -> Meta
+ Text.Pandoc.CrossRef: eqnPrefix :: forall a_aBt9. ToMetaValue a_aBt9 => a_aBt9 -> Meta
- Text.Pandoc.CrossRef: eqnPrefixTemplate :: forall a_aBk8. ToMetaValue a_aBk8 => a_aBk8 -> Meta
+ Text.Pandoc.CrossRef: eqnPrefixTemplate :: forall a_aBte. ToMetaValue a_aBte => a_aBte -> Meta
- Text.Pandoc.CrossRef: figLabels :: forall a_aBL2. ToMetaValue a_aBL2 => a_aBL2 -> Meta
+ Text.Pandoc.CrossRef: figLabels :: forall a_aBU8. ToMetaValue a_aBU8 => a_aBU8 -> Meta
- Text.Pandoc.CrossRef: figPrefix :: forall a_aBk2. ToMetaValue a_aBk2 => a_aBk2 -> Meta
+ Text.Pandoc.CrossRef: figPrefix :: forall a_aBt8. ToMetaValue a_aBt8 => a_aBt8 -> Meta
- Text.Pandoc.CrossRef: figPrefixTemplate :: forall a_aBk7. ToMetaValue a_aBk7 => a_aBk7 -> Meta
+ Text.Pandoc.CrossRef: figPrefixTemplate :: forall a_aBtd. ToMetaValue a_aBtd => a_aBtd -> Meta
- Text.Pandoc.CrossRef: figureTemplate :: forall a_aBko. ToMetaValue a_aBko => a_aBko -> Meta
+ Text.Pandoc.CrossRef: figureTemplate :: forall a_aBtu. ToMetaValue a_aBtu => a_aBtu -> Meta
- Text.Pandoc.CrossRef: figureTitle :: forall a_aBKV. ToMetaValue a_aBKV => a_aBKV -> Meta
+ Text.Pandoc.CrossRef: figureTitle :: forall a_aBU1. ToMetaValue a_aBU1 => a_aBU1 -> Meta
- Text.Pandoc.CrossRef: lastDelim :: forall a_aBki. ToMetaValue a_aBki => a_aBki -> Meta
+ Text.Pandoc.CrossRef: lastDelim :: forall a_aBto. ToMetaValue a_aBto => a_aBto -> Meta
- Text.Pandoc.CrossRef: linkReferences :: forall a_aBkA. ToMetaValue a_aBkA => a_aBkA -> Meta
+ Text.Pandoc.CrossRef: linkReferences :: forall a_aBtG. ToMetaValue a_aBtG => a_aBtG -> Meta
- Text.Pandoc.CrossRef: listingTemplate :: forall a_aBkt. ToMetaValue a_aBkt => a_aBkt -> Meta
+ Text.Pandoc.CrossRef: listingTemplate :: forall a_aBtz. ToMetaValue a_aBtz => a_aBtz -> Meta
- Text.Pandoc.CrossRef: listingTitle :: forall a_aBKX. ToMetaValue a_aBKX => a_aBKX -> Meta
+ Text.Pandoc.CrossRef: listingTitle :: forall a_aBU3. ToMetaValue a_aBU3 => a_aBU3 -> Meta
- Text.Pandoc.CrossRef: listings :: forall a_aBjX. ToMetaValue a_aBjX => a_aBjX -> Meta
+ Text.Pandoc.CrossRef: listings :: forall a_aBt3. ToMetaValue a_aBt3 => a_aBt3 -> Meta
- Text.Pandoc.CrossRef: lofTitle :: forall a_aBkk. ToMetaValue a_aBkk => a_aBkk -> Meta
+ Text.Pandoc.CrossRef: lofTitle :: forall a_aBtq. ToMetaValue a_aBtq => a_aBtq -> Meta
- Text.Pandoc.CrossRef: lolTitle :: forall a_aBkm. ToMetaValue a_aBkm => a_aBkm -> Meta
+ Text.Pandoc.CrossRef: lolTitle :: forall a_aBts. ToMetaValue a_aBts => a_aBts -> Meta
- Text.Pandoc.CrossRef: lotTitle :: forall a_aBkl. ToMetaValue a_aBkl => a_aBkl -> Meta
+ Text.Pandoc.CrossRef: lotTitle :: forall a_aBtr. ToMetaValue a_aBtr => a_aBtr -> Meta
- Text.Pandoc.CrossRef: lstLabels :: forall a_aBL5. ToMetaValue a_aBL5 => a_aBL5 -> Meta
+ Text.Pandoc.CrossRef: lstLabels :: forall a_aBUb. ToMetaValue a_aBUb => a_aBUb -> Meta
- Text.Pandoc.CrossRef: lstPrefix :: forall a_aBk5. ToMetaValue a_aBk5 => a_aBk5 -> Meta
+ Text.Pandoc.CrossRef: lstPrefix :: forall a_aBtb. ToMetaValue a_aBtb => a_aBtb -> Meta
- Text.Pandoc.CrossRef: lstPrefixTemplate :: forall a_aBka. ToMetaValue a_aBka => a_aBka -> Meta
+ Text.Pandoc.CrossRef: lstPrefixTemplate :: forall a_aBtg. ToMetaValue a_aBtg => a_aBtg -> Meta
- Text.Pandoc.CrossRef: nameInLink :: forall a_aBkB. ToMetaValue a_aBkB => a_aBkB -> Meta
+ Text.Pandoc.CrossRef: nameInLink :: forall a_aBtH. ToMetaValue a_aBtH => a_aBtH -> Meta
- Text.Pandoc.CrossRef: numberSections :: forall a_aBk0. ToMetaValue a_aBk0 => a_aBk0 -> Meta
+ Text.Pandoc.CrossRef: numberSections :: forall a_aBt6. ToMetaValue a_aBt6 => a_aBt6 -> Meta
- Text.Pandoc.CrossRef: outFormat :: forall a_aBkn. ToMetaValue a_aBkn => a_aBkn -> Meta
+ Text.Pandoc.CrossRef: outFormat :: forall a_aBtt. ToMetaValue a_aBtt => a_aBtt -> Meta
- Text.Pandoc.CrossRef: pairDelim :: forall a_aBkh. ToMetaValue a_aBkh => a_aBkh -> Meta
+ Text.Pandoc.CrossRef: pairDelim :: forall a_aBtn. ToMetaValue a_aBtn => a_aBtn -> Meta
- Text.Pandoc.CrossRef: rangeDelim :: forall a_aBkg. ToMetaValue a_aBkg => a_aBkg -> Meta
+ Text.Pandoc.CrossRef: rangeDelim :: forall a_aBtm. ToMetaValue a_aBtm => a_aBtm -> Meta
- Text.Pandoc.CrossRef: refDelim :: forall a_aBkj. ToMetaValue a_aBkj => a_aBkj -> Meta
+ Text.Pandoc.CrossRef: refDelim :: forall a_aBtp. ToMetaValue a_aBtp => a_aBtp -> Meta
- Text.Pandoc.CrossRef: refIndexTemplate :: forall a_aBkc. ToMetaValue a_aBkc => a_aBkc -> Meta
+ Text.Pandoc.CrossRef: refIndexTemplate :: forall a_aBti. ToMetaValue a_aBti => a_aBti -> Meta
- Text.Pandoc.CrossRef: secHeaderDelim :: forall a_aBL7. ToMetaValue a_aBL7 => a_aBL7 -> Meta
+ Text.Pandoc.CrossRef: secHeaderDelim :: forall a_aBUd. ToMetaValue a_aBUd => a_aBUd -> Meta
- Text.Pandoc.CrossRef: secHeaderTemplate :: forall a_aBke. ToMetaValue a_aBke => a_aBke -> Meta
+ Text.Pandoc.CrossRef: secHeaderTemplate :: forall a_aBtk. ToMetaValue a_aBtk => a_aBtk -> Meta
- Text.Pandoc.CrossRef: secLabels :: forall a_aBL6. ToMetaValue a_aBL6 => a_aBL6 -> Meta
+ Text.Pandoc.CrossRef: secLabels :: forall a_aBUc. ToMetaValue a_aBUc => a_aBUc -> Meta
- Text.Pandoc.CrossRef: secPrefix :: forall a_aBk6. ToMetaValue a_aBk6 => a_aBk6 -> Meta
+ Text.Pandoc.CrossRef: secPrefix :: forall a_aBtc. ToMetaValue a_aBtc => a_aBtc -> Meta
- Text.Pandoc.CrossRef: secPrefixTemplate :: forall a_aBkb. ToMetaValue a_aBkb => a_aBkb -> Meta
+ Text.Pandoc.CrossRef: secPrefixTemplate :: forall a_aBth. ToMetaValue a_aBth => a_aBth -> Meta
- Text.Pandoc.CrossRef: sectionsDepth :: forall a_aBk1. ToMetaValue a_aBk1 => a_aBk1 -> Meta
+ Text.Pandoc.CrossRef: sectionsDepth :: forall a_aBt7. ToMetaValue a_aBt7 => a_aBt7 -> Meta
- Text.Pandoc.CrossRef: subfigGrid :: forall a_aBkz. ToMetaValue a_aBkz => a_aBkz -> Meta
+ Text.Pandoc.CrossRef: subfigGrid :: forall a_aBtF. ToMetaValue a_aBtF => a_aBtF -> Meta
- Text.Pandoc.CrossRef: subfigLabels :: forall a_aBL0. ToMetaValue a_aBL0 => a_aBL0 -> Meta
+ Text.Pandoc.CrossRef: subfigLabels :: forall a_aBU6. ToMetaValue a_aBU6 => a_aBU6 -> Meta
- Text.Pandoc.CrossRef: subfigureChildTemplate :: forall a_aBkq. ToMetaValue a_aBkq => a_aBkq -> Meta
+ Text.Pandoc.CrossRef: subfigureChildTemplate :: forall a_aBtw. ToMetaValue a_aBtw => a_aBtw -> Meta
- Text.Pandoc.CrossRef: subfigureRefIndexTemplate :: forall a_aBkd. ToMetaValue a_aBkd => a_aBkd -> Meta
+ Text.Pandoc.CrossRef: subfigureRefIndexTemplate :: forall a_aBtj. ToMetaValue a_aBtj => a_aBtj -> Meta
- Text.Pandoc.CrossRef: subfigureTemplate :: forall a_aBkp. ToMetaValue a_aBkp => a_aBkp -> Meta
+ Text.Pandoc.CrossRef: subfigureTemplate :: forall a_aBtv. ToMetaValue a_aBtv => a_aBtv -> Meta
- Text.Pandoc.CrossRef: tableEqns :: forall a_aBkx. ToMetaValue a_aBkx => a_aBkx -> Meta
+ Text.Pandoc.CrossRef: tableEqns :: forall a_aBtD. ToMetaValue a_aBtD => a_aBtD -> Meta
- Text.Pandoc.CrossRef: tableTemplate :: forall a_aBks. ToMetaValue a_aBks => a_aBks -> Meta
+ Text.Pandoc.CrossRef: tableTemplate :: forall a_aBty. ToMetaValue a_aBty => a_aBty -> Meta
- Text.Pandoc.CrossRef: tableTitle :: forall a_aBKW. ToMetaValue a_aBKW => a_aBKW -> Meta
+ Text.Pandoc.CrossRef: tableTitle :: forall a_aBU2. ToMetaValue a_aBU2 => a_aBU2 -> Meta
- Text.Pandoc.CrossRef: tblLabels :: forall a_aBL4. ToMetaValue a_aBL4 => a_aBL4 -> Meta
+ Text.Pandoc.CrossRef: tblLabels :: forall a_aBUa. ToMetaValue a_aBUa => a_aBUa -> Meta
- Text.Pandoc.CrossRef: tblPrefix :: forall a_aBk4. ToMetaValue a_aBk4 => a_aBk4 -> Meta
+ Text.Pandoc.CrossRef: tblPrefix :: forall a_aBta. ToMetaValue a_aBta => a_aBta -> Meta
- Text.Pandoc.CrossRef: tblPrefixTemplate :: forall a_aBk9. ToMetaValue a_aBk9 => a_aBk9 -> Meta
+ Text.Pandoc.CrossRef: tblPrefixTemplate :: forall a_aBtf. ToMetaValue a_aBtf => a_aBtf -> Meta
- Text.Pandoc.CrossRef: titleDelim :: forall a_aBKY. ToMetaValue a_aBKY => a_aBKY -> Meta
+ Text.Pandoc.CrossRef: titleDelim :: forall a_aBU4. ToMetaValue a_aBU4 => a_aBU4 -> Meta
Files
- CHANGELOG.md +6/−0
- lib/Text/Pandoc/CrossRef/References/Blocks.hs +1/−1
- lib/Text/Pandoc/CrossRef/Util/Util.hs +6/−0
- pandoc-crossref.cabal +13/−10
- test/demo-chapters.inc +1/−1
- test/demo.inc +1/−1
- test/m2m/listings-code-block-caption-278/expect.md +5/−0
- test/m2m/listings-code-block-caption-278/expect.tex +4/−0
- test/m2m/listings-code-block-caption-278/input.md +11/−0
- test/test-integrative.hs +6/−1
CHANGELOG.md view
@@ -1,3 +1,9 @@+## 0.3.8.2++- [Fix] Escape LaTeX caption attribute when taken from Markdown++ Apparently, pandoc (up to 2.11) doesn't escape `caption` code block attribute for LaTeX when used with `--listings`. This may be intentional, but when caption is defined in pandoc-crossref using div or table-style caption syntax, this can lead to inconsistencies. Hence, caption defined in Markdown (as opposed to as string in the attribute) is now escaped when outputting to LaTeX with `--listings` enabled.+ ## 0.3.8.1 - Fix parsing multiple inlines in block
lib/Text/Pandoc/CrossRef/References/Blocks.hs view
@@ -247,7 +247,7 @@ f --if used with listings package, return code block with caption | isLatexFormat f, listings opts ->- replaceNoRecurse $ CodeBlock (label,classes,("caption",stringify caption):attrs) code+ replaceNoRecurse $ CodeBlock (label,classes,("caption",escapeLaTeX $ stringify caption):attrs) code --if not using listings, however, wrap it in a codelisting environment | isLatexFormat f -> replaceNoRecurse $ Div nullAttr [
lib/Text/Pandoc/CrossRef/Util/Util.hs view
@@ -116,6 +116,12 @@ runPure (writeLaTeX def $ Pandoc nullMeta [Div (l, [], []) []]) in T.takeWhile (/='}') . T.drop 1 . T.dropWhile (/='{') $ ll +escapeLaTeX :: T.Text -> T.Text+escapeLaTeX l =+ let ll = either (error . show) id $+ runPure (writeLaTeX def $ Pandoc nullMeta [Plain [Str l]])+ in ll+ getRefLabel :: T.Text -> [Inline] -> Maybe T.Text getRefLabel _ [] = Nothing getRefLabel tag ils
pandoc-crossref.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 60aff0647917782b159c09b84eb53496da9ed0f414fe0eb7d77857567ba27dfb+-- hash: cf1ac7c0170023b09f559c841b981a19b613914459110ccb971ff6763f609b61 name: pandoc-crossref-version: 0.3.8.1+version: 0.3.8.2 synopsis: Pandoc filter for cross-references description: pandoc-crossref is a pandoc filter for numbering figures, equations, tables and cross-references to them. category: Text@@ -49,6 +49,9 @@ test/m2m/listing-captions-ids/expect.md test/m2m/listing-captions-ids/expect.tex test/m2m/listing-captions-ids/input.md+ test/m2m/listings-code-block-caption-278/expect.md+ test/m2m/listings-code-block-caption-278/expect.tex+ test/m2m/listings-code-block-caption-278/input.md test/m2m/multiple-eqn-same-para/expect.md test/m2m/multiple-eqn-same-para/expect.tex test/m2m/multiple-eqn-same-para/input.md@@ -107,8 +110,8 @@ , directory >=1 && <1.4 , filepath >=1.1 && <1.5 , mtl >=1.1 && <2.3- , pandoc >=2.10 && <2.11- , pandoc-types >=1.21 && <1.22+ , pandoc >=2.10 && <2.12+ , pandoc-types >=1.21 && <1.23 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0@@ -138,9 +141,9 @@ , mtl >=1.1 && <2.3 , open-browser >=0.2 && <0.3 , optparse-applicative >=0.13 && <0.16- , pandoc >=2.10 && <2.11+ , pandoc >=2.10 && <2.12 , pandoc-crossref- , pandoc-types >=1.21 && <1.22+ , pandoc-types >=1.21 && <1.23 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0@@ -166,9 +169,9 @@ , filepath >=1.1 && <1.5 , hspec >=2.4.4 && <3 , mtl >=1.1 && <2.3- , pandoc >=2.10 && <2.11+ , pandoc >=2.10 && <2.12 , pandoc-crossref- , pandoc-types >=1.21 && <1.22+ , pandoc-types >=1.21 && <1.23 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0@@ -215,8 +218,8 @@ , filepath >=1.1 && <1.5 , hspec >=2.4.4 && <3 , mtl >=1.1 && <2.3- , pandoc >=2.10 && <2.11- , pandoc-types >=1.21 && <1.22+ , pandoc >=2.10 && <2.12+ , pandoc-types >=1.21 && <1.23 , roman-numerals ==0.5.* , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0
test/demo-chapters.inc view
@@ -4,7 +4,7 @@ ,Para [Str "There",Space,Str "is",Space,Str "also",Space,Str "support",Space,Str "for",Space,Str "code",Space,Str "blocks,",Space,Str "for",Space,Str "example,",Space,Str "lsts.\160\&4.1-4.3"] ,Para [Str "It\8217s",Space,Str "possible",Space,Str "to",Space,Str "capitalize",Space,Str "reference",Space,Str "prefixes,",Space,Str "like",Space,Str "this:",Space,Str "Fig.\160\&1.1."] ,Para [Str "In",Space,Str "case",Space,Str "of",Space,Str "multiple",Space,Str "references,",Space,Str "capitalization",Space,Str "is",Space,Str "determined",Space,Str "by",Space,Str "first",Space,Str "reference.",Space,Str "Figs.\160\&1.1,",Space,Str "1.2",Space,Str "is",Space,Str "capitalized,",Space,Str "while",Space,Str "figs.\160\&1.1,",Space,Str "1.2",Space,Str "is",Space,Str "not."]- ,Para [Str "It",Space,Str "is",Space,Str "also",Space,Str "possible",Space,Str "to",Space,Str "mix",Space,Str "different",Space,Str "references,",Space,Str "like",Space,Str "fig.\160\&1.1,",Space,Str "tbl.\160\&3.1,",Space,Str "lsts.\160\&4.1,",Space,Str "4.2,",Space,Str "figs.\160\&1.2,",Space,Str "1.3,",Space,Str "which",Space,Str "will",Space,Str "be",Space,Str "grouped",Space,Str "in",Space,Str "order",Space,Str "they",Space,Str "are",Space,Str "specified.",Space,Str "You",Space,Str "can",Space,Str "even",Space,Str "intermix",Space,Str "this",Space,Str "with",Space,Str "regular",Space,Str "citations,",Space,Str "although",Space,Str "it\8217s",Space,Str "not",Space,Str "recommended:",Space,Str "fig.\160\&1.1,",Space,Str "tbl.\160\&3.1,",Space,Cite [Citation {citationId = "unprocessedCitation", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@unprocessedCitation]"]]+ ,Para [Str "It",Space,Str "is",Space,Str "also",Space,Str "possible",Space,Str "to",Space,Str "mix",Space,Str "different",Space,Str "references,",Space,Str "like",Space,Str "fig.\160\&1.1,",Space,Str "tbl.\160\&3.1,",Space,Str "lsts.\160\&4.1,",Space,Str "4.2,",Space,Str "figs.\160\&1.2,",Space,Str "1.3,",Space,Str "which",Space,Str "will",Space,Str "be",Space,Str "grouped",Space,Str "in",Space,Str "order",Space,Str "they",Space,Str "are",Space,Str "specified.",Space,Str "You",Space,Str "can",Space,Str "even",Space,Str "intermix",Space,Str "this",Space,Str "with",Space,Str "regular",Space,Str "citations,",Space,Str "although",Space,Str "it\8217s",Space,Str "not",Space,Str "recommended:",Space,Str "fig.\160\&1.1,",Space,Str "tbl.\160\&3.1,",Space,Cite [Citation {citationId = "unprocessedCitation", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 11, citationHash = 0}] [Str "[@unprocessedCitation]"]] ,Para [Str "You",Space,Str "can",Space,Str "also",Space,Str "have",Space,Str "custom",Space,Str "chapter",Space,Str "reference",Space,Str "labels,",Space,Str "like",Space,Str "sec.\160AppA.CustLab"] ,Para [Str "Subfigures",Space,Str "are",Space,Str "supported,",Space,Str "see",Space,Str "figs.\160\&1.4,",Space,Str "1.4",Space,Str "(b)"] ,Header 1 ("sec:sec1",[],[]) [Str "Chapter",Space,Str "1.",Space,Str "Figures"]
test/demo.inc view
@@ -4,7 +4,7 @@ ,Para [Str "There",Space,Str "is",Space,Str "also",Space,Str "support",Space,Str "for",Space,Str "code",Space,Str "blocks,",Space,Str "for",Space,Str "example,",Space,Str "lsts.\160\&1-3"] ,Para [Str "It\8217s",Space,Str "possible",Space,Str "to",Space,Str "capitalize",Space,Str "reference",Space,Str "prefixes,",Space,Str "like",Space,Str "this:",Space,Str "Fig.\160\&2."] ,Para [Str "In",Space,Str "case",Space,Str "of",Space,Str "multiple",Space,Str "references,",Space,Str "capitalization",Space,Str "is",Space,Str "determined",Space,Str "by",Space,Str "first",Space,Str "reference.",Space,Str "Figs.\160\&2,",Space,Str "3",Space,Str "is",Space,Str "capitalized,",Space,Str "while",Space,Str "figs.\160\&2,",Space,Str "3",Space,Str "is",Space,Str "not."]- ,Para [Str "It",Space,Str "is",Space,Str "also",Space,Str "possible",Space,Str "to",Space,Str "mix",Space,Str "different",Space,Str "references,",Space,Str "like",Space,Str "fig.\160\&2,",Space,Str "tbl.\160\&1,",Space,Str "lsts.\160\&1,",Space,Str "2,",Space,Str "figs.\160\&3,",Space,Str "4,",Space,Str "which",Space,Str "will",Space,Str "be",Space,Str "grouped",Space,Str "in",Space,Str "order",Space,Str "they",Space,Str "are",Space,Str "specified.",Space,Str "You",Space,Str "can",Space,Str "even",Space,Str "intermix",Space,Str "this",Space,Str "with",Space,Str "regular",Space,Str "citations,",Space,Str "although",Space,Str "it\8217s",Space,Str "not",Space,Str "recommended:",Space,Str "fig.\160\&2,",Space,Str "tbl.\160\&1,",Space,Cite [Citation {citationId = "unprocessedCitation", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@unprocessedCitation]"]]+ ,Para [Str "It",Space,Str "is",Space,Str "also",Space,Str "possible",Space,Str "to",Space,Str "mix",Space,Str "different",Space,Str "references,",Space,Str "like",Space,Str "fig.\160\&2,",Space,Str "tbl.\160\&1,",Space,Str "lsts.\160\&1,",Space,Str "2,",Space,Str "figs.\160\&3,",Space,Str "4,",Space,Str "which",Space,Str "will",Space,Str "be",Space,Str "grouped",Space,Str "in",Space,Str "order",Space,Str "they",Space,Str "are",Space,Str "specified.",Space,Str "You",Space,Str "can",Space,Str "even",Space,Str "intermix",Space,Str "this",Space,Str "with",Space,Str "regular",Space,Str "citations,",Space,Str "although",Space,Str "it\8217s",Space,Str "not",Space,Str "recommended:",Space,Str "fig.\160\&2,",Space,Str "tbl.\160\&1,",Space,Cite [Citation {citationId = "unprocessedCitation", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 11, citationHash = 0}] [Str "[@unprocessedCitation]"]] ,Para [Str "You",Space,Str "can",Space,Str "also",Space,Str "have",Space,Str "custom",Space,Str "chapter",Space,Str "reference",Space,Str "labels,",Space,Str "like",Space,Str "sec.\160AppA.CustLab"] ,Para [Str "Subfigures",Space,Str "are",Space,Str "supported,",Space,Str "see",Space,Str "figs.\160\&5,",Space,Str "5",Space,Str "(b)"] ,Header 1 ("sec:sec1",[],[]) [Str "Chapter",Space,Str "1.",Space,Str "Figures"]
+ test/m2m/listings-code-block-caption-278/expect.md view
@@ -0,0 +1,5 @@+This is \#278 regression test++::: {#lst:some_listing .listing}+Listing 1: some_listing+:::
+ test/m2m/listings-code-block-caption-278/expect.tex view
@@ -0,0 +1,4 @@+This is \#278 regression test++\begin{lstlisting}[caption={some\_listing}, label=lst:some_listing]+\end{lstlisting}
+ test/m2m/listings-code-block-caption-278/input.md view
@@ -0,0 +1,11 @@+---+codeBlockCaptions: true+listings: true+...++This is #278 regression test++```{#lst:some_listing}+```++Listing: some_listing
test/test-integrative.hs view
@@ -29,6 +29,9 @@ import Text.Pandoc.Highlighting import qualified Data.Text as T +listingsDirs :: [String]+listingsDirs = ["listings-code-block-caption-278"]+ m2m :: String -> Spec m2m dir | dir == "." = return ()@@ -38,7 +41,9 @@ input <- runIO $ readFile ("test" </> "m2m" </> dir </> "input.md") expect_md <- runIO $ readFile ("test" </> "m2m" </> dir </> "expect.md") let ro = def { readerExtensions = pandocExtensions }- wo = def { writerExtensions = pandocExtensions, writerHighlightStyle=Just pygments }+ wo = def { writerExtensions = pandocExtensions+ , writerHighlightStyle=Just pygments+ , writerListings = dir `elem` listingsDirs } p@(Pandoc meta _) <- runIO $ either (error . show) id <$> P.runIO (readMarkdown ro $ T.pack input) let actual_md = either (fail . show) T.unpack $ runPure $ writeMarkdown wo $ runCrossRef meta (Just $ Format "markdown") defaultCrossRefAction p it "Markdown" $ do