From 8c2e2435f9f9d4ae92ec28a017d26e1c4a834393 Mon Sep 17 00:00:00 2001 From: TG Date: Thu, 7 Feb 2019 19:01:58 +0100 Subject: Asciidoctor writer sets the stem attribute if it contains latexmath --- src/Text/Pandoc/Writers/AsciiDoc.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Text/Pandoc/Writers/AsciiDoc.hs b/src/Text/Pandoc/Writers/AsciiDoc.hs index a33fd8916..c67178b7a 100644 --- a/src/Text/Pandoc/Writers/AsciiDoc.hs +++ b/src/Text/Pandoc/Writers/AsciiDoc.hs @@ -62,6 +62,7 @@ data WriterState = WriterState { defListMarker :: String , intraword :: Bool , autoIds :: Set.Set String , asciidoctorVariant :: Bool + , hasMath :: Bool } defaultWriterState :: WriterState @@ -71,6 +72,7 @@ defaultWriterState = WriterState { defListMarker = "::" , intraword = False , autoIds = Set.empty , asciidoctorVariant = False + , hasMath = False } -- | Convert Pandoc to AsciiDoc. @@ -101,11 +103,13 @@ pandocToAsciiDoc opts (Pandoc meta blocks) = do meta body <- vcat <$> mapM (elementToAsciiDoc 1 opts) (hierarchicalize blocks) let main = render colwidth body + st <- get let context = defField "body" main $ defField "toc" (writerTableOfContents opts && isJust (writerTemplate opts)) - $defField "titleblock" titleblock metadata + $ defField "math" (hasMath st) + $ defField "titleblock" titleblock metadata case writerTemplate opts of Nothing -> return main Just tpl -> renderTemplate' tpl context @@ -422,12 +426,14 @@ inlineToAsciiDoc _ (Code _ str) = return $ inlineToAsciiDoc _ (Str str) = return $ text $ escapeString str inlineToAsciiDoc _ (Math InlineMath str) = do isAsciidoctor <- gets asciidoctorVariant + modify $ \st -> st{ hasMath = True } let content = if isAsciidoctor then text str else "$" <> text str <> "$" return $ "latexmath:[" <> content <> "]" inlineToAsciiDoc _ (Math DisplayMath str) = do isAsciidoctor <- gets asciidoctorVariant + modify $ \st -> st{ hasMath = True } let content = if isAsciidoctor then text str else "\\[" <> text str <> "\\]" -- cgit v1.2.3