Asciidoctor writer sets the stem attribute if it contains latexmath
This commit is contained in:
parent
568b25d33a
commit
8c2e2435f9
3 changed files with 11 additions and 1 deletions
|
@ -15,6 +15,9 @@ $endif$
|
|||
$if(toc)$
|
||||
:toc:
|
||||
$endif$
|
||||
$if(math)$
|
||||
:stem: latexmath
|
||||
$endif$
|
||||
|
||||
$endif$
|
||||
$if(abstract)$
|
||||
|
|
|
@ -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 <> "\\]"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
= Pandoc Test Suite
|
||||
John MacFarlane; Anonymous
|
||||
July 17, 2006
|
||||
:stem: latexmath
|
||||
|
||||
This is a set of tests for pandoc. Most of them are adapted from John Gruber’s
|
||||
markdown test suite.
|
||||
|
|
Loading…
Add table
Reference in a new issue