void ParseRootEntry(BibTexDatabase database) { Consume(TokenType.At); var entryType = Consume(TokenType.Text).Data; Consume(TokenType.OpeningBrace); switch (entryType.ToLower()) { case "string": ParseAbbreviation(database); break; case "preamble": ParsePreamble(); break; case "comment": ParseComment(); break; default: var entry = ParseEntry(database, entryType); database.AddEntry(entry); //Console.WriteLine("@{0}{{{1},", entry.EntryType, entry.Name); break; } }
public BibTexDatabase CreateSubsetDatabase(params string[] keys) { var result = new BibTexDatabase(abbreviations); foreach (var key in keys) { var entry = this[key]; if (entry == null) { continue; } result.AddEntry(entry); } return(result); }