diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2018-08-21 21:01:52 -0700 | 
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2018-08-21 21:03:43 -0700 | 
| commit | 3b5949e8f278a8d407777f567fdaf8e421323ced (patch) | |
| tree | b7203d45af30ef77c88c55f9ea02943b9e85d1dd /src/Text/Pandoc | |
| parent | 5823031796922f14ce9bbc913c8b453a66563ff5 (diff) | |
| download | pandoc-3b5949e8f278a8d407777f567fdaf8e421323ced.tar.gz | |
LaTeX reader: support blockcquote, foreignblockquote from csquotes.
Also foreigncblockquote, hyphenblockquote, hyphencblockquote.
Closes #4848.  But note:   currently foreignquote will be
parsed as a regular Quoted inline (not using the quotes
appropriate to the foreign language).
Diffstat (limited to 'src/Text/Pandoc')
| -rw-r--r-- | src/Text/Pandoc/Readers/LaTeX.hs | 24 | 
1 files changed, 19 insertions, 5 deletions
| diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index cd21179df..56f14752a 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -987,10 +987,19 @@ enquote starred mblang = do       then singleQuoted . langspan <$> withQuoteContext InSingleQuote tok       else doubleQuoted . langspan <$> withQuoteContext InDoubleQuote tok -blockquote :: PandocMonad m => LP m Blocks -blockquote = do +blockquote :: PandocMonad m => Bool -> Maybe Text -> LP m Blocks +blockquote citations mblang = do +  citePar <- if citations +                then do +                  cs <- cites NormalCitation False +                  return $ para (cite cs mempty) +                else return mempty +  let lang = (T.unpack <$> mblang) >>= babelLangToBCP47 +  let langdiv = case lang of +                      Nothing -> id +                      Just l  -> divWith ("",[],[("lang", renderLang l)])    bs <- grouped block -  return $ blockQuote bs +  return $ blockQuote . langdiv $ (bs <> citePar)  doAcronym :: PandocMonad m => String -> LP m Inlines  doAcronym form = do @@ -2540,8 +2549,13 @@ blockCommands = M.fromList     -- LaTeX colors     , ("textcolor", coloredBlock "color")     , ("colorbox", coloredBlock "background-color") -   -- csquotse -   , ("blockquote", blockquote) +   -- csquotes +   , ("blockquote", blockquote False Nothing) +   , ("blockcquote", blockquote True Nothing) +   , ("foreignblockquote", braced >>= blockquote False . Just . untokenize) +   , ("foreignblockcquote", braced >>= blockquote True . Just . untokenize) +   , ("hyphenblockquote", braced >>= blockquote False . Just . untokenize) +   , ("hyphenblockcquote", braced >>= blockquote True . Just . untokenize)     -- include     , ("include", include "include")     , ("input", include "input") | 
