LaTeX reader: more robust parsing of bracketed options.
Improves on 9a40976
. Closes #6873.
This commit is contained in:
parent
fec8223d3a
commit
7db2cf5d2f
2 changed files with 15 additions and 3 deletions
|
@ -559,9 +559,14 @@ tok = try $ spaces >> grouped inline <|> inlineCommand' <|> singleChar'
|
|||
return $ str t
|
||||
|
||||
opt :: PandocMonad m => LP m Inlines
|
||||
opt = bracketed inline
|
||||
<|>
|
||||
(str . T.dropWhile (=='[') . T.dropWhileEnd (==']') <$> rawopt)
|
||||
opt = do
|
||||
toks <- try (sp *> bracketedToks <* sp)
|
||||
-- now parse the toks as inlines
|
||||
st <- getState
|
||||
parsed <- runParserT (mconcat <$> many inline) st "bracketed option" toks
|
||||
case parsed of
|
||||
Right result -> return result
|
||||
Left e -> throwError $ PandocParsecError (untokenize toks) e
|
||||
|
||||
paropt :: PandocMonad m => LP m Inlines
|
||||
paropt = parenWrapped inline
|
||||
|
|
7
test/command/6873.md
Normal file
7
test/command/6873.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
```
|
||||
% pandoc -f latex -t native --citeproc
|
||||
\cite[„Etwas […{]} auslassen“]{key}
|
||||
^D
|
||||
[WARNING] Citeproc: citation key not found
|
||||
[Para [Cite [Citation {citationId = "key", citationPrefix = [], citationSuffix = [Str "\8222Etwas",Space,Str "[\8230",Span ("",[],[]) [Str "]"],Space,Str "auslassen\8220"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "(",Strong [Str "key?"],Str "\8222Etwas",Space,Str "[\8230",Span ("",[],[]) [Str "]"],Space,Str "auslassen\8220)"]]]
|
||||
```
|
Loading…
Add table
Reference in a new issue