aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs21
-rw-r--r--test/command/6265.md6
2 files changed, 17 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 37fa72c27..1670f8380 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -155,7 +155,8 @@ pandocToLaTeX options (Pandoc meta blocks) = do
_ -> "article"
when (documentClass `elem` chaptersClasses) $
modify $ \s -> s{ stHasChapters = True }
- case T.toLower . render Nothing <$> getField "csquotes" metadata of
+ case lookupContext "csquotes" (writerVariables options) `mplus`
+ (stringify <$> lookupMeta "csquotes" meta) of
Nothing -> return ()
Just "false" -> return ()
Just _ -> modify $ \s -> s{stCsquotes = True}
@@ -1423,14 +1424,14 @@ type Prefix = [Inline]
type Suffix = [Inline]
type CiteId = Text
data CiteGroup = CiteGroup Prefix Suffix [CiteId]
-
+
citeArgumentsList :: PandocMonad m
=> CiteGroup -> LW m (Doc Text)
citeArgumentsList (CiteGroup _ _ []) = return empty
-citeArgumentsList (CiteGroup pfxs sfxs ids) = do
+citeArgumentsList (CiteGroup pfxs sfxs ids) = do
pdoc <- inlineListToLaTeX pfxs
- sdoc <- inlineListToLaTeX sfxs'
- return $ (optargs pdoc sdoc) <>
+ sdoc <- inlineListToLaTeX sfxs'
+ return $ (optargs pdoc sdoc) <>
(braces (literal (T.intercalate "," (reverse ids))))
where sfxs' = stripLocatorBraces $ case sfxs of
(Str t : r) -> case T.uncons t of
@@ -1479,22 +1480,22 @@ citationsToBiblatex (c:cs)
NormalCitation -> "\\autocite"
return $ text cmd <>
braces (literal (T.intercalate "," (map citationId (c:cs))))
- | otherwise
- = do
+ | otherwise
+ = do
let cmd = case citationMode c of
SuppressAuthor -> "\\autocites*"
AuthorInText -> "\\textcites"
NormalCitation -> "\\autocites"
-
+
groups <- mapM citeArgumentsList (reverse (foldl' grouper [] (c:cs)))
return $ text cmd <> (mconcat groups)
- where grouper prev cit = case prev of
+ where grouper prev cit = case prev of
((CiteGroup oPfx oSfx ids):rest)
| null oSfx && null pfx -> (CiteGroup oPfx sfx (cid:ids)):rest
_ -> (CiteGroup pfx sfx [cid]):prev
- where pfx = citationPrefix cit
+ where pfx = citationPrefix cit
sfx = citationSuffix cit
cid = citationId cit
diff --git a/test/command/6265.md b/test/command/6265.md
new file mode 100644
index 000000000..7b2ada37e
--- /dev/null
+++ b/test/command/6265.md
@@ -0,0 +1,6 @@
+```
+% pandoc -f markdown -t latex -M csquotes=true
+"test"
+^D
+\enquote{test}
+```