hs-bibutils 4.16 → 4.17
raw patch · 12 files changed
+1300/−503 lines, 12 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- bibutils/bibcore.c +26/−13
- bibutils/biblatexin.c +69/−57
- bibutils/bibtexin.c +4/−4
- bibutils/bibtextypes.c +72/−72
- bibutils/bltypes.c +304/−265
- bibutils/iso639_2.c +645/−0
- bibutils/iso639_2.h +10/−0
- bibutils/medin.c +19/−2
- bibutils/modsin.c +14/−0
- bibutils/modsout.c +85/−39
- bibutils/reftypes.h +25/−24
- hs-bibutils.cabal +27/−27
bibutils/bibcore.c view
@@ -309,10 +309,10 @@ * unless a tag/value pair with the same tag has already * been adding during reference processing. */-static void+static int process_defaultadd( fields *f, int reftype, param *r ) {- int i, n, process, level;+ int i, n, process, level, ok = 1; newstr tag, value; char *p; @@ -322,14 +322,20 @@ process = ((r->all[reftype]).tags[i]).processingtype; if ( process!=DEFAULT ) continue; level = ((r->all[reftype]).tags[i]).level;- p = ((r->all[reftype]).tags[i]).newstr;+ p = ((r->all[reftype]).tags[i]).newstr; extract_tag_value( &tag, &value, p ); n = fields_find( f, tag.data, level );- if ( n==-1 )- fields_add( f, tag.data, value.data, level );+fprintf(stderr,"%s: n=%d tag.data='%s' level=%d\n", __FUNCTION__, n, tag.data, level );+ if ( n==-1 ) {+ ok = fields_add( f, tag.data, value.data, level );+ if ( !ok ) goto out;+ } }-+out: newstrs_free( &tag, &value, NULL );++ if ( ok ) return BIBL_OK;+ else return BIBL_ERR_MEMERR; } /* process_alwaysadd()@@ -338,10 +344,10 @@ * processing type without exception (the difference from * DEFAULT processing). */-static void+static int process_alwaysadd( fields *f, int reftype, param *r ) {- int i, process, level;+ int i, process, level, ok = 1; newstr tag, value; char *p; @@ -353,10 +359,15 @@ level = ((r->all[reftype]).tags[i]).level; p = ((r->all[reftype]).tags[i]).newstr; extract_tag_value( &tag, &value, p );- fields_add( f, tag.data, value.data, level );+ ok = fields_add( f, tag.data, value.data, level );+ if ( !ok ) goto out; } +out: newstrs_free( &tag, &value, NULL );++ if ( ok ) return BIBL_OK;+ else return BIBL_ERR_MEMERR; } static int@@ -648,12 +659,14 @@ if ( !rout ) return BIBL_ERR_MEMERR; if ( p->typef ) reftype = p->typef( rin, fname, i+1, p, p->all, p->nall );- if ( p->all ) {- process_alwaysadd( rout, reftype, p );- process_defaultadd( rout, reftype, p );- } ok = p->convertf( rin, rout, reftype, p, p->all, p->nall ); if ( ok!=BIBL_OK ) return ok;+ if ( p->all ) {+ ok = process_alwaysadd( rout, reftype, p );+ if ( ok!=BIBL_OK ) return ok;+ ok = process_defaultadd( rout, reftype, p );+ if ( ok!=BIBL_OK ) return ok;+ } bibl_addref( bout, rout ); } uniqueify_citekeys( bout );
bibutils/biblatexin.c view
@@ -373,6 +373,8 @@ if ( tag->len ) { if ( !strcasecmp( tag->data, "author" ) ) return 1; if ( !strcasecmp( tag->data, "editor" ) ) return 1;+ if ( !strcasecmp( tag->data, "editorb" ) ) return 1;+ if ( !strcasecmp( tag->data, "editorc" ) ) return 1; if ( !strcasecmp( tag->data, "director" ) ) return 1; if ( !strcasecmp( tag->data, "producer" ) ) return 1; if ( !strcasecmp( tag->data, "execproducer" ) ) return 1;@@ -381,6 +383,9 @@ if ( !strcasecmp( tag->data, "annotator" ) ) return 1; if ( !strcasecmp( tag->data, "commentator" ) ) return 1; if ( !strcasecmp( tag->data, "translator" ) ) return 1;+ if ( !strcasecmp( tag->data, "foreword" ) ) return 1;+ if ( !strcasecmp( tag->data, "afterword" ) ) return 1;+ if ( !strcasecmp( tag->data, "introduction" ) ) return 1; } return 0; }@@ -513,20 +518,6 @@ biblatexin_crossref( bin, p ); } -/*- * process_names( info, newtag, field, level);- *- * split names in author list separated by and's (use '|' character)- * and add names- */-static int-process_names( fields *info, char *tag, newstr *data, int level, list *asis,- list *corps )-{- newstr_findreplace( data, " and ", "|" );- return name_add( info, tag, data->data, level, asis, corps );-}- /* is_utf8_emdash() * * Internally pages="A---B" will convert --- to a UTF8@@ -660,49 +651,21 @@ return fields_add( info, tag, value, level ); } --/*- * biblatex has multiple editor fields "editor", "editora", "editorb", "editorc",- * each of which can be modified from a type of "EDITOR" via "editortype",- * "editoratype", "editorbtype", "editorctype".- *- * Defined types:- * "editor"- * "collaborator"- * "compiler"- * "redactor"- *- * "reviser" ?- * "founder" ?- * "continuator" ?- *- * bibtex-chicago- *- * "director"- * "producer"- * "conductor"- * "none" (for performer)- */+/* biblatex drops school field if institution is present */ static int-process_editor( fields *bibin, fields *info, newstr *tag, newstr *value, int level, list *asis, list *corps )+process_subtype( fields *bibin, fields *info, char *tag, char *value, int level ) {- char *editor_fields[] = { "editor", "editora", "editorb", "editorc" };- char *editor_types[] = { "editortype", "editoratype", "editorbtype", "editorctype" };- int i, n = 0, ntype, neditors = sizeof( editor_fields ) / sizeof( editor_fields[0] );- char *type, *outtag = "EDITOR";- for ( i=1; i<neditors; ++i )- if ( !strcasecmp( tag->data, editor_fields[i] ) ) n = i;- ntype = fields_find( bibin, editor_types[n], LEVEL_ANY );- if ( ntype!=-1 ) {- type = fields_value( bibin, ntype, FIELDS_CHRP_NOUSE );- if ( !strcasecmp( type, "collaborator" ) ) outtag = "COLLABORATOR";- else if ( !strcasecmp( type, "compiler" ) ) outtag = "COMPILER";- else if ( !strcasecmp( type, "redactor" ) ) outtag = "REDACTOR";- else if ( !strcasecmp( type, "director" ) ) outtag = "DIRECTOR";- else if ( !strcasecmp( type, "producer" ) ) outtag = "PRODUCER";- else if ( !strcasecmp( type, "none" ) ) outtag = "PERFORMER";+ int ok = 1;+ if ( !strcasecmp( value, "magazine" ) ) {+ ok = fields_add( info, "NGENRE", "magazine article", LEVEL_MAIN );+ if ( !ok ) return 0;+ ok = fields_add( info, "NGENRE", "magazine", LEVEL_HOST );+ } else if ( !strcasecmp( value, "newspaper" ) ) {+ ok = fields_add( info, "NGENRE", "newspaper article", LEVEL_MAIN );+ if ( !ok ) return 0;+ ok = fields_add( info, "GENRE", "newspaper", LEVEL_HOST ); }- return process_names( info, outtag, value, level, asis, corps );+ return ok; } static int@@ -967,6 +930,50 @@ return ret; } +/*+ * biblatex has multiple editor fields "editor", "editora", "editorb", "editorc",+ * each of which can be modified from a type of "EDITOR" via "editortype",+ * "editoratype", "editorbtype", "editorctype".+ *+ * Defined types:+ * "editor"+ * "collaborator"+ * "compiler"+ * "redactor"+ *+ * "reviser" ?+ * "founder" ?+ * "continuator" ?+ *+ * bibtex-chicago+ *+ * "director"+ * "producer"+ * "conductor"+ * "none" (for performer)+ */+static int+process_editor( fields *bibin, fields *info, newstr *tag, newstr *value, int level, list *asis, list *corps )+{+ char *editor_fields[] = { "editor", "editora", "editorb", "editorc" };+ char *editor_types[] = { "editortype", "editoratype", "editorbtype", "editorctype" };+ int i, n = 0, ntype, neditors = sizeof( editor_fields ) / sizeof( editor_fields[0] );+ char *type, *outtag = "EDITOR";+ for ( i=1; i<neditors; ++i )+ if ( !strcasecmp( tag->data, editor_fields[i] ) ) n = i;+ ntype = fields_find( bibin, editor_types[n], LEVEL_ANY );+ if ( ntype!=-1 ) {+ type = fields_value( bibin, ntype, FIELDS_CHRP_NOUSE );+ if ( !strcasecmp( type, "collaborator" ) ) outtag = "COLLABORATOR";+ else if ( !strcasecmp( type, "compiler" ) ) outtag = "COMPILER";+ else if ( !strcasecmp( type, "redactor" ) ) outtag = "REDACTOR";+ else if ( !strcasecmp( type, "director" ) ) outtag = "DIRECTOR";+ else if ( !strcasecmp( type, "producer" ) ) outtag = "PRODUCER";+ else if ( !strcasecmp( type, "none" ) ) outtag = "PERFORMER";+ }+ return biblatex_names( info, outtag, value, level, asis, corps );+}+ int biblatexin_convertf( fields *bibin, fields *info, int reftype, param *p, variants *all, int nall )@@ -1019,17 +1026,17 @@ fields_setused( bibin, i ); break; - case BIBTEX_URL:+ case BT_URL: ok = process_url( info, d->data, level ); fields_setused( bibin, i ); break; - case BIBTEX_GENRE:+ case BT_GENRE: ok = fields_add( info, "NGENRE", d->data, level ); fields_setused( bibin, i ); break; - case BIBTEX_EPRINT:+ case BT_EPRINT: ok = process_eprint( bibin, info, level ); fields_setused( bibin, i ); break;@@ -1041,6 +1048,11 @@ case BLT_SCHOOL: ok = process_school( bibin, info, newtag, d->data, level );+ fields_setused( bibin, i );+ break;++ case BLT_SUBTYPE:+ ok = process_subtype( bibin, info, newtag, d->data, level ); fields_setused( bibin, i ); break;
bibutils/bibtexin.c view
@@ -996,19 +996,19 @@ ok = process_file( info, d, level ); break; - case BIBTEX_NOTE:+ case BT_NOTE: ok = process_note( info, d, level ); break; - case BIBTEX_SENTE:+ case BT_SENTE: ok = process_sente( info, d, level ); break; - case BIBTEX_URL:+ case BT_URL: ok = process_url( info, d, level ); break; - case BIBTEX_ORGANIZATION:+ case BT_ORG: ok = process_organization( bibin, info, d, level ); break;
bibutils/bibtextypes.c view
@@ -33,13 +33,13 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },@@ -64,7 +64,7 @@ { "booktitle", "TITLE", TITLE, LEVEL_MAIN }, { "series", "TITLE", TITLE, LEVEL_HOST }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "editor", "EDITOR", PERSON, LEVEL_MAIN }, { "year", "YEAR", SIMPLE, LEVEL_MAIN },@@ -79,14 +79,14 @@ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },@@ -123,14 +123,14 @@ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },@@ -149,7 +149,7 @@ { "booktitle", "TITLE", TITLE, LEVEL_MAIN }, { "editor", "EDITOR", PERSON, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "year", "YEAR", SIMPLE, LEVEL_MAIN }, { "month", "MONTH", SIMPLE, LEVEL_MAIN },@@ -160,14 +160,14 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },@@ -205,16 +205,16 @@ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_HOST }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },@@ -236,7 +236,7 @@ { "series", "TITLE", TITLE, LEVEL_SERIES }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_HOST },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_HOST }, { "address", "ADDRESS", SIMPLE, LEVEL_HOST }, { "year", "PARTYEAR", SIMPLE, LEVEL_MAIN }, { "month", "PARTMONTH", SIMPLE, LEVEL_MAIN },@@ -252,13 +252,13 @@ { "paper", "PAPER", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_HOST }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },@@ -295,14 +295,14 @@ { "contents", "CONTENTS", SIMPLE, LEVEL_HOST }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_HOST }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },@@ -325,7 +325,7 @@ { "booktitle", "TITLE", TITLE, LEVEL_MAIN }, { "series", "TITLE", TITLE, LEVEL_HOST }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "year", "YEAR", SIMPLE, LEVEL_MAIN }, { "month", "MONTH", SIMPLE, LEVEL_MAIN },@@ -338,15 +338,15 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },@@ -369,15 +369,15 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "" , HOWPUBLISHED, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN },@@ -402,14 +402,14 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN },@@ -439,15 +439,15 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },@@ -464,7 +464,7 @@ static lookups standard[] = { { "author", "AUTHOR", PERSON, LEVEL_MAIN }, { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "institution", "AUTHOR:CORP", SIMPLE, LEVEL_MAIN }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "booktitle", "TITLE", TITLE, LEVEL_MAIN },@@ -479,10 +479,10 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },@@ -491,7 +491,7 @@ { "number", "NUMBER", TITLE, LEVEL_MAIN }, { "revision", "REVISION", TITLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },@@ -519,17 +519,17 @@ { "number", "NUMBER", TITLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN }, { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },@@ -558,14 +558,14 @@ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN }, { "nationality", "NATIONALITY", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "type", "GENRE", SIMPLE, LEVEL_MAIN },@@ -583,7 +583,7 @@ static lookups electronic[] = { { "author", "AUTHOR", PERSON, LEVEL_MAIN }, { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "booktitle", "TITLE", TITLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },@@ -596,16 +596,16 @@ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },@@ -620,7 +620,7 @@ { "title", "TITLE", TITLE, LEVEL_MAIN }, { "booktitle", "TITLE", TITLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },- { "organization", "ORGANIZER:CORP", BIBTEX_ORGANIZATION, LEVEL_MAIN },+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, { "pages", "PAGES", PAGES, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "editor", "EDITOR", PERSON, LEVEL_MAIN },@@ -630,16 +630,16 @@ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN }, { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "ftp", "", BIBTEX_URL, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "ftp", "", BT_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },- { "sentelink", "FILEATTACH",BIBTEX_SENTE, LEVEL_MAIN },+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN }, { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN }, { "location", "LOCATION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", BIBTEX_NOTE, LEVEL_MAIN },+ { "note", "NOTES", BT_NOTE, LEVEL_MAIN }, { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN }, { "key", "BIBKEY", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
bibutils/bltypes.c view
@@ -18,140 +18,145 @@ * Article in a journal, newspaper, other periodical */ static lookups article[] = {- { "author", "AUTHOR", PERSON, LEVEL_MAIN },- { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editortype", "", BLT_SKIP, LEVEL_MAIN },- { "editoratype", "", BLT_SKIP, LEVEL_MAIN },- { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },- { "editorctype", "", BLT_SKIP, LEVEL_MAIN },- { "director", "DIRECTOR", PERSON, LEVEL_MAIN },- { "producer", "PRODUCER", PERSON, LEVEL_MAIN },- { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },- { "writer", "AUTHOR", PERSON, LEVEL_MAIN },- { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },- { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },- { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },- { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },- { "title", "TITLE", TITLE, LEVEL_MAIN },- { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },- { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },- { "journal", "TITLE", TITLE, LEVEL_HOST },- { "journaltitle", "TITLE", TITLE, LEVEL_HOST },- { "journalsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },- { "shortjournal", "SHORTTITLE", SIMPLE, LEVEL_HOST },- { "issuetitle", "TITLE", TITLE, LEVEL_SERIES }, /*WRONG*/- { "issuesubtitle", "SUBTITLE", TITLE, LEVEL_SERIES }, /*WRONG*/- { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },- { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },- { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },- { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },- { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },- { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },- { "series", "TITLE", SIMPLE, LEVEL_SERIES },- { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },- { "number", "NUMBER", SIMPLE, LEVEL_MAIN },- { "eid", "EID", SIMPLE, LEVEL_MAIN },- { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },- { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/- { "day", "PARTDAY", SIMPLE, LEVEL_MAIN },- { "month", "PARTMONTH", SIMPLE, LEVEL_MAIN },- { "year", "PARTYEAR", SIMPLE, LEVEL_MAIN },- { "pages", "PAGES", PAGES, LEVEL_MAIN },- { "version", "VERSION", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", SIMPLE, LEVEL_MAIN },- { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },- { "issn", "ISSN", SIMPLE, LEVEL_HOST },- { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },- { "addendum", "?addendum?", SIMPLE, LEVEL_MAIN },- { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "",BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },- { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },- { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },- { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },- { "", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },- { "", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },- { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },- { "", "NGENRE|journal article", ALWAYS, LEVEL_MAIN },- { "", "GENRE|periodical", ALWAYS, LEVEL_HOST }+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },+ { "title", "TITLE", TITLE, LEVEL_MAIN },+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },+ { "journal", "TITLE", TITLE, LEVEL_HOST },+ { "journaltitle", "TITLE", TITLE, LEVEL_HOST },+ { "journalsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },+ { "shortjournal", "SHORTTITLE", SIMPLE, LEVEL_HOST },+ { "issuetitle", "TITLE", TITLE, LEVEL_SERIES }, /*WRONG*/+ { "issuesubtitle", "SUBTITLE", TITLE, LEVEL_SERIES }, /*WRONG*/+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },+ { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },+ { "series", "TITLE", SIMPLE, LEVEL_SERIES },+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },+ { "eid", "EID", SIMPLE, LEVEL_MAIN },+ { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/+ { "day", "PARTDAY", SIMPLE, LEVEL_MAIN },+ { "month", "PARTMONTH", SIMPLE, LEVEL_MAIN },+ { "year", "PARTYEAR", SIMPLE, LEVEL_MAIN },+ { "pages", "PAGES", PAGES, LEVEL_MAIN },+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },+ { "note", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annote", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },+ { "issn", "ISSN", SIMPLE, LEVEL_HOST },+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN },+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },+ { "entrysubtype", "", BLT_SUBTYPE, LEVEL_MAIN },+ { "", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },+ { "", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },+ { "", "NGENRE|journal article", DEFAULT, LEVEL_MAIN },+ { "", "GENRE|periodical", DEFAULT, LEVEL_HOST } }; /* Book */ static lookups book[] = {- { "author", "AUTHOR", PERSON, LEVEL_MAIN },- { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editortype", "", BLT_SKIP, LEVEL_MAIN },- { "editoratype", "", BLT_SKIP, LEVEL_MAIN },- { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },- { "editorctype", "", BLT_SKIP, LEVEL_MAIN },- { "director", "DIRECTOR", PERSON, LEVEL_MAIN },- { "producer", "PRODUCER", PERSON, LEVEL_MAIN },- { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },- { "writer", "AUTHOR", PERSON, LEVEL_MAIN },- { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },- { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },- { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },- { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },- { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_MAIN },- { "title", "TITLE", TITLE, LEVEL_MAIN },- { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },- { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },- { "maintitle", "TITLE", TITLE, LEVEL_HOST },- { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },- { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },- { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },- { "year", "YEAR", SIMPLE, LEVEL_MAIN },- { "month", "MONTH", SIMPLE, LEVEL_MAIN },- { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/- { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },- { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },- { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },- { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },- { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },- { "volume", "VOLUME", SIMPLE, LEVEL_HOST },- { "part", "PART", SIMPLE, LEVEL_HOST },- { "edition", "EDITION", SIMPLE, LEVEL_MAIN },- { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },- { "series", "TITLE", SIMPLE, LEVEL_HOST }, /* WRONG */- { "number", "NUMBER", SIMPLE, LEVEL_MAIN },- { "note", "NOTES", SIMPLE, LEVEL_MAIN },- { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },- { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },- { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },- { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },- { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },- { "pages", "?pages?", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "pagetotal", "?pagetotal?", SIMPLE, LEVEL_MAIN },- { "addendum", "?addendum?", SIMPLE, LEVEL_MAIN },- { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },- { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },- { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },- { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },- { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },- { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },- { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },- { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },- { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },- { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },- { "", "GENRE|book", ALWAYS, LEVEL_MAIN }+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN },+ { "title", "TITLE", TITLE, LEVEL_MAIN },+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },+ { "maintitle", "TITLE", TITLE, LEVEL_HOST },+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },+ { "year", "YEAR", SIMPLE, LEVEL_MAIN },+ { "month", "MONTH", SIMPLE, LEVEL_MAIN },+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },+ { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },+ { "volume", "VOLUME", SIMPLE, LEVEL_HOST },+ { "part", "PART", SIMPLE, LEVEL_HOST },+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },+ { "series", "TITLE", SIMPLE, LEVEL_HOST }, /* WRONG */+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },+ { "note", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annote", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },+ { "pages", "?pages?", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "pagetotal", "?pagetotal?", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN },+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },+ { "", "GENRE|book", ALWAYS, LEVEL_MAIN } }; /* Booklet */@@ -178,25 +183,26 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },- { "type", "GENRE", BIBTEX_GENRE, LEVEL_MAIN },+ { "type", "GENRE", BT_GENRE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },- { "pages", "?pages?", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "pagetotal", "?pagetotal?", SIMPLE, LEVEL_MAIN },- { "addendum", "?addendum?", SIMPLE, LEVEL_MAIN },+ { "pages", "?pages?", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "pagetotal", "?pagetotal?", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },@@ -225,8 +231,8 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_MAIN },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN }, { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },@@ -236,6 +242,7 @@ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG }, { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG }, { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG }, { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG }, { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },@@ -247,23 +254,24 @@ { "number", "NUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "isbn", "ISBN", SIMPLE, LEVEL_MAIN }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },- { "pages", "?pages?", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "pagetotal", "?pagetotal?", SIMPLE, LEVEL_MAIN },- { "addendum", "?addendum?", SIMPLE, LEVEL_MAIN },+ { "pages", "?pages?", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "pagetotal", "?pagetotal?", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },@@ -295,8 +303,8 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "introduction", "INTROAUTHOR", PERSON, LEVEL_HOST },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_HOST },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_HOST },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_HOST },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_HOST }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN }, { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },@@ -310,6 +318,7 @@ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG }, { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG }, { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG }, { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG }, { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },@@ -318,25 +327,26 @@ { "part", "PART", SIMPLE, LEVEL_HOST }, { "edition", "EDITION", SIMPLE, LEVEL_MAIN }, { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },- { "series", "?series?", SIMPLE, LEVEL_HOST }, /* WRONG */+ { "series", "TITLE", SIMPLE, LEVEL_SERIES+1 }, /* WRONG */ { "number", "NUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "isbn", "ISBN", SIMPLE, LEVEL_HOST }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },- { "addendum", "?addendum?", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|INBOOK", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },@@ -361,10 +371,10 @@ { "number", "NUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "introduction", "INTROAUTHOR", PERSON, LEVEL_HOST },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_HOST },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_HOST },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_HOST },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_HOST }, { "bookauthor", "AUTHOR", PERSON, LEVEL_HOST }, { "booktitle", "TITLE", TITLE, LEVEL_HOST }, { "booksubtitle", "SUBTITLE", TITLE, LEVEL_HOST },@@ -393,10 +403,11 @@ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_SERIES }, { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_SERIES }, - { "series", "TITLE", SIMPLE, LEVEL_HOST+2 }, /* WRONG */+ { "series", "TITLE", SIMPLE, LEVEL_SERIES+1 }, /* WRONG */ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG }, { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG }, { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG }, { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG }, { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },@@ -406,16 +417,17 @@ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, { "pages", "PAGES", PAGES, LEVEL_MAIN }, /* WRONG */- { "addendum", "?addendum?", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|INCOLLECTION", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },@@ -448,8 +460,8 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "introduction", "INTROAUTHOR", PERSON, LEVEL_HOST },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_HOST },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_HOST },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_HOST },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_HOST }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN }, { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },@@ -468,6 +480,11 @@ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },+ { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG }, { "volume", "VOLUME", SIMPLE, LEVEL_HOST }, { "part", "PART", SIMPLE, LEVEL_HOST }, { "edition", "EDITION", SIMPLE, LEVEL_MAIN },@@ -475,22 +492,23 @@ { "number", "NUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST }, { "location", "ADDRESS", SIMPLE, LEVEL_HOST }, { "isbn", "ISBN", SIMPLE, LEVEL_MAIN }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, { "pages", "PAGES", PAGES, LEVEL_MAIN }, /* WRONG */- { "addendum", "?addendnum?", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|INPROCEEDINGS", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },@@ -520,20 +538,20 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_MAIN },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN }, { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "edition", "EDITION", SIMPLE, LEVEL_MAIN },- { "version", "???????", SIMPLE, LEVEL_MAIN }, /*WRONG*/- { "type", "GENRE", BIBTEX_GENRE, LEVEL_MAIN },+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },+ { "type", "GENRE", BT_GENRE, LEVEL_MAIN }, { "series", "TITLE", SIMPLE, LEVEL_HOST }, { "number", "NUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },@@ -541,16 +559,17 @@ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, { "pages", "?????????", SIMPLE, LEVEL_MAIN }, /* WRONG */ { "pagetotal", "?????????", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },@@ -580,24 +599,25 @@ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },- { "version", "???????", SIMPLE, LEVEL_MAIN },- { "type", "GENRE", BIBTEX_GENRE, LEVEL_MAIN },+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },+ { "type", "GENRE", BT_GENRE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "organization", "ORGANIZER:CORP",SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|MISC", ALWAYS, LEVEL_MAIN }, };@@ -624,24 +644,25 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "year", "YEAR", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },- { "version", "???????", SIMPLE, LEVEL_MAIN },- { "type", "GENRE", BIBTEX_GENRE, LEVEL_MAIN },+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },+ { "type", "GENRE", BT_GENRE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN }, { "", "NGENRE|web page", ALWAYS, LEVEL_MAIN },@@ -657,21 +678,22 @@ { "day", "DAY", SIMPLE, LEVEL_MAIN }, { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "year", "YEAR", SIMPLE, LEVEL_MAIN },- { "version", "???????", SIMPLE, LEVEL_MAIN },- { "type", "GENRE", BIBTEX_GENRE, LEVEL_MAIN },+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },+ { "type", "GENRE", BT_GENRE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "number", "NUMBER", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN }, { "", "INTERNAL_TYPE|PATENT", ALWAYS, LEVEL_MAIN },@@ -680,53 +702,59 @@ /* * An entire issue of a periodical+ *+ * "The title of the periodical is given in the title field. If the issue has + * its own title in addition to the main title of the periodical, it goes in + * the issuetitle field. The editor is omissible..." */ static lookups periodical[] = {- { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },- { "editortype", "", BLT_SKIP, LEVEL_MAIN },- { "editoratype", "", BLT_SKIP, LEVEL_MAIN },- { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },- { "editorctype", "", BLT_SKIP, LEVEL_MAIN },- { "director", "DIRECTOR", PERSON, LEVEL_MAIN },- { "producer", "PRODUCER", PERSON, LEVEL_MAIN },- { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },- { "writer", "AUTHOR", PERSON, LEVEL_MAIN },- { "title", "TITLE", TITLE, LEVEL_MAIN },- { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },- { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },- { "issuetitle", "TITLE", TITLE, LEVEL_HOST },- { "issuesubtitle", "SUBTITLE", TITLE, LEVEL_HOST },- { "issuetitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },- { "series", "TITLE", SIMPLE, LEVEL_SERIES },- { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },- { "number", "NUMBER", SIMPLE, LEVEL_MAIN },- { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },- { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/- { "day", "PARTDAY", SIMPLE, LEVEL_MAIN },- { "month", "PARTMONTH", SIMPLE, LEVEL_MAIN },- { "year", "PARTYEAR", SIMPLE, LEVEL_MAIN },- { "pages", "PAGES", PAGES, LEVEL_MAIN },- { "note", "NOTES", SIMPLE, LEVEL_MAIN },- { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },- { "issn", "ISSN", SIMPLE, LEVEL_HOST },- { "addendum", "?????", SIMPLE, LEVEL_MAIN },- { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },- { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },- { "urlday", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "urlmonth", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "urlyear", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */- { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },- { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },- { "", "ISSUANCE|continuing", ALWAYS, LEVEL_MAIN },- { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },- { "", "GENRE|periodical", ALWAYS, LEVEL_MAIN }+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },+ { "title", "TITLE", TITLE, LEVEL_HOST },+ { "subtitle", "SUBTITLE", TITLE, LEVEL_HOST },+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_HOST },+ { "issuetitle", "TITLE", TITLE, LEVEL_MAIN },+ { "issuesubtitle", "SUBTITLE", TITLE, LEVEL_MAIN },+ { "issuetitleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },+ { "series", "TITLE", SIMPLE, LEVEL_SERIES },+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },+ { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/+ { "day", "PARTDAY", SIMPLE, LEVEL_MAIN },+ { "month", "PARTMONTH", SIMPLE, LEVEL_MAIN },+ { "year", "PARTYEAR", SIMPLE, LEVEL_MAIN },+ { "pages", "PAGES", PAGES, LEVEL_MAIN },+ { "note", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annote", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },+ { "issn", "ISSN", SIMPLE, LEVEL_HOST },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN },+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },+ { "urlday", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "urlmonth", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "urlyear", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },+ { "", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },+ { "", "GENRE|issue", ALWAYS, LEVEL_MAIN },+ { "", "GENRE|periodical", ALWAYS, LEVEL_HOST } }; static lookups proceedings[] = {@@ -751,8 +779,8 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "foreward", "INTROAUTHOR", PERSON, LEVEL_MAIN },- { "afterward", "AFTERAUTHOR", PERSON, LEVEL_MAIN },+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN }, { "title", "TITLE", TITLE, LEVEL_MAIN }, { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN }, { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },@@ -761,6 +789,11 @@ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_HOST }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },+ { "origyear", "YEAR", SIMPLE, LEVEL_ORIG },+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG }, { "volume", "VOLUME", SIMPLE, LEVEL_HOST }, { "part", "PART", SIMPLE, LEVEL_HOST }, { "edition", "EDITION", SIMPLE, LEVEL_MAIN },@@ -769,7 +802,7 @@ { "number", "NUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "organization", "ORGANIZER:CORP",SIMPLE, LEVEL_MAIN }, { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },@@ -777,16 +810,17 @@ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, { "pages", "?????????", SIMPLE, LEVEL_MAIN }, /* WRONG */ { "pagetotal", "?????????", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },@@ -801,7 +835,7 @@ { "title", "TITLE", TITLE, LEVEL_MAIN }, { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN }, { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },- { "type", "GENRE", BIBTEX_GENRE, LEVEL_MAIN },+ { "type", "GENRE", BT_GENRE, LEVEL_MAIN }, { "institution", "SPONSOR:ASIS", SIMPLE, LEVEL_MAIN }, { "year", "YEAR", SIMPLE, LEVEL_MAIN }, { "month", "MONTH", SIMPLE, LEVEL_MAIN },@@ -810,23 +844,24 @@ { "number", "REPORTNUMBER", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },- { "version", "?????????", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },+ { "version", "EDITION", SIMPLE, LEVEL_MAIN }, { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "isrn", "ISRN", SIMPLE, LEVEL_MAIN }, { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, { "pages", "?????????", SIMPLE, LEVEL_MAIN }, /* WRONG */ { "pagetotal", "?????????", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN },- { "eprint", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "eprinttype", "", BIBTEX_EPRINT, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },@@ -844,16 +879,17 @@ { "month", "MONTH", SIMPLE, LEVEL_MAIN }, { "day", "DAY", SIMPLE, LEVEL_MAIN }, { "date", "DATE", SIMPLE, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urlday", "?????????", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN }, { "urlyear", "?????????", SIMPLE, LEVEL_MAIN }, { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },- { "addendum", "?????????", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text",ALWAYS, LEVEL_MAIN },@@ -874,7 +910,7 @@ { "school", "DEGREEGRANTOR:ASIS", BLT_SCHOOL, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },@@ -883,8 +919,9 @@ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },@@ -905,7 +942,7 @@ { "school", "DEGREEGRANTOR:ASIS", BLT_SCHOOL, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },@@ -914,8 +951,9 @@ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },@@ -937,7 +975,7 @@ { "school", "DEGREEGRANTOR:ASIS", BLT_SCHOOL, LEVEL_MAIN }, { "doi", "DOI", SIMPLE, LEVEL_MAIN }, { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },- { "url", "", BIBTEX_URL, LEVEL_MAIN },+ { "url", "", BT_URL, LEVEL_MAIN }, { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN }, { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },@@ -946,8 +984,9 @@ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN }, { "note", "NOTES", SIMPLE, LEVEL_MAIN }, { "annote", "NOTES", SIMPLE, LEVEL_MAIN },- { "annotation", "NOTES", SIMPLE, LEVEL_MAIN },+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN }, { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN }, { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN }, { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN }, { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ bibutils/iso639_2.c view
@@ -0,0 +1,645 @@+/*+ * iso639-2 language codes+ */+#include <string.h>+#include "iso639_2.h"++typedef struct {+ char *code1;+ char *code2;+ unsigned char main;+ char *language;+} iso639_2_t;++static iso639_2_t iso639_2[] = {+ { "abk", "", 1, "Abkhazian" },+ { "ace", "", 1, "Achenese" },+ { "ace", "", 1, "Achinese" },+ { "ach", "", 1, "Acoli" },+ { "ada", "", 1, "Adangme" },+ { "ady", "", 1, "Adygei" },+ { "ady", "", 1, "Adyghe" },+ { "aar", "", 1, "Afar" },+ { "afh", "", 1, "Afrihili" },+ { "afr", "", 1, "Afrikaans" },+ { "afa", "", 1, "Afroasiatic languages" },+ { "ain", "", 1, "Ainu" },+ { "aka", "", 1, "Akan" },+ { "akk", "", 1, "Akkadian" },+ { "alb", "sqi", 1, "Albanian" },+ { "gsw", "", 1, "Alemannic" },+ { "ale", "", 1, "Aleut" },+ { "alg", "", 1, "Algonquian languages" },+ { "gsw", "", 1, "Alsatian" },+ { "alt", "", 1, "Altai, Southern" },+ { "tut", "", 1, "Altaic languages" },+ { "amh", "", 1, "Amharic" },+ { "egy", "", 1, "Ancient Egyptian" },+ { "grc", "", 1, "Ancient Greek" },+ { "anp", "", 1, "Angika" },+ { "apa", "", 1, "Apache languages" },+ { "arc", "", 1, "Aramaic, Imperial" },+ { "arc", "", 1, "Aramaic, Official" },+ { "arp", "", 1, "Arapaho" },+ { "arw", "", 1, "Arawak" },+ { "arg", "", 1, "Argonese" },+ { "arm", "hye", 1, "Armenian" },+ { "rup", "", 1, "Aromanian" },+ { "art", "", 1, "Artificial languages" },+ { "rup", "", 1, "Arumanian" },+ { "asm", "", 1, "Assamese" },+ { "ast", "", 1, "Asturian" },+ { "ast", "", 1, "Asturleonese" },+ { "ath", "", 1, "Athabaskan languages" },+ { "aus", "", 1, "Australian languages" },+ { "map", "", 1, "Austronesian languages" },+ { "ava", "", 1, "Avaric" },+ { "ave", "", 1, "Avestan" },+ { "awa", "", 1, "Awadhi" },+ { "aze", "", 1, "Azerbaijani" },+ { "ast", "", 1, "Bable" },+ { "ban", "", 1, "Balinese" },+ { "bat", "", 1, "Baltic languages" },+ { "bal", "", 1, "Baluchi" },+ { "bam", "", 1, "Bambara" },+ { "bai", "", 1, "Bamileke languages" },+ { "bad", "", 1, "Banda languages" },+ { "bnt", "", 1, "Bantu languages" },+ { "bas", "", 1, "Basa" },+ { "bak", "", 1, "Bashkir" },+ { "baq", "eus", 1, "Basque" },+ { "bej", "", 1, "Bedawiyet" },+ { "bej", "", 1, "Beja" },+ { "bel", "", 1, "Belarusian" },+ { "bem", "", 1, "Bemba" },+ { "ben", "", 1, "Bengali" },+ { "ber", "", 1, "Berber languages" },+ { "bho", "", 1, "Bhojpuri" },+ { "bih", "", 1, "Bihari languages" },+ { "bik", "", 1, "Bikol" },+ { "byn", "", 1, "Bilin" },+ { "bin", "", 1, "Bini" },+ { "bis", "", 1, "Bislama" },+ { "bla", "", 1, "Blackfoot" },+ { "byn", "", 1, "Blin" },+ { "zbl", "", 1, "Blissymbols" },+ { "bos", "", 1, "Bosnian" },+ { "bra", "", 1, "Braj" },+ { "btk", "", 1, "Bratak languages" },+ { "bre", "", 1, "Breton" },+ { "bug", "", 1, "Buginese" },+ { "bul", "", 1, "Bulgarian" },+ { "bua", "", 1, "Buriat" },+ { "bur", "mya", 1, "Burmese" },+ { "cad", "", 1, "Caddo" },+ { "spa", "", 0, "Castilian" },+ { "cat", "", 1, "Catalan" },+ { "cau", "", 1, "Caucasian languages" },+ { "ceb", "", 1, "Cebuano" },+ { "cel", "", 1, "Celtic languages" },+ { "cai", "", 1, "Central American Indian languages" },+ { "khm", "", 1, "Central Khmer" },+ { "chg", "", 1, "Chagatai" },+ { "cmc", "", 1, "Chamic languages" },+ { "cha", "", 1, "Chamorro" },+ { "che", "", 1, "Chechen" },+ { "chr", "", 1, "Cherokee" },+ { "nya", "", 1, "Chewa" },+ { "chy", "", 1, "Cheyenne" },+ { "chb", "", 1, "Chibcha" },+ { "nya", "", 1, "Chichewa" },+ { "chi", "zho", 1, "Chinese" },+ { "chn", "", 1, "Chinook Jargon" },+ { "chp", "", 1, "Chipewyan" },+ { "cho", "", 1, "Choctaw" },+ { "zha", "", 1, "Chuang" },+ { "chu", "", 1, "Church Slavic" },+ { "chu", "", 1, "Church Slavonic" },+ { "chk", "", 1, "Chuukese" },+ { "chv", "", 1, "Chuvash" },+ { "kbd", "", 1, "Circassian" },+ { "nwc", "", 1, "Classical Nepal Bhasa" },+ { "nwc", "", 1, "Classical Newari" },+ { "syc", "", 1, "Classical Syriac" },+ { "rar", "", 1, "Cook Islands Maori" },+ { "cop", "", 1, "Coptic" },+ { "cor", "", 1, "Cornish" },+ { "cos", "", 1, "Corsican" },+ { "cre", "", 1, "Cree" },+ { "mus", "", 1, "Creek" },+ { "crp", "", 1, "creoles and pidgins" },+ { "cpe", "", 1, "creoles and pidgins, English-based" },+ { "cpf", "", 1, "creoles and pidgins, French-based" },+ { "cpp", "", 1, "creoles and pidgins, Portuguese-based" },+ { "crh", "", 1, "Crimean Tartar" },+ { "crh", "", 1, "Crimean Turkish" },+ { "hrv", "", 1, "Croatian" },+ { "cus", "", 1, "Cushitic languages" },+ { "cze", "ces", 1, "Czech" },+ { "dak", "", 1, "Dakota" },+ { "dan", "", 1, "Danish" },+ { "dar", "", 1, "Dargwa" },+ { "del", "", 1, "Delaware" },+ { "chp", "", 1, "Dene Suline" },+ { "div", "", 1, "Dhivehi" },+ { "din", "", 1, "Dinka" },+ { "div", "", 1, "Divehi" },+ { "doi", "", 1, "Dogri" },+ { "dgr", "", 1, "Dogrib" },+ { "dra", "", 1, "Dravidian languages" },+ { "dua", "", 1, "Duala" },+ { "dut", "", 1, "Dutch" },+ { "dum", "", 1, "Dutch, Middle" },+ { "dyu", "", 1, "Dyula" },+ { "dzo", "", 1, "Dzongkha" },+ { "frs", "", 1, "Eastern Frisian" },+ { "bin", "", 1, "Edo" },+ { "efi", "", 1, "Efik" },+ { "egy", "", 1, "Egyptian (Ancient)" },+ { "eka", "", 1, "Ekajuk" },+ { "elx", "", 1, "Elamite" },+ { "eng", "", 1, "English" },+ { "enm", "", 0, "English, Middle" },+ { "ang", "", 0, "English, Old" },+ { "myv", "", 1, "Erzya" },+ { "epo", "", 1, "Esperanto" },+ { "est", "", 1, "Estonian" },+ { "ewe", "", 1, "Ewe" },+ { "ewo", "", 1, "Ewondo" },+ { "fan", "", 1, "Fang" },+ { "fat", "", 1, "Fanti" },+ { "fao", "", 1, "Faroese" },+ { "fij", "", 1, "Fijian" },+ { "fil", "", 1, "Filipino" },+ { "fin", "", 1, "Finnish" },+ { "fiu", "", 1, "Finno-Ugric languages" },+ { "dut", "", 1, "Flemish" },+ { "fon", "", 1, "Fon" },+ { "fre", "fra", 1, "French" },+ { "frm", "", 0, "French, Middle" },+ { "fro", "", 0, "French, Old" },+ { "frs", "", 1, "Frisian, Eastern" },+ { "frr", "", 1, "Frisian, Northern" },+ { "fry", "", 1, "Frisian, Western" },+ { "fur", "", 1, "Friulian" },+ { "ful", "", 1, "Fulah" },+ { "gaa", "", 1, "Ga" },+ { "gla", "", 1, "Gaelic" },+ { "car", "", 1, "Galibi Carib" },+ { "lug", "", 1, "Ganda" },+ { "gay", "", 1, "Gayo" },+ { "gba", "", 1, "Gbaya" },+ { "gez", "", 1, "Ge'ez" },+ { "geo", "kat", 1, "Georgian" },+ { "ger", "deu", 1, "German" },+ { "nds", "", 1, "German, Low" },+ { "gmh", "", 1, "German, Middle High" },+ { "goh", "", 1, "German, Old High" },+ { "gem", "", 1, "Germanic languages" },+ { "kik", "", 1, "Gikuyu" },+ { "gil", "", 1, "Gilbertese" },+ { "gon", "", 1, "Gondi" },+ { "gor", "", 1, "Gorontalo" },+ { "got", "", 1, "Gothic" },+ { "grb", "", 1, "Grebo" },+ { "grc", "", 1, "Greek, Ancient" },+ { "gre", "ell", 1, "Greek, Modern" },+ { "kal", "", 1, "Greenlandic" },+ { "grn", "", 1, "Guarani" },+ { "guj", "", 1, "Gujarati" },+ { "gwi", "", 1, "Gwich'in" },+ { "hai", "", 1, "Haida" },+ { "hat", "", 1, "Haitian" },+ { "hat", "", 1, "Haitian Creole" },+ { "hau", "", 1, "Hausa" },+ { "haw", "", 1, "Hawaiian" },+ { "heb", "", 1, "Hebrew" },+ { "hil", "", 1, "Hiligaynon" },+ { "him", "", 1, "Himachali languages" },+ { "hin", "", 1, "Hindi" },+ { "hmo", "", 1, "Hiri Motu" },+ { "hit", "", 1, "Hittite" },+ { "hmn", "", 1, "Hmong" },+ { "hun", "", 1, "Hungarian" },+ { "hup", "", 1, "Hupa" },+ { "iba", "", 1, "Iban" },+ { "ice", "isl", 1, "Icelandic" },+ { "ido", "", 1, "Ido" },+ { "ibo", "", 1, "Igbo" },+ { "ijo", "", 1, "Ijo languages" },+ { "ilo", "", 1, "Iloko" },+ { "arc", "", 1, "Imperial Aramaic" },+ { "smn", "", 1, "Inari Sami" },+ { "inc", "", 1, "Indic languages" },+ { "ine", "", 1, "Indo-European languages" },+ { "ind", "", 1, "Indonesian" },+ { "inh", "", 1, "Ingush" },+ { "ina", "", 1, "Interlingua" },+ { "ile", "", 1, "Interlingue, Occidental" },+ { "iku", "", 1, "Inuktitut" },+ { "ipk", "", 1, "Inupiaq" },+ { "ira", "", 1, "Iranian languages" },+ { "mga", "", 1, "Irish, Middle" },+ { "sga", "", 1, "Irish, Old" },+ { "iro", "", 1, "Iroquoian languages" },+ { "ita", "", 1, "Italian" },+ { "jpn", "", 1, "Japanese" },+ { "jav", "", 1, "Javanese" },+ { "kac", "", 1, "Jingpho" },+ { "jrb", "", 1, "Judaeo-Arabic" },+ { "jpr", "", 1, "Judaeo-Persian" },+ { "kab", "", 1, "Kabyle" },+ { "kac", "", 1, "Kachin" },+ { "kal", "", 1, "Kalaallisut" },+ { "xal", "", 1, "Kalmyk" },+ { "kam", "", 1, "Kamba" },+ { "kan", "", 1, "Kannada" },+ { "kau", "", 1, "Kanuri" },+ { "pam", "", 1, "Kapampangan" },+ { "kaa", "", 1, "Kara-Kalpak" },+ { "krc", "", 1, "Karachay-Balkar" },+ { "krl", "", 1, "Karelian" },+ { "kar", "", 1, "Karen languages" },+ { "kas", "", 1, "Kashmiri" },+ { "csb", "", 1, "Kashubian" },+ { "kaw", "", 1, "Kawi" },+ { "kaz", "", 1, "Kazakh" },+ { "kha", "", 1, "Khasi" },+ { "khi", "", 1, "Khoisan languages" },+ { "kho", "", 1, "Khotanese" },+ { "kik", "", 1, "Kikuyu" },+ { "kmb", "", 1, "Kimbundu" },+ { "kin", "", 1, "Kinyarwanda" },+ { "kir", "", 1, "Kirghiz" },+ { "gil", "", 1, "Kiribati" },+ { "tlh", "", 1, "Klingon" },+ { "kom", "", 1, "Komi" },+ { "kon", "", 1, "Kongo" },+ { "kok", "", 1, "Konkani" },+ { "kor", "", 1, "Korean" },+ { "kos", "", 1, "Kosraean" },+ { "kpe", "", 1, "Kpelle" },+ { "kro", "", 1, "Kru languages" },+ { "kua", "", 1, "Kuanyama" },+ { "kum", "", 1, "Kumyk" },+ { "kur", "", 1, "Kurdish" },+ { "kru", "", 1, "Kurukh" },+ { "kut", "", 1, "Kutenai" },+ { "kua", "", 1, "Kwanyama" },+ { "kir", "", 1, "Kyrgyz" },+ { "lad", "", 1, "Ladino" },+ { "lah", "", 1, "Lahnda" },+ { "lam", "", 1, "Lamba" },+ { "day", "", 1, "Land Dayak languages" },+ { "lao", "", 1, "Lao" },+ { "lat", "", 1, "Latin" },+ { "lav", "", 1, "Latvian" },+ { "ast", "", 1, "Leonese" },+ { "ltz", "", 1, "Letzeburgesch" },+ { "lez", "", 1, "Lezghian" },+ { "lim", "", 1, "Limburgan" },+ { "lim", "", 1, "Limburger" },+ { "lim", "", 1, "Limburgish" },+ { "lin", "", 1, "Lingala" },+ { "lit", "", 1, "Lithuanian" },+ { "jbo", "", 1, "Lojban" },+ { "nds", "", 1, "Low German" },+ { "nds", "", 1, "Low Saxon" },+ { "dsb", "", 1, "Lower Sorbian" },+ { "loz", "", 1, "Lozi" },+ { "lub", "", 1, "Luba-Katanga" },+ { "lua", "", 1, "Luba-Lulua" },+ { "lui", "", 1, "Luiseno" },+ { "smj", "", 1, "Lule Sami" },+ { "lun", "", 1, "Lunda" },+ { "luo", "", 1, "Luo" },+ { "luo", "", 1, "Luo (Kenya and Tanzania)" },+ { "lus", "", 1, "Lushai" },+ { "ltz", "", 1, "Luxembourgish" },+ { "mas", "", 1, "Maasai" },+ { "rup", "", 1, "Macedo-Romanian" },+ { "mac", "mkd", 1, "Macedonian" },+ { "mad", "", 1, "Madurese" },+ { "mag", "", 1, "Magahi" },+ { "mai", "", 1, "Maithili" },+ { "mak", "", 1, "Makasar" },+ { "mlg", "", 1, "Malagasy" },+ { "may", "msa", 1, "Malay" },+ { "mal", "", 1, "Malayalam" },+ { "div", "", 1, "Maldivian" },+ { "mlt", "", 1, "Maltese" },+ { "mnc", "", 1, "Manchu" },+ { "mdr", "", 1, "Mandar" },+ { "man", "", 1, "Mandingo" },+ { "mni", "", 1, "Manipuri" },+ { "mno", "", 1, "Manobo languages" },+ { "glv", "", 1, "Manx" },+ { "mao", "mri", 1, "Maori" },+ { "arn", "", 1, "Mapuche" },+ { "arn", "", 1, "Mapudungun" },+ { "mar", "", 1, "Marathi" },+ { "chm", "", 1, "Mari" },+ { "mah", "", 1, "Marshallese" },+ { "mwr", "", 1, "Marwari" },+ { "myn", "", 1, "Mayan languages" },+ { "men", "", 1, "Mende" },+ { "mic", "", 1, "Mi'kmaq" },+ { "mic", "", 1, "Micmac" },+ { "dum", "", 1, "Middle Dutch" },+ { "enm", "", 1, "Middle English" },+ { "frm", "", 1, "Middle French" },+ { "gmh", "", 1, "Middle High German" },+ { "mga", "", 1, "Middle Irish" },+ { "pal", "", 1, "Middle Persian" },+ { "min", "", 1, "Minangkabau" },+ { "mwl", "", 1, "Mirandese" },+ { "gre", "ell", 1, "Modern Greek" },+ { "moh", "", 1, "Mohawk" },+ { "mdf", "", 1, "Moksha" },+ { "mkh", "", 1, "Mon-Khmer languages" },+ { "lol", "", 1, "Mongo" },+ { "mon", "", 1, "Mongolian" },+ { "mos", "", 1, "Mossi" },+ { "mul", "", 1, "Multiple languages" },+ { "mun", "", 1, "Munda languages" },+ { "nqo", "", 1, "N'Ko" },+ { "nah", "", 1, "Nahuatl" },+ { "nau", "", 1, "Nauruan" },+ { "nav", "", 1, "Navaho" },+ { "nav", "", 1, "Navajo" },+ { "ndo", "", 1, "Ndonga" },+ { "nap", "", 1, "Neapolitan" },+ { "new", "", 1, "Nepal Bhasa" },+ { "nep", "", 1, "Nepali" },+ { "new", "", 1, "Newari" },+ { "nia", "", 1, "Nias" },+ { "nic", "", 1, "Niger-Congo languages" },+ { "ssa", "", 1, "Nilo-Saharan languages" },+ { "niu", "", 1, "Niuean" },+ { "nog", "", 1, "Nogai" },+ { "non", "", 0, "Norse, Old" },+ { "nai", "", 1, "North American Indian languages" },+ { "frr", "", 1, "Northern Frisian" },+ { "nde", "", 1, "Northern Ndebele" },+ { "sme", "", 1, "Northern Sami" },+ { "nso", "", 1, "Northern Sotho" },+ { "nob", "", 1, "Norwegian Bokmaal" },+ { "nno", "", 1, "Norwegian Nynorsk" },+ { "zxx", "", 1, "Not linguistic content; not applicable" },+ { "nub", "", 1, "Nubian languages" },+ { "iii", "", 1, "Nuosu" },+ { "nym", "", 1, "Nyamwezi" },+ { "nya", "", 1, "Nyanja" },+ { "nyn", "", 1, "Nyankole" },+ { "nyr", "", 1, "Nyoro" },+ { "nzi", "", 1, "Nzima" },+ { "oci", "", 1, "Occitan" },+ { "pro", "", 0, "Occitan, Old" },+ { "arc", "", 1, "Official Aramaic" },+ { "xal", "", 1, "Oirat" },+ { "oji", "", 1, "Ojibwa" },+ { "chu", "", 1, "Old Bulgarian" },+ { "chu", "", 1, "Old Church Slavonic" },+ { "ang", "", 1, "Old English" },+ { "fro", "", 1, "Old French" },+ { "goh", "", 1, "Old High German" },+ { "sga", "", 1, "Old Irish" },+ { "nwc", "", 1, "Old Newari" },+ { "non", "", 1, "Old Norse" },+ { "pro", "", 1, "Old Occitan" },+ { "peo", "", 1, "Old Persian" },+ { "pro", "", 1, "Old Provencal" },+ { "chu", "", 1, "Old Slavonic" },+ { "ori", "", 1, "Oriya" },+ { "orm", "", 1, "Oromo" },+ { "osa", "", 1, "Osage" },+ { "oss", "", 1, "Ossetian" },+ { "oss", "", 1, "Ossetic" },+ { "oto", "", 1, "Otomian languages" },+ { "ota", "", 1, "Ottoman Turkish" },+ { "pal", "", 1, "Pahlavi" },+ { "pau", "", 1, "Palauan" },+ { "pli", "", 1, "Pali" },+ { "pam", "", 1, "Pampanga" },+ { "pag", "", 1, "Pangasinan" },+ { "pan", "", 1, "Panjabi" },+ { "pap", "", 1, "Papiamento" },+ { "paa", "", 1, "Papuan languages" },+ { "pus", "", 1, "Pashto" },+ { "pus", "", 1, "Pashto language" },+ { "nso", "", 1, "Pedi" },+ { "per", "fas", 1, "Persian" },+ { "pal", "", 0, "Persian, Middle" },+ { "peo", "", 0, "Persian, Old" },+ { "phi", "", 1, "Philippine languages" },+ { "phn", "", 1, "Phoenician" },+ { "fil", "", 0, "Pilipino" },+ { "pon", "", 1, "Pohnpeian" },+ { "pol", "", 1, "Polish" },+ { "por", "", 1, "Portuguese" },+ { "pra", "", 1, "Prakit" },+ { "pro", "", 0, "Provencal, Old" },+ { "pan", "", 1, "Punjabi" },+ { "que", "", 1, "Quechua" },+ { "raj", "", 1, "Rajasthani" },+ { "rap", "", 1, "Rapanui" },+ { "rar", "", 1, "Rarotongan" },+ { "roa", "", 1, "Romance languages" },+ { "rum", "ron", 1, "Romanian" },+ { "roh", "", 1, "Romansh" }, + { "rom", "", 1, "Romany" },+ { "run", "", 1, "Rundi" },+ { "rus", "", 1, "Russian" },+ { "kho", "", 1, "Sakan" },+ { "sal", "", 1, "Salishan languages" },+ { "sam", "", 1, "Samaritan Aramaic" },+ { "smi", "", 1, "Sami languages" },+ { "smo", "", 1, "Samoan" },+ { "sad", "", 1, "Sandawe" },+ { "sag", "", 1, "Sango" },+ { "san", "", 1, "Sanskrit" },+ { "sat", "", 1, "Santali" },+ { "srd", "", 1, "Sardinian" },+ { "sas", "", 1, "Sasak" },+ { "nds", "", 1, "Saxon, Low" },+ { "sco", "", 1, "Scots" },+ { "gla", "", 1, "Scottish Gaelic" },+ { "sel", "", 1, "Selkup" },+ { "sem", "", 1, "Semitic languages" },+ { "nso", "", 1, "Sepedi" },+ { "srp", "", 1, "Serbian" },+ { "srr", "", 1, "Serer" },+ { "shn", "", 1, "Shan" },+ { "sna", "", 1, "Shona" },+ { "iii", "", 1, "Sichuan Yi" },+ { "scn", "", 1, "Sicilian" },+ { "sid", "", 1, "Sidamo" },+ { "sgn", "", 1, "Sign languages" },+ { "bla", "", 1, "Siksika" },+ { "snd", "", 1, "Sindhi" },+ { "sin", "", 1, "Sinhala" },+ { "sin", "", 1, "Sinhalese" },+ { "sit", "", 1, "Sino-Tibetan languages" },+ { "sio", "", 1, "Siouan languages" },+ { "sms", "", 1, "Skolt Sami" },+ { "den", "", 1, "Slave (Athapascan)" },+ { "sla", "", 1, "Slavic languages" },+ { "slo", "slk", 1, "Slovak" },+ { "slv", "", 1, "Slovenian" },+ { "sog", "", 1, "Sogdian" },+ { "som", "", 1, "Somali" },+ { "son", "", 1, "Songhay languages" },+ { "snk", "", 1, "Soninke" },+ { "wen", "", 1, "Sorbian languages" },+ { "dsb", "", 1, "Sorbian, Lower" },+ { "hsb", "", 1, "Sorbian, Upper" },+ { "sai", "", 1, "South American Indian languages" },+ { "alt", "", 1, "Southern Altai" },+ { "nbl", "", 1, "Southern Ndebele" },+ { "sma", "", 1, "Southern Sami" },+ { "sot", "", 1, "Southern Sotho" },+ { "spa", "", 1, "Spanish" },+ { "srn", "", 1, "Sranan Tongo" },+ { "zgh", "", 1, "Standard Moroccan Tamazight" },+ { "suk", "", 1, "Sukuma" },+ { "sux", "", 1, "Sumerian" },+ { "sun", "", 1, "Sundanese" },+ { "sus", "", 1, "Susu" },+ { "swa", "", 1, "Swahili" },+ { "ssw", "", 1, "Swati" },+ { "swe", "", 1, "Swedish" },+ { "gsw", "", 1, "Swiss German" },+ { "syr", "", 1, "Syriac" },+ { "tgl", "", 1, "Tagalog" },+ { "tah", "", 1, "Tahitian" },+ { "tai", "", 1, "Tai languages" },+ { "tgk", "", 1, "Tajik" },+ { "tmh", "", 1, "Tamashek" },+ { "tam", "", 1, "Tamil" },+ { "tat", "", 1, "Tatar" },+ { "tel", "", 1, "Telugu" },+ { "ter", "", 1, "Tereno" },+ { "tet", "", 1, "Tetum" },+ { "tha", "", 1, "Thai" },+ { "tib", "bod", 1, "Tibetan" },+ { "tig", "", 1, "Tigre" },+ { "tir", "", 1, "Tigrinya" },+ { "tem", "", 1, "Time" },+ { "tiv", "", 1, "Tiv" },+ { "tli", "", 1, "Tlingit" },+ { "tpi", "", 1, "Tok Pisin" },+ { "tkl", "", 1, "Tokelau" },+ { "tog", "", 1, "Tonga (Nyasa)" },+ { "ton", "", 1, "Tonga (Tonga Islands)" },+ { "tsi", "", 1, "Tsimshian" },+ { "tso", "", 1, "Tsonga" },+ { "tsn", "", 1, "Tswana" },+ { "tum", "", 1, "Tumbuka" },+ { "tup", "", 1, "Tupian languages" },+ { "tur", "", 1, "Turkish" },+ { "ota", "", 1, "Turkish, Ottoman" },+ { "tuk", "", 1, "Turkmen" },+ { "tvl", "", 1, "Tuvalu" },+ { "tyv", "", 1, "Tuvinian" },+ { "twi", "", 1, "Twi" },+ { "udm", "", 1, "Udmurt" },+ { "uga", "", 1, "Ugaritic" },+ { "uig", "", 1, "Uighur" },+ { "ukr", "", 1, "Ukranian" },+ { "umb", "", 1, "Umbundu" },+ { "mis", "", 1, "Uncoded languages" },+ { "und", "", 1, "Undetermined language" },+ { "hsb", "", 1, "Upper Sorbian" },+ { "urd", "", 1, "Urdu" },+ { "uig", "", 1, "Uyghur" },+ { "uzb", "", 1, "Uzbek" },+ { "vai", "", 1, "Vai" },+ { "cat", "", 1, "Valencian" },+ { "ven", "", 1, "Venda" },+ { "vie", "", 1, "Vietnamese" },+ { "vol", "", 1, "Volapuk" },+ { "vot", "", 1, "Voltic" },+ { "wak", "", 1, "Wakashan languages" },+ { "wln", "", 1, "Walloon" },+ { "war", "", 1, "Waray-Waray" },+ { "was", "", 1, "Washo" },+ { "wel", "cym", 1, "Welsh" },+ { "fry", "", 1, "Western Frisian" },+ { "wal", "", 1, "Wolaitta" },+ { "wal", "", 1, "Wolaytta" },+ { "wol", "", 1, "Wolof" },+ { "xho", "", 1, "Xhosa" },+ { "sah", "", 1, "Yakut" },+ { "yao", "", 1, "Yao" },+ { "yap", "", 1, "Yapese" },+ { "yid", "", 1, "Yidish" },+ { "yor", "", 1, "Yoruba" },+ { "ypk", "", 1, "Yupik languages" },+ { "znd", "", 1, "Zande languages" },+ { "zap", "", 1, "Zapotec" },+ { "zza", "", 1, "Zaza" },+ { "zza", "", 1, "Zazaki" },+ { "zen", "", 1, "Zenaga" },+ { "zha", "", 1, "Zhuang" },+ { "zul", "", 1, "Zulu" },+ { "zun", "", 1, "Zuni" },+};+static int niso639_2= sizeof( iso639_2 ) / sizeof( iso639_2[0] );++char *+iso639_2_from_code( char *code )+{+ int i;+ for ( i=0; i<niso639_2; ++i ) {+ if ( !iso639_2[i].main ) continue;+ if ( !strcasecmp( iso639_2[i].code1, code ) )+ return iso639_2[i].language;+ if ( iso639_2[i].code2[0]!='\0' && !strcasecmp( iso639_2[i].code2, code ) )+ return iso639_2[i].language;+ }+ return NULL;+}++char *+iso639_2_from_language( char *lang )+{+ int i, n;+ for ( i=0; i<niso639_2; ++i ) {+ n = strcasecmp( iso639_2[i].language, lang );+ if ( n==0 ) return iso639_2[i].code1;+ if ( n > 0 ) return NULL;+ }+ return NULL;+}++#ifdef TEST++#include <stdio.h>+#include <stdlib.h>++static int+check_alphabetical( void )+{+ char *l1, *l2;+ int i, ret = 1;+ l1 = iso639_2[0].language;+ for ( i=0; i<niso639_2-1; ++i ) {+ l2 = iso639_2[i+1].language;+ if ( strcasecmp( l1, l2 ) >= 0 ) {+ fprintf( stderr, "Swap '%s' and '%s'\n", l1, l2 );+ ret = 0;+ }+ l1 = l2;+ }+ return ret;+}++int+main( int argc, char *argv[] )+{+ int ok;+ ok = check_alphabetical();+ return EXIT_SUCCESS;+}++#endif
+ bibutils/iso639_2.h view
@@ -0,0 +1,10 @@+/*+ * iso639-2 language codes+ */+#ifndef ISO639_2_H+#define ISO639_2_H++extern char * iso639_2_from_code( char *code );+extern char * iso639_2_from_language( char *lang );++#endif
bibutils/medin.c view
@@ -15,6 +15,7 @@ #include "xml.h" #include "xml_encoding.h" #include "medin.h"+#include "iso639_2.h" #include "bibutils.h" void@@ -206,7 +207,20 @@ newstr_free( &tmp ); } -+/* <Langauge>eng</Language>+ */+static int+medin_language( xml *node, fields *info, int level )+{+ char *code, *language;+ int ok;+ code = xml_data( node );+ if ( !code ) return 1;+ language = iso639_2_from_code( code );+ if ( language ) ok = fields_add( info, "LANGUAGE", language, level );+ else ok = fields_add( info, "LANGUAGE", code, level );+ return ok;+} /* <Journal> * <ISSN>0027-8424</ISSN>@@ -248,12 +262,13 @@ { "Year", NULL, NULL, "PARTYEAR", 1 }, { "Month", NULL, NULL, "PARTMONTH", 1 }, { "Day", NULL, NULL, "PARTDAY", 1 },- { "Language", NULL, NULL, "LANGUAGE", 1 }, }; int nc = sizeof( c ) / sizeof( c[0] );; if ( xml_hasdata( node ) && !medin_doconvert( node, info, c, nc ) ) { if ( xml_tagexact( node, "MedlineDate" ) ) medin_medlinedate( info, xml_data( node ), 1 );+ if ( xml_tagexact( node, "Language" ) )+ medin_language( node, info, 1 ); } if ( node->down ) medin_journal1( node->down, info ); if ( node->next ) medin_journal1( node->next, info );@@ -463,6 +478,8 @@ medin_abstract( node->down, info ); else if ( xml_tagexact( node, "AuthorList" ) ) medin_authorlist( node, info );+ else if ( xml_tagexact( node, "Language" ) )+ medin_language( node, info, 0 ); else if ( xml_tagexact( node, "Affiliation" ) ) fields_add( info, "ADDRESS", xml_data( node ), 0 ); if ( node->next ) medin_article( node->next, info );
bibutils/modsin.c view
@@ -472,10 +472,24 @@ } static void+modsin_languager( xml *node, fields *info, int level )+{+ if ( xml_tag_attrib( node, "languageTerm", "type", "text" ) ) {+ if ( node->value && node->value->len )+ fields_add( info, "LANGUAGE", node->value->data, level );+ }+ if ( node->next ) modsin_languager( node->next, info, level );+}++static void modsin_language( xml *node, fields *info, int level ) {+ /* Old versions of MODS had <language>English</language> */ if ( node->value && node->value->len ) fields_add( info, "LANGUAGE", node->value->data, level );++ /* New versions of MODS have <language><languageTerm>English</languageTerm></language> */+ if ( node->down ) modsin_languager( node->down, info, level ); } static void
bibutils/modsout.c view
@@ -13,6 +13,7 @@ #include "newstr.h" #include "newstr_conv.h" #include "fields.h"+#include "iso639_2.h" #include "utf8.h" #include "modsout.h" #include "modstypes.h"@@ -82,6 +83,15 @@ } static void+output_tab6( FILE *outptr, int level, char *tag, char *aname, char *avalue,+ char *bname, char *bvalue, char *data, int cr )+{+ output_tab0( outptr, level );+ fprintf( outptr, "<%s %s=\"%s\" %s=\"%s\">%s</%s>", tag,aname,avalue,bname,bvalue,data,tag);+ if ( cr ) fprintf( outptr, "\n" );+}++static void output_fill2( FILE *outptr, int level, char *tag, fields *f, int n, int cr ) { char *value;@@ -229,39 +239,35 @@ { convert names[] = { { "author", "AUTHOR", MARC_AUTHORITY },- { "writer", "WRITER", MARC_AUTHORITY },- { "artist", "ARTIST", MARC_AUTHORITY },- { "cartographer", "CARTOGRAPHER", MARC_AUTHORITY },- { "commentator", "COMMENTATOR", NO_AUTHORITY },- { "degree grantor", "DEGREEGRANTOR", MARC_AUTHORITY },- { "director", "DIRECTOR", MARC_AUTHORITY }, { "editor", "EDITOR", MARC_AUTHORITY },- { "inventor", "INVENTOR", MARC_AUTHORITY },- { "organizer of meeting", "ORGANIZER", MARC_AUTHORITY },- { "patent holder", "ASSIGNEE", MARC_AUTHORITY },- { "performer", "PERFORMER", MARC_AUTHORITY },- { "recipient", "RECIPIENT", MARC_AUTHORITY },- { "redactor", "REDACTOR", NO_AUTHORITY },- { "reporter", "REPORTER", NO_AUTHORITY },- { "translator", "TRANSLATOR", MARC_AUTHORITY },- { "event", "EVENT", NO_AUTHORITY },- { "sponsor", "SPONSOR", MARC_AUTHORITY },+ { "annotator", "ANNOTATOR", MARC_AUTHORITY },+ { "artist", "ARTIST", MARC_AUTHORITY }, { "author", "2ND_AUTHOR", MARC_AUTHORITY }, { "author", "3RD_AUTHOR", MARC_AUTHORITY }, { "author", "SUB_AUTHOR", MARC_AUTHORITY }, { "author", "COMMITTEE", MARC_AUTHORITY }, { "author", "COURT", MARC_AUTHORITY }, { "author", "LEGISLATIVEBODY", MARC_AUTHORITY },- { "annotator", "ANNOTATOR", MARC_AUTHORITY },- { "commentator", "COMMENTATOR", MARC_AUTHORITY },- { "author of introduction, etc.", "INTROAUTHOR", MARC_AUTHORITY }, { "author of afterword, colophon, etc.", "AFTERAUTHOR", MARC_AUTHORITY },- { "compiler", "COMPILER", MARC_AUTHORITY },+ { "author of introduction, etc.", "INTROAUTHOR", MARC_AUTHORITY },+ { "cartographer", "CARTOGRAPHER", MARC_AUTHORITY }, { "collaborator", "COLLABORATOR", MARC_AUTHORITY },- { "redactor", "REDACTOR", MARC_AUTHORITY },+ { "commentator", "COMMENTATOR", MARC_AUTHORITY },+ { "compiler", "COMPILER", MARC_AUTHORITY },+ { "degree grantor", "DEGREEGRANTOR", MARC_AUTHORITY }, { "director", "DIRECTOR", MARC_AUTHORITY },- { "producer", "PRODUCER", MARC_AUTHORITY },+ { "event", "EVENT", NO_AUTHORITY },+ { "inventor", "INVENTOR", MARC_AUTHORITY },+ { "organizer of meeting", "ORGANIZER", MARC_AUTHORITY },+ { "patent holder", "ASSIGNEE", MARC_AUTHORITY }, { "performer", "PERFORMER", MARC_AUTHORITY },+ { "producer", "PRODUCER", MARC_AUTHORITY },+ { "recipient", "RECIPIENT", MARC_AUTHORITY },+ { "redactor", "REDACTOR", MARC_AUTHORITY },+ { "reporter", "REPORTER", MARC_AUTHORITY },+ { "sponsor", "SPONSOR", MARC_AUTHORITY },+ { "translator", "TRANSLATOR", MARC_AUTHORITY },+ { "writer", "WRITER", MARC_AUTHORITY }, }; int i, n, nfields, ntypes = sizeof( names ) / sizeof( convert ); int f_asis, f_corp, f_conf;@@ -416,17 +422,36 @@ } static void+output_language_core( fields *f, int n, FILE *outptr, int level )+{+ char *lang, *code;+ lang = fields_value( f, n, FIELDS_CHRP );+ code = iso639_2_from_language( lang );+ output_tab1( outptr, level, "<language>\n" );+ output_fill4( outptr, increment_level(level,1),+ "languageTerm", "type", "text", f, n, 1 );+ if ( code ) {+ output_tab6( outptr, increment_level(level,1),+ "languageTerm", "type", "code", "authority", "iso639-2b",+ code, 1 );+ }+ output_tab1( outptr, level, "</language>\n" );+}++static void output_language( fields *f, FILE *outptr, int level ) {- int n = fields_find( f, "LANGUAGE", level );- output_fill2( outptr, level, "language", f, n, 1 );+ int n;+ n = fields_find( f, "LANGUAGE", level );+ if ( n!=-1 )+ output_language_core( f, n, outptr, level ); } static void output_description( fields *f, FILE *outptr, int level ) { int n = fields_find( f, "DESCRIPTION", level );- if (n != -1) {+ if ( n!=-1 ) { output_tab1( outptr, level, "<physicalDescription>\n" ); output_fill2( outptr, increment_level(level,1), "note", f, n, 1 ); output_tab1( outptr, level, "</physicalDescription>\n" );@@ -613,6 +638,20 @@ } static void+output_recordInfo( fields *f, FILE *outptr, int level )+{+ int n;+ n = fields_find( f, "LANGCATALOG", level );+ if ( n!=-1 ) {+ output_tab1( outptr, level, "<recordInfo>\n" );+ output_tab1( outptr, increment_level(level,1), "<languageOfCataloging>\n" );+ output_language_core( f, n, outptr, increment_level(level,2) );+ output_tab1( outptr, increment_level(level,1), "</languageOfCataloging>\n" );+ output_tab1( outptr, level, "</recordInfo>\n" );+ }+}++static void output_genre( fields *f, FILE *outptr, int level ) { int i, ismarc, n;@@ -678,29 +717,31 @@ } static void+output_annotation( fields *f, FILE *outptr, int level )+{+ int n = fields_find( f, "ANNOTATION", level );+ output_fill4( outptr, level, "note", "type", "annotation", f, n, 1 );+}++static void+output_addendum( fields *f, FILE *outptr, int level )+{+ int n = fields_find( f, "ADDENDUM", level );+ output_fill4( outptr, level, "note", "type", "addendum", f, n, 1 );+}++static void output_timescited( fields *f, FILE *outptr, int level ) { int n = fields_find( f, "TIMESCITED", level );- char *value;- if ( n!=-1 ) {- value = fields_value( f, n, FIELDS_CHRP );- output_tab0( outptr, level );- fprintf( outptr, "<note>Times Cited: %s</note>\n", value );- fields_setused( f, n );- }+ output_fill4( outptr, level, "note", "type", "times cited", f, n, 1 ); } static void output_indexkey( fields *f, FILE *outptr, int level ) { int n = fields_find( f, "BIBKEY", level );- char *value;- if ( n!=-1 ) {- value = fields_value( f, n, FIELDS_CHRP );- output_tab0( outptr, level );- fprintf( outptr, "<note>Key: %s</note>\n", value );- fields_setused( f, n );- }+ output_fill4( outptr, level, "note", "type", "bibliography key", f, n, 1 ); } static void@@ -737,6 +778,7 @@ { "isi", "ISIREFNUM", 0 }, { "accessnum", "ACCESSNUM", 0 }, { "jstor", "JSTOR", 0 },+ { "isrn", "ISRN", 0 }, }; int n, ntypes = sizeof( sn_types ) / sizeof( sn_types[0] ); int found, i, nfields;@@ -883,12 +925,16 @@ } output_abs( f, outptr, level ); output_timescited( f, outptr, level );+ output_annotation( f, outptr, level );+ output_addendum ( f, outptr, level ); output_indexkey( f, outptr, level ); output_toc( f, outptr, level ); output_key( f, outptr, level ); output_sn( f, outptr, level ); output_url( f, outptr, level ); output_part( f, outptr, level );++ output_recordInfo( f, outptr, level ); } static void
bibutils/reftypes.h view
@@ -10,32 +10,33 @@ #define REFTYPES_H /* Reftypes handled by core code */-#define ALWAYS (0)-#define DEFAULT (1)+#define ALWAYS (0)+#define DEFAULT (1) /* Reftypes to be handled by converters */-#define SIMPLE (2)-#define TYPE (3)-#define PERSON (4)-#define DATE (5)-#define PAGES (6)-#define SERIALNO (7)-#define TITLE (8)-#define NOTES (9)-#define DOI (10)-#define HOWPUBLISHED (11)-#define LINKEDFILE (12)-#define KEYWORD (13)-#define BIBTEX_URL (14)-#define BIBTEX_NOTE (15)-#define BIBTEX_SENTE (16)-#define BIBTEX_GENRE (17)-#define BIBTEX_EPRINT (18)-#define BIBTEX_ORGANIZATION (19)-#define BLT_THESIS_TYPE (20)-#define BLT_SCHOOL (21)-#define BLT_EDITOR (22)-#define BLT_SKIP (23)+#define SIMPLE (2)+#define TYPE (3)+#define PERSON (4)+#define DATE (5)+#define PAGES (6)+#define SERIALNO (7)+#define TITLE (8)+#define NOTES (9)+#define DOI (10)+#define HOWPUBLISHED (11)+#define LINKEDFILE (12)+#define KEYWORD (13)+#define BT_URL (14) /* Bibtex URL */+#define BT_NOTE (15) /* Bibtex Note */+#define BT_SENTE (16) /* Bibtex 'Sente' */+#define BT_GENRE (17) /* Bibtex Genre */+#define BT_EPRINT (18) /* Bibtex 'Eprint' */+#define BT_ORG (19) /* Bibtex Organization */+#define BLT_THESIS_TYPE (20) /* Biblatex Thesis Type */+#define BLT_SCHOOL (21) /* Biblatex School */+#define BLT_EDITOR (22) /* Biblatex Editor */+#define BLT_SUBTYPE (23) /* Biblatex entrysubtype */+#define BLT_SKIP (24) /* Biblatex Skip Entry */ typedef struct { char *oldstr;
hs-bibutils.cabal view
@@ -1,5 +1,5 @@ name: hs-bibutils-version: 4.16+version: 4.17 homepage: http://gorgias.mine.nu/repos/hs-bibutils/ synopsis: Haskell bindings to bibutils, the bibliography@@ -45,23 +45,23 @@ bibutils/gb18030.h bibutils/gb18030_enumeration.c bibutils/is_ws.c bibutils/intlis.h bibutils/intlis.c bibutils/is_ws.h bibutils/isiin.c bibutils/isiin.h bibutils/isiout.c- bibutils/isiout.h bibutils/isitypes.c bibutils/latex.c- bibutils/latex.h bibutils/list.c bibutils/list.h bibutils/marc.c- bibutils/marc.h bibutils/medin.c bibutils/medin.h- bibutils/modsin.c bibutils/modsin.h bibutils/modsout.c- bibutils/modsout.h bibutils/modstypes.c bibutils/modstypes.h- bibutils/mycvout.c bibutils/name.c bibutils/name.h- bibutils/newstr.c bibutils/newstr.h bibutils/newstr_conv.c- bibutils/newstr_conv.h bibutils/reftypes.c bibutils/reftypes.h- bibutils/risin.c bibutils/risin.h bibutils/risout.c- bibutils/risout.h bibutils/ristypes.c bibutils/vplist.c- bibutils/vplist.h bibutils/serialno.c bibutils/serialno.h- bibutils/strsearch.c bibutils/strsearch.h bibutils/title.c- bibutils/title.h bibutils/unicode. bibutils/unicode.c- bibutils/utf8.c bibutils/utf8.h bibutils/wordin.c- bibutils/wordin.h bibutils/wordout.c bibutils/wordout.h- bibutils/xml.c bibutils/xml.h bibutils/xml_encoding.c- bibutils/xml_encoding.h+ bibutils/iso639_2.c bibutils/iso639_2.h bibutils/isiout.h+ bibutils/isitypes.c bibutils/latex.c bibutils/latex.h+ bibutils/list.c bibutils/list.h bibutils/marc.c bibutils/marc.h+ bibutils/medin.c bibutils/medin.h bibutils/modsin.c+ bibutils/modsin.h bibutils/modsout.c bibutils/modsout.h+ bibutils/modstypes.c bibutils/modstypes.h bibutils/mycvout.c+ bibutils/name.c bibutils/name.h bibutils/newstr.c+ bibutils/newstr.h bibutils/newstr_conv.c bibutils/newstr_conv.h+ bibutils/reftypes.c bibutils/reftypes.h bibutils/risin.c+ bibutils/risin.h bibutils/risout.c bibutils/risout.h+ bibutils/ristypes.c bibutils/vplist.c bibutils/vplist.h+ bibutils/serialno.c bibutils/serialno.h bibutils/strsearch.c+ bibutils/strsearch.h bibutils/title.c bibutils/title.h+ bibutils/unicode. bibutils/unicode.c bibutils/utf8.c+ bibutils/utf8.h bibutils/wordin.c bibutils/wordin.h+ bibutils/wordout.c bibutils/wordout.h bibutils/xml.c+ bibutils/xml.h bibutils/xml_encoding.c bibutils/xml_encoding.h library exposed-modules: Text.Bibutils@@ -83,15 +83,15 @@ bibutils/endout.c bibutils/endtypes.c bibutils/endxmlin.c bibutils/entities.c bibutils/fields.c bibutils/gb18030.c bibutils/intlist.c bibutils/is_ws.c bibutils/isiin.c- bibutils/isiout.c bibutils/isitypes.c bibutils/latex.c- bibutils/list.c bibutils/marc.c bibutils/medin.c- bibutils/modsin.c bibutils/modsout.c bibutils/modstypes.c- bibutils/name.c bibutils/newstr.c bibutils/newstr_conv.c- bibutils/reftypes.c bibutils/risin.c bibutils/risout.c- bibutils/ristypes.c bibutils/vplist.c bibutils/serialno.c- bibutils/strsearch.c bibutils/title.c bibutils/unicode.c- bibutils/utf8.c bibutils/wordin.c bibutils/wordout.c- bibutils/xml.c bibutils/xml_encoding.c+ bibutils/isiout.c bibutils/isitypes.c bibutils/iso639_2.c+ bibutils/latex.c bibutils/list.c bibutils/marc.c+ bibutils/medin.c bibutils/modsin.c bibutils/modsout.c+ bibutils/modstypes.c bibutils/name.c bibutils/newstr.c+ bibutils/newstr_conv.c bibutils/reftypes.c bibutils/risin.c+ bibutils/risout.c bibutils/ristypes.c bibutils/vplist.c+ bibutils/serialno.c bibutils/strsearch.c bibutils/title.c+ bibutils/unicode.c bibutils/utf8.c bibutils/wordin.c+ bibutils/wordout.c bibutils/xml.c bibutils/xml_encoding.c if impl(ghc >= 6.10) build-depends: base >= 4, syb