mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-25 01:36:45 +00:00
LaTeX reader: more robust parsing of bracketed options.
Improves on 9a40976. Closes #6873.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)"]]]
|
||||
```
|
||||
Reference in New Issue
Block a user