From d164e5bb1d3106e81bc886fd41a849f080f03c8c Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 1 Feb 2022 21:40:43 -0800 Subject: Docx reader: parse EN.CITE and EN.REFLIST fields. --- src/Text/Pandoc/Readers/Docx/Fields.hs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Text/Pandoc/Readers/Docx/Fields.hs b/src/Text/Pandoc/Readers/Docx/Fields.hs index a53ef35ea..4cb89ac0c 100644 --- a/src/Text/Pandoc/Readers/Docx/Fields.hs +++ b/src/Text/Pandoc/Readers/Docx/Fields.hs @@ -28,6 +28,8 @@ data FieldInfo = HyperlinkField URL | PagerefField Anchor Bool | CslCitation T.Text | CslBibliography + | EndNoteCite T.Text + | EndNoteRefList | UnknownField deriving (Show) @@ -38,7 +40,7 @@ fieldInfo :: Parser FieldInfo fieldInfo = try (HyperlinkField <$> hyperlink) <|> - try ((uncurry PagerefField) <$> pageref) + try ((uncurry PagerefField) <$> pageref) <|> try addIn <|> @@ -49,7 +51,7 @@ addIn = do spaces string "ADDIN" spaces - try cslCitation <|> cslBibliography + try cslCitation <|> cslBibliography <|> endnoteCite <|> endnoteRefList cslCitation :: Parser FieldInfo cslCitation = do @@ -64,6 +66,18 @@ cslBibliography = do string "ZOTERO_BIBL" <|> string "Mendeley Bibliography CSL_BIBLIOGRAPHY" return CslBibliography +endnoteCite :: Parser FieldInfo +endnoteCite = try $ do + string "EN.CITE" + spaces + EndNoteCite <$> getInput + +endnoteRefList :: Parser FieldInfo +endnoteRefList = try $ do + string "EN.REFLIST" + return EndNoteRefList + + escapedQuote :: Parser T.Text escapedQuote = string "\\\"" $> "\\\"" -- cgit v1.2.3