@@ -1173,18 +1173,18 @@ chkCit t = do
11731173 case lookupKeySrc (stateKeys st) [Str $ fst t] of
11741174 Just _ -> fail "This is a link"
11751175 Nothing -> if elem (fst t) $ stateCitations st
1176− then return $ Just t
1177− else return $ Nothing
1176+ then return $ Just t
1177+ else return $ Nothing
11781178
11791179citeMarker :: GenParser Char ParserState String
1180−citeMarker = string "[" >> manyTill anyChar (try $ string "]")
1180+citeMarker = char '[' >> manyTill ( noneOf "\n" <|> (newline >>~ notFollowedBy blankline) ) (char ']')
11811181
11821182parseCitation :: GenParser Char ParserState [(String,String)]
11831183parseCitation = try $ sepBy (parseLabel) (oneOf ";")
11841184
11851185parseLabel :: GenParser Char ParserState (String,String)
11861186parseLabel = try $ do
1187− res <- sepBy (skipMany (oneOf "\t\n ") >> many1 (noneOf "@;")) (oneOf "@")
1187+ res <- sepBy (skipSpaces >> optional newline >> skipSpaces >> many1 (noneOf "@;")) (oneOf "@")
11881188 case res of
11891189 [lab,loc] -> return (lab, loc)
11901190 [lab] -> return (lab, "" )