private void ParseBibTeXText(CBibTeX bib) { switch (bib.BibEntry) { case EBibEntry.Article: txtBibRef.Text = ParseBib.ParseBibTeXArticle(bib, literature.DateAdded, literature.DateModified); break; case EBibEntry.Book: break; case EBibEntry.Booklet: break; case EBibEntry.Conference: txtBibRef.Text = ParseBib.ParseBibTeXConference(bib, literature.DateAdded, literature.DateModified); break; case EBibEntry.Inbook: break; case EBibEntry.Incollection: break; case EBibEntry.Manual: break; case EBibEntry.Mastersthesis: txtBibRef.Text = ParseBib.ParseBibTeXMastersthesis(bib, literature.DateAdded, literature.DateModified); break; case EBibEntry.Misc: break; case EBibEntry.Phdthesis: txtBibRef.Text = ParseBib.ParseBibTeXPhdthesis(bib, literature.DateAdded, literature.DateModified); break; case EBibEntry.Proceedings: break; case EBibEntry.Techreport: break; case EBibEntry.Unpublished: txtBibRef.Text = ParseBib.ParseBibTeXUnpublished(bib, literature.DateAdded, literature.DateModified); break; default: break; } literatureBib = bib; literature.DateModified = DateTime.Today; }
public frmBibArticle(CLiterature inputLiterature, List <RLiteratureAuthor> inputAuthorList) { InitializeComponent(); bibTeX.BibEntry = EBibEntry.Article; literature = inputLiterature; txtTitle.Text = literature.Title; txtBibKey.Text = literature.BibKey; bibTeX.BibKey = literature.BibKey; if (inputLiterature.BibTeX != null) { if (inputLiterature.BibTeX.BibEntry != EBibEntry.Article) { inputLiterature.BibTeX = null; } } if (inputLiterature.BibTeX == null || inputLiterature.BibTeX.Title == "" || inputLiterature.BibTeX.Title == null) { txtBibTitle.Text = literature.Title; bibTeX.Title = literature.Title; } else { txtBibTitle.Text = literature.BibTeX.Title; bibTeX.Title = literature.BibTeX.Title; } if (inputLiterature.BibTeX == null || inputLiterature.BibTeX.Author == "" || inputLiterature.BibTeX.Author == null) { txtBibAuthor.Text = ParseBib.GetAuthor(inputAuthorList); bibTeX.Author = txtBibAuthor.Text; } else { txtBibAuthor.Text = inputLiterature.BibTeX.Author; bibTeX.Author = inputLiterature.BibTeX.Author; } if (inputLiterature.BibTeX == null || inputLiterature.BibTeX.Journal == "" || inputLiterature.BibTeX.Journal == null) { txtBibJournal.Text = literature.JournalOrConferenceName; bibTeX.Journal = literature.JournalOrConferenceName; } else { txtBibJournal.Text = literature.BibTeX.Journal; bibTeX.Journal = literature.BibTeX.Journal; } if (inputLiterature.BibTeX == null || inputLiterature.BibTeX.Year == "" || inputLiterature.BibTeX.Year == null) { if (literature.PublishYear != 9999) { txtBibYear.Text = literature.PublishYear.ToString(); bibTeX.Year = literature.PublishYear.ToString(); } else { txtBibYear.Text = ""; bibTeX.Year = ""; } } else { txtBibYear.Text = inputLiterature.BibTeX.Year; bibTeX.Year = inputLiterature.BibTeX.Year; } if (inputLiterature.BibTeX != null) { if (inputLiterature.BibTeX.Volume != null) { txtBibVolume.Text = inputLiterature.BibTeX.Volume; bibTeX.Volume = inputLiterature.BibTeX.Volume; } if (inputLiterature.BibTeX.Number != null) { txtBibNumber.Text = inputLiterature.BibTeX.Number; bibTeX.Number = inputLiterature.BibTeX.Number; } if (inputLiterature.BibTeX.Pages != null) { txtBibPages.Text = inputLiterature.BibTeX.Pages; bibTeX.Pages = inputLiterature.BibTeX.Pages; } if (inputLiterature.BibTeX.Month != null) { cbxBibMonth.Text = inputLiterature.BibTeX.Month; bibTeX.Month = inputLiterature.BibTeX.Month; } if (inputLiterature.BibTeX.Note != null) { txtBibNote.Text = inputLiterature.BibTeX.Note; bibTeX.Note = inputLiterature.BibTeX.Note; } if (inputLiterature.BibTeX.Key != null) { txtBibKeyBackup.Text = inputLiterature.BibTeX.Key; bibTeX.Key = inputLiterature.BibTeX.Key; } } dateAdded = literature.DateAdded; txtBibTeX.Text = ParseBib.ParseBibTeXArticle(bibTeX, dateAdded, DateTime.Today); }
private void tsmExportBib_Click(object sender, EventArgs e) { string strProject = Interaction.InputBox("Project", "Project", "Project", 300, 300); List <RLiteratureInCiting> lstLiterature = G.glb.lstLiteratureCiting.FindAll(o => o.TitleOfMyArticle == strProject); List <CLiterature> lstLitsToBeExported = new List <CLiterature>(); string bib = ""; foreach (RLiteratureInCiting lit in lstLiterature) { lstLitsToBeExported.Add(G.glb.lstLiterature.Find(o => o.Title == lit.Title)); } foreach (CLiterature lit in lstLitsToBeExported) { ParseBibTeX ParseBibTeX = new ParseBibTeX(); string bibLog = ""; switch (lit.BibTeX.BibEntry) { case EBibEntry.Article: bibLog = ParseBibTeX.ParseBibTeXArticle(lit.BibTeX, lit.DateAdded, lit.DateModified); break; case EBibEntry.Book: break; case EBibEntry.Booklet: break; case EBibEntry.Conference: bibLog = ParseBibTeX.ParseBibTeXConference(lit.BibTeX, lit.DateAdded, lit.DateModified); break; case EBibEntry.Inbook: break; case EBibEntry.Incollection: break; case EBibEntry.Manual: break; case EBibEntry.Mastersthesis: bibLog = ParseBibTeX.ParseBibTeXMastersthesis(lit.BibTeX, lit.DateAdded, lit.DateModified); break; case EBibEntry.Misc: break; case EBibEntry.Phdthesis: bibLog = ParseBibTeX.ParseBibTeXPhdthesis(lit.BibTeX, lit.DateAdded, lit.DateModified); break; case EBibEntry.Proceedings: break; case EBibEntry.Techreport: break; case EBibEntry.Unpublished: bibLog = ParseBibTeX.ParseBibTeXUnpublished(lit.BibTeX, lit.DateAdded, lit.DateModified); break; default: break; } bib += bibLog + "\n\n"; } System.IO.File.WriteAllText(@"D:\" + strProject + "Bib.bib", bib); }