aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs9
-rw-r--r--test/command/6324.md17
2 files changed, 20 insertions, 6 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index c42a21465..03dd701a9 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -538,7 +538,7 @@ inNote ils =
inlineCommand' :: PandocMonad m => LP m Inlines
inlineCommand' = try $ do
Tok _ (CtrlSeq name) cmd <- anyControlSeq
- guard $ name /= "begin" && name /= "end"
+ guard $ name /= "begin" && name /= "end" && name /= "and"
star <- option "" ("*" <$ symbol '*' <* sp)
overlay <- option "" overlaySpecification
let name' = name <> star <> overlay
@@ -1275,10 +1275,7 @@ addMeta field val = updateState $ \st ->
authors :: PandocMonad m => LP m ()
authors = try $ do
bgroup
- let oneAuthor = mconcat <$>
- many1 (notFollowedBy' (controlSeq "and") >>
- (inline <|> mempty <$ blockCommand))
- -- skip e.g. \vspace{10pt}
+ let oneAuthor = blocksToInlines' . B.toList . mconcat <$> many1 block
auths <- sepBy oneAuthor (controlSeq "and")
egroup
addMeta "author" (map trimInlines auths)
@@ -1468,7 +1465,7 @@ section (ident, classes, kvs) lvl = do
blockCommand :: PandocMonad m => LP m Blocks
blockCommand = try $ do
Tok _ (CtrlSeq name) txt <- anyControlSeq
- guard $ name /= "begin" && name /= "end"
+ guard $ name /= "begin" && name /= "end" && name /= "and"
star <- option "" ("*" <$ symbol '*' <* sp)
let name' = name <> star
let names = ordNub [name', name]
diff --git a/test/command/6324.md b/test/command/6324.md
new file mode 100644
index 000000000..0fe57ce65
--- /dev/null
+++ b/test/command/6324.md
@@ -0,0 +1,17 @@
+```
+% pandoc -f latex -t native -s
+\documentclass{article}
+
+\begin{document}
+ \title{Document title}
+ \author{
+
+Me
+
+}
+\maketitle
+\end{document}
+^D
+Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "Me"]]),("title",MetaInlines [Str "Document",Space,Str "title"])]})
+[]
+```