static void risout_write( fields *f, FILE *fp, param *p, unsigned long refnum ) { int type; type = get_type( f, p ); output_type( fp, type, p ); output_allpeople( fp, f, type ); output_date( fp, f ); output_alltitles( fp, f, type ); output_pages( fp, f ); output_easy( fp, f, "VOLUME", "VL", LEVEL_ANY ); output_easy( fp, f, "ISSUE", "IS", LEVEL_ANY ); output_easy( fp, f, "NUMBER", "IS", LEVEL_ANY ); output_easy( fp, f, "EDITION", "ET", LEVEL_ANY ); output_easy( fp, f, "NUMVOLUMES", "NV", LEVEL_ANY ); output_easy( fp, f, "AUTHORADDRESS", "AD", LEVEL_ANY ); output_easy( fp, f, "PUBLISHER", "PB", LEVEL_ANY ); output_easy( fp, f, "DEGREEGRANTOR", "PB", LEVEL_ANY ); output_easy( fp, f, "DEGREEGRANTOR:ASIS", "PB", LEVEL_ANY ); output_easy( fp, f, "DEGREEGRANTOR:CORP", "PB", LEVEL_ANY ); output_easy( fp, f, "ADDRESS", "CY", LEVEL_ANY ); output_keywords( fp, f ); output_easy( fp, f, "ABSTRACT", "AB", LEVEL_ANY ); output_easy( fp, f, "CALLNUMBER", "CN", LEVEL_ANY ); output_easy( fp, f, "ISSN", "SN", LEVEL_ANY ); output_easy( fp, f, "ISBN", "SN", LEVEL_ANY ); output_easyall( fp, f, "URL", "UR", LEVEL_ANY ); output_easyall( fp, f, "DOI", "DO", LEVEL_ANY ); output_file( fp, f, "FILEATTACH", "L1", LEVEL_ANY ); output_file( fp, f, "FIGATTACH", "L4", LEVEL_ANY ); output_easy( fp, f, "CAPTION", "CA", LEVEL_ANY ); output_pmid( fp, f ); output_pmc( fp, f ); output_arxiv( fp, f ); output_jstor( fp, f ); output_easy( fp, f, "LANGUAGE", "LA", LEVEL_ANY ); output_easy( fp, f, "NOTES", "N1", LEVEL_ANY ); output_easy( fp, f, "REFNUM", "ID", LEVEL_ANY ); output_thesishint( fp, type ); fprintf( fp, "ER - \n" ); fflush( fp ); }
void bibtexout_write( fields *info, FILE *fp, param *p, unsigned long refnum ) { int type; fields_clearused( info ); type = bibtexout_type( info, "", refnum, p ); output_type( fp, type, p->format_opts ); if ( !( p->format_opts & BIBOUT_DROPKEY ) ) output_citekey( fp, info, refnum, p->format_opts ); output_people( fp, info, refnum, "AUTHOR", "AUTHOR:CORP", "AUTHOR:ASIS", "author", 0, p->format_opts ); output_people( fp, info, refnum, "EDITOR", "EDITOR:CORP", "EDITOR:ASIS", "editor", -1, p->format_opts ); output_people( fp, info, refnum, "TRANSLATOR", "TRANSLATOR:CORP", "TRANSLATOR:ASIS", "translator", -1, p->format_opts ); /* item=main level title */ if ( type==TYPE_INBOOK ) output_title( fp, info, refnum, "chapter", 0, p->format_opts ); else output_title( fp, info, refnum, "title", 0, p->format_opts ); /* item=host level title */ if ( type==TYPE_ARTICLE ) output_title( fp, info, refnum, "journal", 1, p->format_opts ); else if ( type==TYPE_INBOOK ) { output_title( fp, info, refnum, "title", 1, p->format_opts ); output_title( fp, info, refnum, "series", 2, p->format_opts ); } else if ( type==TYPE_INPROCEEDINGS || type==TYPE_INCOLLECTION ) { output_title( fp, info, refnum, "booktitle", 1, p->format_opts ); output_title( fp, info, refnum, "series", 2, p->format_opts ); } else if ( type==TYPE_PHDTHESIS || type==TYPE_MASTERSTHESIS ) { output_title( fp, info, refnum, "series", 1, p->format_opts ); } else if ( type==TYPE_BOOK || type==TYPE_COLLECTION || type==TYPE_PROCEEDINGS ) output_title( fp, info, refnum, "series", 1, p->format_opts ); output_date( fp, info, refnum, p->format_opts ); output_simple( fp, info, "EDITION", "edition", p->format_opts ); output_simple( fp, info, "PUBLISHER", "publisher", p->format_opts ); output_simple( fp, info, "ADDRESS", "address", p->format_opts ); output_simple( fp, info, "VOLUME", "volume", p->format_opts ); output_issue_number( fp, info, p->format_opts ); /* output_simple( fp, info, "ISSUE", "issue", p->format_opts ); output_simple( fp, info, "NUMBER", "number", p->format_opts );s*/ output_pages( fp, info, refnum, p->format_opts ); output_simpleall( fp, info, "KEYWORD", "keywords", p->format_opts ); output_simple( fp, info, "CONTENTS", "contents", p->format_opts ); output_simple( fp, info, "ABSTRACT", "abstract", p->format_opts ); output_simple( fp, info, "LOCATION", "location", p->format_opts ); output_simple( fp, info, "DEGREEGRANTOR", "school", p->format_opts ); output_simple( fp, info, "DEGREEGRANTOR:ASIS", "school", p->format_opts ); output_simple( fp, info, "DEGREEGRANTOR:CORP", "school", p->format_opts ); output_simpleall( fp, info, "NOTES", "note", p->format_opts ); output_simpleall( fp, info, "ANNOTE", "annote", p->format_opts ); output_simple( fp, info, "ISBN", "isbn", p->format_opts ); output_simple( fp, info, "ISSN", "issn", p->format_opts ); output_simple( fp, info, "DOI", "doi", p->format_opts ); output_simpleall( fp, info, "URL", "url", p->format_opts ); output_fileattach( fp, info, p->format_opts ); output_arxiv( fp, info, p->format_opts ); output_pmid( fp, info, p->format_opts ); output_jstor( fp, info, p->format_opts ); output_simple( fp, info, "LANGUAGE", "language", p->format_opts ); if ( p->format_opts & BIBOUT_FINALCOMMA ) fprintf( fp, "," ); fprintf( fp, "\n}\n\n" ); fflush( fp ); }
static void endout_write( fields *info, FILE *fp, param *p, unsigned long refnum ) { int type, status; fields_clearused( info ); type = get_type( info, p, refnum ); output_type( fp, type, p ); status = output_title( fp, info, "TITLE", "SUBTITLE", "%T", LEVEL_MAIN ); if ( status==0 ) output_title( fp, info, "SHORTTITLE", "SHORTSUBTITLE", "%T", LEVEL_MAIN ); else output_title( fp, info, "SHORTTITLE", "SHORTSUBTITLE", "%!", LEVEL_MAIN ); output_people( fp, info, "AUTHOR", "%A", LEVEL_MAIN ); output_people( fp, info, "EDITOR", "%E", LEVEL_MAIN ); if ( type==TYPE_ARTICLE || type==TYPE_MAGARTICLE || type==TYPE_ELECTRONICARTICLE || type==TYPE_NEWSARTICLE ) output_people( fp, info, "EDITOR", "%E", LEVEL_HOST ); else if ( type==TYPE_INBOOK || type==TYPE_INPROCEEDINGS ) { output_people( fp, info, "EDITOR", "%E", LEVEL_HOST ); } else { output_people( fp, info, "EDITOR", "%Y", LEVEL_HOST ); } output_people( fp, info, "TRANSLATOR", "%H", LEVEL_ANY ); output_people( fp, info, "AUTHOR", "%Y", LEVEL_SERIES ); output_people( fp, info, "EDITOR", "%Y", LEVEL_SERIES ); if ( type==TYPE_CASE ) output_easy( fp, info, "AUTHOR:CORP", "%I", LEVEL_MAIN ); else if ( type==TYPE_HEARING ) output_easyall( fp, info, "AUTHOR:CORP", "%S", LEVEL_MAIN ); else if ( type==TYPE_NEWSARTICLE ) output_people( fp, info, "REPORTER", "%A", LEVEL_MAIN ); else if ( type==TYPE_COMMUNICATION ) output_people( fp, info, "RECIPIENT", "%E", LEVEL_ANY ); else { output_easyall( fp, info, "AUTHOR:CORP", "%A", LEVEL_MAIN ); output_easyall( fp, info, "AUTHOR:ASIS", "%A", LEVEL_MAIN ); output_easyall( fp, info, "EDITOR:CORP", "%E", LEVEL_ANY ); output_easyall( fp, info, "EDITOR:ASIS", "%E", LEVEL_ANY ); output_easyall( fp, info, "TRANSLATOR:CORP", "%H", LEVEL_ANY ); output_easyall( fp, info, "TRANSLATOR:ASIS", "%H", LEVEL_ANY ); } if ( type==TYPE_ARTICLE || type==TYPE_MAGARTICLE || type==TYPE_ELECTRONICARTICLE || type==TYPE_NEWSARTICLE ) { status = output_title( fp, info, "TITLE", "SUBTITLE", "%J", LEVEL_HOST ); if ( status==0 ) status = output_title( fp, info, "SHORTTITLE", "SHORTSUBTITLE", "%J", LEVEL_HOST ); } else if ( type==TYPE_INBOOK || type==TYPE_INPROCEEDINGS ) { status = output_title( fp, info, "TITLE", "SUBTITLE", "%B", LEVEL_HOST ); if ( status==0 ) output_title( fp, info, "SHORTTITLE", "SHORTSUBTITLE", "%B", LEVEL_HOST ); } else { status = output_title( fp, info, "TITLE", "SUBTITLE", "%S", LEVEL_HOST ); if ( status==0 ) output_title( fp, info, "SHORTTITLE", "SHORTSUBTITLE", "%S", LEVEL_HOST ); } if ( type!=TYPE_CASE && type!=TYPE_HEARING ) { output_title( fp, info, "TITLE", "SUBTITLE", "%S", LEVEL_SERIES ); } output_year( fp, info, LEVEL_ANY ); output_monthday( fp, info, LEVEL_ANY ); output_easy( fp, info, "VOLUME", "%V", LEVEL_ANY ); output_easy( fp, info, "ISSUE", "%N", LEVEL_ANY ); output_easy( fp, info, "NUMBER", "%N", LEVEL_ANY ); output_easy( fp, info, "EDITION", "%7", LEVEL_ANY ); output_easy( fp, info, "PUBLISHER", "%I", LEVEL_ANY ); output_easy( fp, info, "ADDRESS", "%C", LEVEL_ANY ); output_easy( fp, info, "DEGREEGRANTOR", "%C", LEVEL_ANY ); output_easy( fp, info, "DEGREEGRANTOR:CORP", "%C", LEVEL_ANY ); output_easy( fp, info, "DEGREEGRANTOR:ASIS", "%C", LEVEL_ANY ); output_easy( fp, info, "SERIALNUMBER", "%@", LEVEL_ANY ); output_easy( fp, info, "ISSN", "%@", LEVEL_ANY ); output_easy( fp, info, "ISBN", "%@", LEVEL_ANY ); output_easy( fp, info, "LANGUAGE", "%G", LEVEL_ANY ); output_easy( fp, info, "REFNUM", "%F", LEVEL_ANY ); output_easyall( fp, info, "NOTES", "%O", LEVEL_ANY ); output_easy( fp, info, "ABSTRACT", "%X", LEVEL_ANY ); output_easy( fp, info, "CLASSIFICATION", "%L", LEVEL_ANY ); output_easyall( fp, info, "KEYWORD", "%K", LEVEL_ANY ); output_easyall( fp, info, "NGENRE", "%9", LEVEL_ANY ); output_thesishint( fp, type ); output_easyall( fp, info, "DOI", "%R", LEVEL_ANY ); output_easyall( fp, info, "URL", "%U", LEVEL_ANY ); output_easyall( fp, info, "FILEATTACH", "%U", LEVEL_ANY ); output_doi( fp, info ); output_pmid( fp, info ); output_pmc( fp, info ); output_arxiv( fp, info ); output_jstor( fp, info ); output_pages( fp, info ); fprintf( fp, "\n" ); fflush( fp ); }