diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-02-25 12:40:53 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-02-25 12:43:00 +0100 |
commit | 7d0082aa0b631592f38fc9436a3d0dd5426653cf (patch) | |
tree | fdf8ceb9696c2c046397c431683a18ce63e5ccf2 /src | |
parent | f1cf8273d5e44d9356f17b589a6429c0f121f449 (diff) | |
download | pandoc-7d0082aa0b631592f38fc9436a3d0dd5426653cf.tar.gz |
LaTeX reader: allow hspace and vspace to count as raw block or inline.
Previously we would refuse to parse anything as raw inline if
it was in the blockCommands list. Now we allow exceptions
if they're listed under ignoreInlines in inlineCommands.
This should make it easier e.g. to include an \hspace
between two side-by-side raw LaTeX tables.
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/LaTeX.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index a13a0c54e..18c240e27 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -445,7 +445,6 @@ inlineCommand :: PandocMonad m => LP m Inlines inlineCommand = try $ do (name, raw') <- withRaw anyControlSeq guard $ name /= "begin" && name /= "end" - guard $ not $ isBlockCommand name exts <- getOption readerExtensions star <- option "" (string "*") let name' = name ++ star @@ -461,7 +460,7 @@ inlineCommand = try $ do else ignore rawcommand (lookupListDefault mzero [name',name] inlineCommands <* optional (try (string "{}"))) - <|> raw + <|> (guard (not (isBlockCommand name)) >> raw) unlessParseRaw :: PandocMonad m => LP m () unlessParseRaw = getOption readerExtensions >>= @@ -648,7 +647,10 @@ inlineCommands = M.fromList $ ] ++ map ignoreInlines -- these commands will be ignored unless --parse-raw is specified, -- in which case they will appear as raw latex blocks: - [ "index" ] + [ "index" + , "hspace" + , "vspace" + ] mkImage :: PandocMonad m => [(String, String)] -> String -> LP m Inlines mkImage options src = do |