git.iko.soy/typeable/pandoc
on master help sign in
JATS writer: Ensure that plain strings go inside `<pub-id>` tag.
542272aJohn MacFarlane
src/Text/Pandoc/Writers/JATS.hs+9−1
@@ -319,7 +319,15 @@ tableItemToJATS opts isHeader item =
319
319
320-- | Convert a list of inline elements to JATS.
320-- | Convert a list of inline elements to JATS.
321inlinesToJATS :: PandocMonad m => WriterOptions -> [Inline] -> JATS m Doc
321inlinesToJATS :: PandocMonad m => WriterOptions -> [Inline] -> JATS m Doc
322−inlinesToJATS opts lst = hcat <$> mapM (inlineToJATS opts) lst
322+inlinesToJATS opts lst = hcat <$> mapM (inlineToJATS opts) (fixCitations lst)
323+ where
324+ fixCitations [] = []
325+ fixCitations (x@(RawInline (Format "jats") "<pub-id pub-id-type=\"doi\">") : xs) =
326+ let isRawInline (RawInline{}) = True
327+ isRawInline _ = False
328+ (ys,zs) = break isRawInline xs
329+ in x : Str (stringify ys) : fixCitations zs
330+ fixCitations (x:xs) = x : fixCitations xs
323
331
324-- | Convert an inline element to JATS.
332-- | Convert an inline element to JATS.
325inlineToJATS :: PandocMonad m => WriterOptions -> Inline -> JATS m Doc
333inlineToJATS :: PandocMonad m => WriterOptions -> Inline -> JATS m Doc