git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: support blockcquote, foreignblockquote from csquotes.
3b5949eJohn MacFarlane
src/Text/Pandoc/Readers/LaTeX.hs+19−5
@@ -987,10 +987,19 @@ enquote starred mblang = do
987 then singleQuoted . langspan <$> withQuoteContext InSingleQuote tok
987 then singleQuoted . langspan <$> withQuoteContext InSingleQuote tok
988 else doubleQuoted . langspan <$> withQuoteContext InDoubleQuote tok
988 else doubleQuoted . langspan <$> withQuoteContext InDoubleQuote tok
989
989
990−blockquote :: PandocMonad m => LP m Blocks
990+blockquote :: PandocMonad m => Bool -> Maybe Text -> LP m Blocks
991−blockquote = do
991+blockquote citations mblang = do
992+ citePar <- if citations
993+ then do
994+ cs <- cites NormalCitation False
995+ return $ para (cite cs mempty)
996+ else return mempty
997+ let lang = (T.unpack <$> mblang) >>= babelLangToBCP47
998+ let langdiv = case lang of
999+ Nothing -> id
1000+ Just l -> divWith ("",[],[("lang", renderLang l)])
992 bs <- grouped block
1001 bs <- grouped block
993− return $ blockQuote bs
1002+ return $ blockQuote . langdiv $ (bs <> citePar)
994
1003
995doAcronym :: PandocMonad m => String -> LP m Inlines
1004doAcronym :: PandocMonad m => String -> LP m Inlines
996doAcronym form = do
1005doAcronym form = do
@@ -2540,8 +2549,13 @@ blockCommands = M.fromList
2540 -- LaTeX colors
2549 -- LaTeX colors
2541 , ("textcolor", coloredBlock "color")
2550 , ("textcolor", coloredBlock "color")
2542 , ("colorbox", coloredBlock "background-color")
2551 , ("colorbox", coloredBlock "background-color")
2543− -- csquotse
2552+ -- csquotes
2544− , ("blockquote", blockquote)
2553+ , ("blockquote", blockquote False Nothing)
2554+ , ("blockcquote", blockquote True Nothing)
2555+ , ("foreignblockquote", braced >>= blockquote False . Just . untokenize)
2556+ , ("foreignblockcquote", braced >>= blockquote True . Just . untokenize)
2557+ , ("hyphenblockquote", braced >>= blockquote False . Just . untokenize)
2558+ , ("hyphenblockcquote", braced >>= blockquote True . Just . untokenize)
2545 -- include
2559 -- include
2546 , ("include", include "include")
2560 , ("include", include "include")
2547 , ("input", include "input")
2561 , ("input", include "input")
test/command/4848.md+4−3
@@ -39,7 +39,8 @@ consectetuer.
39^D
39^D
40[Para [Str "Lorem",Space,Str "ipsum"]
40[Para [Str "Lorem",Space,Str "ipsum"]
41,BlockQuote
41,BlockQuote
42+ [Para [Str "dolor",Space,Str "sit",Space,Str "amet"]
42− [Para [Str "dolor",Space,Str "sit",Space,Str "amet",Space,Cite [Citation {citationId = "Knu86", citationPrefix = [], citationSuffix = [Str "198"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cite[198]{Knu86}"]]]
43+ ,Para [Cite [Citation {citationId = "Knu86", citationPrefix = [], citationSuffix = [Str "198"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] []]]
43,Para [Str "consectetuer."]]
44,Para [Str "consectetuer."]]
44```
45```
45
46
@@ -50,8 +51,8 @@ Lorem ipsum
50consectetuer.
51consectetuer.
51^D
52^D
52[Para [Str "Lorem",Space,Str "ipsum"]
53[Para [Str "Lorem",Space,Str "ipsum"]
54+,BlockQuote
53−,Div ("",[],[("lang","it")])
55+ [Div ("",[],[("lang","it")])
54− [BlockQuote
55 [Para [Str "dolor",Space,Str "sit",Space,Str "amet"]]]
56 [Para [Str "dolor",Space,Str "sit",Space,Str "amet"]]]
56,Para [Str "consectetuer."]]
57,Para [Str "consectetuer."]]
57```
58```