27 #ifndef SCHNEK_LITERATURE_HPP_ 28 #define SCHNEK_LITERATURE_HPP_ 30 #include "../util/singleton.hpp" 32 #include <boost/tuple/tuple.hpp> 44 typedef enum {article, book, booklet, inbook, incollection,
45 inproceedings, manual, mastersthesis, misc, phdthesis,
46 proceedings, techreport, unpublished } PublicationType;
53 std::string booktitle;
59 std::string howpublished;
60 std::string institution;
66 std::string organization;
68 std::string publisher;
79 PublicationType publType;
88 booktitle(ref.booktitle),
90 crossref(ref.crossref),
94 howpublished(ref.howpublished),
95 institution(ref.institution),
101 organization(ref.organization),
103 publisher(ref.publisher),
113 publType(ref.publType)
118 address = ref.address;
121 booktitle = ref.booktitle;
122 chapter = ref.chapter;
123 crossref = ref.crossref;
124 edition = ref.edition;
127 howpublished = ref.howpublished;
128 institution = ref.institution;
129 journal = ref.journal;
134 organization = ref.organization;
136 publisher = ref.publisher;
146 publType = ref.publType;
151 std::string getPublicationTypeString()
const;
153 PublicationType getPublicationType()
const 158 std::string getAddress()
const 163 std::string getAnnote()
const 168 std::string getAuthor()
const 173 std::string getBooktitle()
const 178 std::string getChapter()
const 183 std::string getCrossref()
const 188 std::string getEdition()
const 193 std::string getEditor()
const 198 std::string getEprint()
const 203 std::string getHowpublished()
const 208 std::string getInstitution()
const 213 std::string getJournal()
const 218 std::string getKey()
const 223 std::string getMonth()
const 228 std::string getNote()
const 233 std::string getNumber()
const 238 std::string getOrganization()
const 243 std::string getPages()
const 248 std::string getPublisher()
const 253 std::string getSchool()
const 258 std::string getSeries()
const 263 std::string getTitle()
const 268 std::string getType()
const 273 std::string getUrl()
const 278 std::string getDoi()
const 283 std::string getVolume()
const 288 std::string getYear()
const 293 virtual std::string getBibKey()
const 298 void setPublicationType(PublicationType publType)
300 this->publType = publType;
303 void setAddress(std::string address)
305 this->address = address;
308 void setAnnote(std::string annote)
310 this->annote = annote;
313 void setAuthor(std::string author)
315 this->author = author;
318 void setBooktitle(std::string booktitle)
320 this->booktitle = booktitle;
323 void setChapter(std::string chapter)
325 this->chapter = chapter;
328 void setCrossref(std::string crossref)
330 this->crossref = crossref;
333 void setEdition(std::string edition)
335 this->edition = edition;
338 void setEditor(std::string editor)
340 this->editor = editor;
343 void setEprint(std::string eprint)
345 this->eprint = eprint;
348 void setHowpublished(std::string howpublished)
350 this->howpublished = howpublished;
353 void setInstitution(std::string institution)
355 this->institution = institution;
358 void setJournal(std::string journal)
360 this->journal = journal;
363 void setKey(std::string key)
368 void setMonth(std::string month)
373 void setNote(std::string note)
378 void setNumber(std::string number)
380 this->number = number;
383 void setOrganization(std::string organization)
385 this->organization = organization;
388 void setPages(std::string pages)
393 void setPublisher(std::string publisher)
395 this->publisher = publisher;
398 void setSchool(std::string school)
400 this->school = school;
403 void setSeries(std::string series)
405 this->series = series;
408 void setTitle(std::string title)
413 void setType(std::string type)
418 void setUrl(std::string url)
423 void setDoi(std::string doi)
428 void setVolume(std::string volume)
430 this->volume = volume;
433 void setYear(std::string year)
444 LiteratureArticle(std::string bibKey, std::string author, std::string title, std::string journal, std::string year,
445 std::string volume =
"", std::string pages =
"", std::string number =
"", std::string month =
"",
446 std::string note =
"", std::string key =
"")
449 setPublicationType(article);
468 LiteratureBook(std::string bibKey, std::string author, std::string editor, std::string title, std::string publisher, std::string year,
469 std::string volume =
"", std::string number =
"", std::string series =
"", std::string address =
"",
470 std::string edition =
"", std::string month =
"", std::string note =
"", std::string key =
"")
473 setPublicationType(book);
478 setPublisher(publisher);
496 std::string author =
"", std::string howpublished =
"", std::string address =
"",
497 std::string month =
"", std::string year=
"", std::string note =
"", std::string key =
"")
500 setPublicationType(booklet);
504 setHowpublished(howpublished);
517 LiteratureInBook(std::string bibKey, std::string author, std::string editor, std::string title, std::string chapter,
518 std::string pages, std::string publisher, std::string year,
519 std::string volume =
"", std::string number =
"", std::string series =
"", std::string type =
"",
520 std::string address =
"", std::string edition =
"", std::string month =
"", std::string note =
"",
521 std::string key =
"")
524 setPublicationType(inbook);
531 setPublisher(publisher);
549 std::string publisher, std::string year,
550 std::string editor =
"", std::string volume =
"", std::string number =
"", std::string series =
"",
551 std::string type =
"", std::string chapter =
"", std::string pages =
"", std::string address =
"",
552 std::string edition =
"", std::string month =
"", std::string note =
"", std::string key =
"")
555 setPublicationType(incollection);
559 setBooktitle(booktitle);
560 setPublisher(publisher);
581 LiteratureInProceedings(std::string bibKey, std::string author, std::string title, std::string booktitle, std::string year,
582 std::string editor =
"", std::string volume =
"", std::string number =
"", std::string series =
"",
583 std::string pages =
"", std::string address =
"", std::string month =
"", std::string organization =
"",
584 std::string publisher =
"", std::string note =
"", std::string key =
"")
587 setPublicationType(inproceedings);
591 setBooktitle(booktitle);
600 setEdition(organization);
601 setPublisher(publisher);
612 std::string author =
"", std::string organization =
"", std::string address =
"", std::string edition =
"",
613 std::string year =
"", std::string publisher =
"", std::string note =
"", std::string key =
"")
616 setPublicationType(manual);
620 setEdition(organization);
624 setPublisher(publisher);
633 LiteratureMastersThesis(std::string bibKey, std::string author, std::string title, std::string school, std::string year,
634 std::string type =
"", std::string address =
"", std::string month =
"",
635 std::string note =
"", std::string key =
"")
638 setPublicationType(mastersthesis);
657 LiteratureMisc(std::string bibKey, std::string author, std::string title, std::string howpublished =
"",
658 std::string month =
"", std::string year=
"", std::string note =
"", std::string key =
"")
661 setPublicationType(misc);
665 setHowpublished(howpublished);
677 LiteraturePhdThesis(std::string bibKey, std::string author, std::string title, std::string school, std::string year,
678 std::string type =
"", std::string address =
"", std::string month =
"",
679 std::string note =
"", std::string key =
"")
682 setPublicationType(phdthesis);
701 std::string editor =
"", std::string volume =
"", std::string number =
"", std::string series =
"",
702 std::string address =
"", std::string month =
"", std::string organization =
"",
703 std::string publisher =
"", std::string note =
"", std::string key =
"")
706 setPublicationType(proceedings);
716 setEdition(organization);
717 setPublisher(publisher);
726 LiteratureTechReport(std::string bibKey, std::string author, std::string title, std::string institution, std::string year,
727 std::string type =
"", std::string number =
"", std::string address =
"", std::string month =
"",
728 std::string note =
"", std::string key =
"")
731 setPublicationType(techreport);
735 setInstitution(institution);
749 LiteratureUnpublished(std::string bibKey, std::string author, std::string title, std::string note, std::string year,
750 std::string month =
"", std::string key =
"")
753 setPublicationType(unpublished);
768 typedef std::set<std::string> Descriptions;
769 typedef std::pair<Descriptions, LiteratureReference> LitRecord;
770 typedef std::map<std::string, LitRecord> Records;
773 std::string subtitle;
778 void writeInformation(std::ostream &, std::string bibfile);
779 void writeBibTex(std::ostream &);
781 const std::string& getTitle()
const 786 void setTitle(
const std::string& title)
791 const std::string& getSubtitle()
const 796 void setSubtitle(
const std::string& subtitle)
798 this->subtitle = subtitle;
Definition: literature.hpp:608
Definition: literature.hpp:723
Definition: literature.hpp:514
Definition: literature.hpp:441
Definition: singleton.hpp:79
Definition: literature.hpp:674
Definition: literature.hpp:492
Definition: literature.hpp:41
Definition: literature.hpp:697
Definition: literature.hpp:578
Definition: singleton.hpp:42
Definition: literature.hpp:630
Definition: literature.hpp:465
Definition: literature.hpp:654
Definition: literature.hpp:746
Definition: literature.hpp:764
Definition: literature.hpp:545