aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2020-04-07 09:24:26 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2020-04-07 09:25:52 -0700
commit11df2a3c0f2b1b8e351ad8caaa7cdf583e1b3b2e (patch)
tree38ccac520532c8db49bab1a2c0129c36ef883b06
parent39b742e5ba19641d125c2071b99e74c6a61596b1 (diff)
downloadpandoc-11df2a3c0f2b1b8e351ad8caaa7cdf583e1b3b2e.tar.gz
LaTeX reader: better handling of `\lettrine`.
- SmallCaps instead of Span for the part after the initial capital. - Ensure that both arguments are parsed, so that in Markdown both are treated as raw LateX. (Closes #6258.)
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs9
-rw-r--r--test/command/lettrine.md4
2 files changed, 10 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index 59339c606..038430f99 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -923,7 +923,7 @@ inlineCommands = M.union inlineLanguageCommands $ M.fromList
, ("eqref", rawInlineOr "eqref" $ doref "eqref") -- from amsmath.sty
, ("mbox", rawInlineOr "mbox" $ processHBox <$> tok)
, ("hbox", rawInlineOr "hbox" $ processHBox <$> tok)
- , ("lettrine", optional opt >> extractSpaces (spanWith ("",["lettrine"],[])) <$> tok)
+ , ("lettrine", rawInlineOr "lettrine" $ lettrine)
, ("(", mathInline . untokenize <$> manyTill anyTok (controlSeq ")"))
, ("[", mathDisplay . untokenize <$> manyTill anyTok (controlSeq "]"))
, ("ensuremath", mathInline . untokenize <$> braced)
@@ -1178,6 +1178,13 @@ inlineCommands = M.union inlineLanguageCommands $ M.fromList
, ("ifdim", ifdim)
]
+lettrine :: PandocMonad m => LP m Inlines
+lettrine = do
+ optional opt
+ x <- tok
+ y <- tok
+ return $ extractSpaces (spanWith ("",["lettrine"],[])) x <> smallcaps y
+
ifdim :: PandocMonad m => LP m Inlines
ifdim = do
contents <- manyTill anyTok (controlSeq "fi")
diff --git a/test/command/lettrine.md b/test/command/lettrine.md
index 0c3c64d66..7bbc20080 100644
--- a/test/command/lettrine.md
+++ b/test/command/lettrine.md
@@ -4,6 +4,6 @@
\lettrine[lhang=0.17]{A}{category} is
^D
-[Para [Span ("",["lettrine"],[]) [Str "A"],Span ("",[],[]) [Str "category"],Space,Str "is"]
-,Para [Span ("",["lettrine"],[]) [Str "A"],Span ("",[],[]) [Str "category"],Space,Str "is"]]
+[Para [Span ("",["lettrine"],[]) [Str "A"],SmallCaps [Str "category"],Space,Str "is"]
+,Para [Span ("",["lettrine"],[]) [Str "A"],SmallCaps [Str "category"],Space,Str "is"]]
```