@@ -724,8 +724,10 @@ escapeSpaces x = x
724724-- | Convert Pandoc inline element to markdown.
725725inlineToMarkdown :: WriterOptions -> Inline -> State WriterState Doc
726726inlineToMarkdown opts (Span attrs ils) = do
727+ plain <- gets stPlain
727728 contents <- inlineListToMarkdown opts ils
728− return $ if isEnabled Ext_raw_html opts
729+ return $ if not plain &&
730+ (isEnabled Ext_raw_html opts || isEnabled Ext_native_spans opts)
729731 then tagWithAttrs "span" attrs <> contents <> text "</span>"
730732 else contents
731733inlineToMarkdown opts (Emph lst) = do
@@ -758,13 +760,14 @@ inlineToMarkdown opts (Subscript lst) = do
758760 else "<sub>" <> contents <> "</sub>"
759761inlineToMarkdown opts (SmallCaps lst) = do
760762 plain <- gets stPlain
761− if plain
762− then inlineListToMarkdown opts $ capitalize lst
763− else do
763+ if not plain &&
764+ (isEnabled Ext_raw_html opts || isEnabled Ext_native_spans opts)
765+ then do
764766 contents <- inlineListToMarkdown opts lst
765767 return $ tagWithAttrs "span"
766− ("",[],[("style","font-variant:small-caps;")])
768+ ("",[],[("style","font-variant:small-caps;")])
767769 <> contents <> text "</span>"
770+ else inlineListToMarkdown opts $ capitalize lst
768771inlineToMarkdown opts (Quoted SingleQuote lst) = do
769772 contents <- inlineListToMarkdown opts lst
770773 return $ "‘" <> contents <> "’"