private BibtexFields() { fieldSet = new Dictionary<string, BibtexSingleField>(); BibtexSingleField dummy = null ; // FIRST: all standard fields // These are the fields that BibTex might want to treat, so these // must conform to BibTex rules. add( new BibtexSingleField( "address", true, GUIGlobals.SMALL_W ) ) ; // An annotation. It is not used by the standard bibliography styles, // but may be used by others that produce an annotated bibliography. // http://www.ecst.csuchico.edu/~jacobsd/bib/formats/bibtex.html add( new BibtexSingleField( "annote", true, GUIGlobals.LARGE_W ) ) ; add( new BibtexSingleField( "author", true, GUIGlobals.MEDIUM_W, 280 ) ) ; add( new BibtexSingleField( "booktitle", true, 175 ) ) ; add( new BibtexSingleField( "chapter", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "crossref", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "edition", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "editor", true, GUIGlobals.MEDIUM_W, 280 ) ) ; add( new BibtexSingleField( "howpublished", true, GUIGlobals.MEDIUM_W ) ) ; add( new BibtexSingleField( "institution", true, GUIGlobals.MEDIUM_W ) ) ; dummy = new BibtexSingleField( "journal", true, GUIGlobals.SMALL_W ) ; dummy.setExtras("journalNames"); add(dummy) ; add( new BibtexSingleField( "key", true ) ) ; add( new BibtexSingleField( "month", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "note", true, GUIGlobals.MEDIUM_W ) ) ; add( new BibtexSingleField( "number", true, GUIGlobals.SMALL_W, 60 ).setNumeric(true) ) ; add( new BibtexSingleField( "organization", true, GUIGlobals.MEDIUM_W ) ) ; add( new BibtexSingleField( "pages", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "publisher", true, GUIGlobals.MEDIUM_W ) ) ; add( new BibtexSingleField( "school", true, GUIGlobals.MEDIUM_W ) ) ; add( new BibtexSingleField( "series", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "title", true, 400 ) ) ; add( new BibtexSingleField( "type", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "language", true, GUIGlobals.SMALL_W ) ) ; add( new BibtexSingleField( "volume", true, GUIGlobals.SMALL_W, 60 ).setNumeric(true) ) ; add( new BibtexSingleField( "year", true, GUIGlobals.SMALL_W, 60 ).setNumeric(true) ) ; // some semi-standard fields dummy = new BibtexSingleField( KEY_FIELD, true ) ; dummy.setPrivate(); add( dummy ) ; dummy = new BibtexSingleField( "doi", true, GUIGlobals.SMALL_W ) ; dummy.setExtras("external"); add(dummy) ; add( new BibtexSingleField( "eid", true, GUIGlobals.SMALL_W ) ) ; dummy = new BibtexSingleField( "date", true ) ; dummy.setPrivate(); add( dummy ) ; add(new BibtexSingleField("pmid", false, GUIGlobals.SMALL_W, 60).setNumeric(true)); // additional fields ------------------------------------------------------ add( new BibtexSingleField( "location", false ) ) ; add( new BibtexSingleField( "abstract", false, GUIGlobals.LARGE_W, 400 ) ) ; dummy = new BibtexSingleField( "url", false, GUIGlobals.SMALL_W) ; dummy.setExtras("external"); add(dummy) ; dummy = new BibtexSingleField( "pdf", false, GUIGlobals.SMALL_W ) ; dummy.setExtras("browseDoc"); add(dummy) ; dummy = new BibtexSingleField( "ps", false, GUIGlobals.SMALL_W ) ; dummy.setExtras("browseDocZip"); add(dummy) ; add( new BibtexSingleField( "comment", false, GUIGlobals.MEDIUM_W ) ) ; add( new BibtexSingleField( "keywords", false, GUIGlobals.SMALL_W ) ) ; //FIELD_EXTRAS.put("keywords", "selector"); dummy = new BibtexSingleField(GUIGlobals.FILE_FIELD, false); dummy.setEditorType(GUIGlobals.FILE_LIST_EDITOR); add(dummy); add( new BibtexSingleField( "search", false, 75 ) ) ; // some internal fields ---------------------------------------------- dummy = new BibtexSingleField( GUIGlobals.NUMBER_COL, false, 32 ) ; dummy.setPrivate() ; dummy.setWriteable(false); dummy.setDisplayable(false); add( dummy ) ; dummy = new BibtexSingleField( OWNER, false, GUIGlobals.SMALL_W ) ; dummy.setExtras("setOwner"); dummy.setPrivate(); add(dummy) ; dummy = new BibtexSingleField( TIMESTAMP, false, GUIGlobals.SMALL_W ) ; dummy.setExtras("datepicker"); dummy.setPrivate(); add(dummy) ; dummy = new BibtexSingleField( ENTRYTYPE, false, 75 ) ; dummy.setPrivate(); add(dummy) ; dummy = new BibtexSingleField( SEARCH, false) ; dummy.setPrivate(); dummy.setWriteable(false); dummy.setDisplayable(false); add(dummy) ; dummy = new BibtexSingleField( GROUPSEARCH, false) ; dummy.setPrivate(); dummy.setWriteable(false); dummy.setDisplayable(false); add(dummy) ; dummy = new BibtexSingleField( MARKED, false) ; dummy.setPrivate(); dummy.setWriteable(true); // This field must be written to file! dummy.setDisplayable(false); add(dummy) ; // collect all public fields for the PUBLIC_FIELDS array List<string> pFields = new List<string>(fieldSet.Count) ; foreach (var sField in fieldSet.Values){ if (sField.isPublic() ) { pFields.Add( sField.getFieldName() ); // or export the complet BibtexSingleField ? // BibtexSingleField.ToString() { return fieldname ; } } } PUBLIC_FIELDS = pFields.ToArray(); // sort the entries Array.Sort( PUBLIC_FIELDS ); }