Blame bibutils/bibtextypes.c

Packit 89ede9
/*
Packit 89ede9
 * bibtypes.c
Packit 89ede9
 *
Packit 89ede9
 * Copyright (c) Chris Putnam 2003-2018
Packit 89ede9
 *
Packit 89ede9
 * Program and source code released under the GPL version 2
Packit 89ede9
 *
Packit 89ede9
 */
Packit 89ede9
#include <stdio.h>
Packit 89ede9
#include "fields.h"
Packit 89ede9
#include "reftypes.h"
Packit 89ede9
Packit 89ede9
/* Entry types from the IEEEtran Bibtex Style + others as observed */
Packit 89ede9
Packit 89ede9
/*
Packit 89ede9
 * Journal Article
Packit 89ede9
 */
Packit 89ede9
static lookups article[] = {
Packit 89ede9
	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "title",        "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "year",         "PARTDATE:YEAR",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "month",        "PARTDATE:MONTH", SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "day",          "PARTDATE:DAY",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "volume",       "VOLUME",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "pages",        "PAGES",          PAGES,        LEVEL_MAIN },
Packit 89ede9
	{ "number",       "ISSUE",          SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "issue",        "ISSUE",          SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "journal",      "",               TITLE,        LEVEL_HOST },
Packit 89ede9
	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_HOST },
Packit 89ede9
	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_HOST },
Packit 89ede9
	{ "issn",         "ISSN",           SIMPLE,       LEVEL_HOST },
Packit 89ede9
	{ "coden",        "CODEN",          SIMPLE,       LEVEL_HOST },
Packit 89ede9
	{ "abstract",     "ABSTRACT",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",          NOTES,        LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "eprint",       "",               EPRINT,       LEVEL_MAIN },
Packit 89ede9
	{ "archivePrefix","ARCHIVEPREFIX",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "eprintclass",  "EPRINTCLASS",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "primaryClass", "EPRINTCLASS",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",     BT_SENTE,     LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",     LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",               HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "mrnumber",     "MRNUMBER",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",            SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",        KEYWORD,      LEVEL_MAIN },
Packit 89ede9
	{ "",             "INTERNAL_TYPE|ARTICLE",           ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "ISSUANCE|continuing",             ALWAYS, LEVEL_HOST },
Packit 89ede9
	{ "",             "RESOURCE|text",                   ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "GENRE:MARC|periodical",           ALWAYS, LEVEL_HOST },
Packit 89ede9
	{ "",             "GENRE:BIBUTILS|journal article",  ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "GENRE:BIBUTILS|academic journal", ALWAYS, LEVEL_HOST }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* Book */
Packit 89ede9
Packit 89ede9
static lookups book[] = {
Packit 89ede9
	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "title",        "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "booktitle",    "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "series",       "",               TITLE,        LEVEL_HOST },
Packit 89ede9
	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG,       LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "year",         "DATE:YEAR",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "month",        "DATE:MONTH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "day",          "DATE:DAY",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "volume",       "VOLUME",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "number",       "NUMBER",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "isbn",         "ISBN",           SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "lccn",         "LCCN",           SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "edition",      "EDITION",        SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "abstract",     "ABSTRACT",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",          NOTES,        LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "type",         "GENRE:UKNOWN",   GENRE,        LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",     BT_SENTE,     LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",     LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",               HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",            SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",        KEYWORD,      LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "",             "INTERNAL_TYPE|BOOK",   ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "RESOURCE|text",        ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "GENRE:MARC|book",      ALWAYS, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* Technical reports */
Packit 89ede9
Packit 89ede9
static lookups report[] = {
Packit 89ede9
	{ "author",       "AUTHOR",     PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR", PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "title",        "",           TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "booktitle",    "",           TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "series",       "",           TITLE,        LEVEL_HOST },
Packit 89ede9
	{ "editor",       "EDITOR",     PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "publisher",    "PUBLISHER",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "institution",  "PUBLISHER",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "year",         "DATE:YEAR",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "month",        "DATE:MONTH", SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "day",          "DATE:DAY",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "number",       "NUMBER",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "isbn",         "ISBN",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "lccn",         "LCCN",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "abstract",     "ABSTRACT",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",      NOTES,        LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",        SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",           URL,          LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",           URL,          LEVEL_MAIN },
Packit 89ede9
	{ "mrnumber",     "MRNUMBER",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH", SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH", BT_SENTE,     LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH", LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",           HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "type",         "GENRE:UKNOWN", GENRE,      LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",    KEYWORD,      LEVEL_MAIN },
Packit 89ede9
	{ "", "INTERNAL_TYPE|REPORT",        ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "", "RESOURCE|text",               ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "", "GENRE:MARC|technical report", ALWAYS,  LEVEL_MAIN },
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
static lookups manual[] = {
Packit 89ede9
	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "title",     "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "booktitle", "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "editor",    "EDITOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "isbn",      "ISBN",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "lccn",      "LCCN",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "edition",   "EDITION",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",        NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",          SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",       URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",       URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",    "REFNUM",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",        ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|instruction", ALWAYS, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* Part of a book (e.g. chapter or section) */
Packit 89ede9
Packit 89ede9
static lookups inbook[] = {
Packit 89ede9
	{ "author",       "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "editor",       "EDITOR",    PERSON, LEVEL_HOST },
Packit 89ede9
	{ "chapter",      "CHAPTER",   SIMPLE, LEVEL_MAIN },   /* chapter number */
Packit 89ede9
	{ "title",        "",          TITLE,  LEVEL_MAIN },   /* chapter name */
Packit 89ede9
	{ "booktitle",    "",          TITLE,  LEVEL_HOST },
Packit 89ede9
	{ "series",       "",          TITLE,  LEVEL_SERIES },
Packit 89ede9
	{ "publisher",    "PUBLISHER", SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "address",      "ADDRESS",   SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "year",         "DATE:YEAR", SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "month",        "DATE:MONTH",SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "day",          "DATE:DAY",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "volume",       "VOLUME",    SIMPLE, LEVEL_SERIES },
Packit 89ede9
	{ "number",       "NUMBER",    SIMPLE, LEVEL_SERIES },
Packit 89ede9
	{ "pages",        "PAGES",     PAGES,  LEVEL_HOST },
Packit 89ede9
	{ "isbn",         "ISBN",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "lccn",         "LCCN",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "edition",      "EDITION",   SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "abstract",     "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "language",     "LANGUAGE",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "doi",          "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED,  LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "type",         "GENRE:UNKNOWN", GENRE,  LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",     NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",             "INTERNAL_TYPE|INBOOK",        ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "RESOURCE|text",               ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "ISSUANCE|monographic",        ALWAYS, LEVEL_HOST },
Packit 89ede9
	{ "",             "GENRE:BIBUTILS|book chapter", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "GENRE:MARC|book",             ALWAYS, LEVEL_HOST }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* References of papers in conference proceedings */
Packit 89ede9
Packit 89ede9
static lookups inproceedings[] = {
Packit 89ede9
	{ "author",     "AUTHOR",     PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "editor",     "EDITOR",     PERSON, LEVEL_HOST },
Packit 89ede9
	{ "chapter",    "CHAPTER",    SIMPLE, LEVEL_MAIN },   /* chapter number */
Packit 89ede9
	{ "title",      "",           TITLE,  LEVEL_MAIN },   /* chapter name */
Packit 89ede9
	{ "booktitle",  "",           TITLE,  LEVEL_HOST },
Packit 89ede9
	{ "series",     "",           TITLE,  LEVEL_SERIES },
Packit 89ede9
	{ "publisher",  "PUBLISHER",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_HOST },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "year",      "PARTDATE:YEAR",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",     "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",       "PARTDATE:DAY",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "volume",    "VOLUME",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "number",    "NUMBER",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "pages",     "PAGES",     PAGES,  LEVEL_MAIN },
Packit 89ede9
	{ "isbn",      "ISBN",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "lccn",      "LCCN",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "language",     "LANGUAGE",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "paper",     "PAPER",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",     SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "type",      "GENRE:UNKNOWN",   GENRE,  LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",        NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",          SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",    "REFNUM",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|INPROCEEDINGS",  ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",                ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|conference publication", ALWAYS, LEVEL_HOST }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* Used for a section of a book with its own title */
Packit 89ede9
Packit 89ede9
static lookups incollection[] = {
Packit 89ede9
	{ "author",     "AUTHOR",     PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "editor",     "EDITOR",     PERSON, LEVEL_HOST },
Packit 89ede9
	{ "chapter",    "CHAPTER",    SIMPLE, LEVEL_MAIN },   /* chapter number */
Packit 89ede9
	{ "title",      "",           TITLE,  LEVEL_MAIN },   /* chapter name */
Packit 89ede9
	{ "booktitle",  "",           TITLE,  LEVEL_HOST },
Packit 89ede9
	{ "series",     "",           TITLE,  LEVEL_SERIES },
Packit 89ede9
	{ "publisher",  "PUBLISHER",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "volume",    "VOLUME",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "number",    "NUMBER",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "pages",     "PAGES",     PAGES,  LEVEL_MAIN },
Packit 89ede9
	{ "isbn",      "ISBN",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "lccn",      "LCCN",      SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "edition",   "EDITION",   SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "language",  "LANGUAGE",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "type",      "GENRE:UNKNOWN",     GENRE,  LEVEL_MAIN },
Packit 89ede9
	{ "note",      "NOTES",     NOTES,  LEVEL_MAIN },
Packit 89ede9
	{ "annote",    "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "key",       "BIBKEY",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",       "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",      "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",     SIMPLE, LEVEL_HOST },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",    "REFNUM",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|INCOLLECTION", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",              ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "ISSUANCE|monographic",       ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:BIBUTILS|collection",  ALWAYS, LEVEL_HOST }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* Proceedings */
Packit 89ede9
Packit 89ede9
static lookups proceedings[] = {
Packit 89ede9
	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "editor",    "EDITOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "title",     "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "booktitle", "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "series",    "",     TITLE,  LEVEL_HOST },
Packit 89ede9
	{ "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "volume",    "VOLUME",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "number",    "NUMBER",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "pages",     "PAGES",     PAGES,  LEVEL_MAIN },
Packit 89ede9
	{ "isbn",      "ISBN",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "lccn",      "LCCN",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",        NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",          SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",    "REFNUM",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|PROCEEDINGS",         ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",                     ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|conference publication", ALWAYS, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
static lookups phds[] = {
Packit 89ede9
	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "title",     "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "school",    "DEGREEGRANTOR:ASIS",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "" ,   HOWPUBLISHED,  LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",  SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",  SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",     NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "type",         "GENRE:UNKNOWN",     GENRE,   LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|THESIS",        ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",               ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|thesis",           ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:BIBUTILS|Ph.D. thesis", DEFAULT, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
static lookups masters[] = {
Packit 89ede9
	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "title",     "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "school",    "DEGREEGRANTOR:ASIS",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",          URL,   LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",          URL,   LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH", SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH", BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH", LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",   SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",   SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",      NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",     SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",     SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "type",         "GENRE:UNKNOWN",      GENRE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED,   LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",     SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",   SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",    KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|THESIS",          ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",                 ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|thesis",             ALWAYS,  LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:BIBUTILS|Masters thesis", DEFAULT, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/* Unpublished */
Packit 89ede9
Packit 89ede9
static lookups unpublished[] = {
Packit 89ede9
	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "title",     "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "booktitle", "",     TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "editor",    "EDITOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "abstract",  "ABSTRACT",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",          URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",        NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",          SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",    "REFNUM",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",      ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:BIBUTILS|unpublished", ALWAYS, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/*
Packit 89ede9
 * For Published Standards
Packit 89ede9
 */
Packit 89ede9
static lookups standard[] = {
Packit 89ede9
	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
Packit 89ede9
	{ "institution", "AUTHOR:CORP", SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "title",     "",           TITLE,    LEVEL_MAIN },
Packit 89ede9
	{ "booktitle", "",           TITLE,    LEVEL_MAIN },
Packit 89ede9
	{ "publisher", "PUBLISHER",  SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "address",   "ADDRESS",    SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "editor",    "EDITOR",     PERSON,   LEVEL_MAIN },
Packit 89ede9
	{ "year",      "DATE:YEAR",  SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "month",     "DATE:MONTH", SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "day",       "DATE:DAY",   SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "isbn",      "ISBN",       SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "lccn",      "LCCN",       SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "abstract",  "ABSTRACT",   SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "contents",  "CONTENTS",   SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "doi",       "DOI",        SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "ftp",       "",           URL,      LEVEL_MAIN },
Packit 89ede9
	{ "url",       "",           URL,      LEVEL_MAIN },
Packit 89ede9
	{ "pdf",       "FILEATTACH", SIMPLE,   LEVEL_MAIN },
Packit 89ede9
	{ "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",    HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",    "REFNUM",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "type",      "GENRE:UNKNOWN",      GENRE,  LEVEL_MAIN },
Packit 89ede9
	{ "number",    "NUMBER",      SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "revision",  "EDITION",    SIMPLE,  LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",        NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",          SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",          ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|STANDARD", ALWAYS, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/*
Packit 89ede9
 * For Journals and Magazines
Packit 89ede9
 */
Packit 89ede9
static lookups periodical[] = {
Packit 89ede9
	{ "title",        "",            TITLE,  LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",  PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "series",       "",            TITLE,  LEVEL_HOST },
Packit 89ede9
	{ "publisher",    "PUBLISHER",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",     SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "editor",       "EDITOR",      PERSON, LEVEL_MAIN },
Packit 89ede9
	{ "year",         "DATE:YEAR",   SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "month",        "DATE:MONTH",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "day",          "DATE:DAY",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "issn",         "ISSN",        SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "coden",        "CODEN",       SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "abstract",     "ABSTRACT",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "volume",       "VOLUME",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "number",       "NUMBER",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",         SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",            URL,    LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",            URL,    LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",  BT_SENTE, LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",  LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",            HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",      SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",       NOTES,   LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",    SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",  SIMPLE, LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",   KEYWORD, LEVEL_MAIN },
Packit 89ede9
	{ "",            "RESOURCE|text",    ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",            "GENRE:MARC|periodical", ALWAYS, LEVEL_MAIN }
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/*
Packit 89ede9
 * For Patent
Packit 89ede9
 */
Packit 89ede9
static lookups patent[] = {
Packit 89ede9
	{ "author",       "AUTHOR",      PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",  PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "assignee",     "ASSIGNEE",    PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "title",        "",            TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "publisher",    "PUBLISHER",   SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "editor",       "EDITOR",      PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "year",         "DATE:YEAR",   SIMPLE,       LEVEL_MAIN }, /* date granted */
Packit 89ede9
	{ "month",        "DATE:MONTH",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "day",          "DATE:DAY",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "yearfiled",    "DATE:YEAR",   SIMPLE,       LEVEL_MAIN }, /* date filed */
Packit 89ede9
	{ "monthfiled",   "DATE:MONTH",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "dayfiled",     "DATE:DAY",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "abstract",     "ABSTRACT",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "nationality",  "NATIONALITY", SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",       NOTES,        LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",            URL,          LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",            URL,          LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",  SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",  BT_SENTE,     LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",  LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",            HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "type",         "GENRE:UNKNOWN",       GENRE,       LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",    SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",     KEYWORD,      LEVEL_MAIN },
Packit 89ede9
	{ "",         "RESOURCE|text",        ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "INTERNAL_TYPE|PATENT", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|patent",    ALWAYS, LEVEL_MAIN },
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
/*
Packit 89ede9
 * Electronic Source
Packit 89ede9
 */
Packit 89ede9
static lookups electronic[] = {
Packit 89ede9
	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG,       LEVEL_MAIN },
Packit 89ede9
	{ "title",        "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "booktitle",    "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "year",         "DATE:YEAR",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "month",        "DATE:MONTH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "day",          "DATE:DAY",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "abstract",     "ABSTRACT",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "volume",       "VOLUME",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",            SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",     BT_SENTE,     LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",     LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",               HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",          NOTES,        LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",        KEYWORD,      LEVEL_MAIN },
Packit 89ede9
        { "",         "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:MARC|web site",           ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",         "GENRE:BIBUTILS|electronic",     ALWAYS, LEVEL_MAIN },
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
static lookups misc[] = {
Packit 89ede9
	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "title",        "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "booktitle",    "",               TITLE,        LEVEL_MAIN },
Packit 89ede9
	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "organization", "ORGANIZER:CORP", BT_ORG,       LEVEL_MAIN },
Packit 89ede9
	{ "pages",        "PAGES",          PAGES,        LEVEL_MAIN },
Packit 89ede9
	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },
Packit 89ede9
	{ "year",         "DATE:YEAR",      SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "month",        "DATE:MONTH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "day",          "DATE:DAY",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "abstract",     "ABSTRACT",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "contents",     "CONTENTS",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "doi",          "DOI",            SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "ftp",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "url",          "",               URL,          LEVEL_MAIN },
Packit 89ede9
	{ "pdf",          "FILEATTACH",     SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "sentelink",    "FILEATTACH",     BT_SENTE,     LEVEL_MAIN },
Packit 89ede9
	{ "file",         "FILEATTACH",     LINKEDFILE,   LEVEL_MAIN },
Packit 89ede9
	{ "howpublished", "",               HOWPUBLISHED, LEVEL_MAIN },
Packit 89ede9
	{ "refnum",       "REFNUM",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "crossref",     "CROSSREF",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "location",     "LOCATION",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "note",         "NOTES",          NOTES,        LEVEL_MAIN },
Packit 89ede9
	{ "annote",       "ANNOTE",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "key",          "BIBKEY",         SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "language",     "LANGUAGE",       SIMPLE,       LEVEL_MAIN },
Packit 89ede9
	{ "keywords",     "KEYWORD",        KEYWORD,      LEVEL_MAIN },
Packit 89ede9
	{ "",             "INTERNAL_TYPE|MISC",           ALWAYS, LEVEL_MAIN },
Packit 89ede9
	{ "",             "GENRE:BIBUTILS|miscellaneous", ALWAYS, LEVEL_MAIN },
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
#define ORIG(a) ( &(a[0]) )
Packit 89ede9
#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
Packit 89ede9
#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
Packit 89ede9
Packit 89ede9
variants bibtex_all[] = {
Packit 89ede9
	REFTYPE( "article", article ),
Packit 89ede9
	REFTYPE( "booklet", book ),
Packit 89ede9
	REFTYPE( "book", book ),
Packit 89ede9
	REFTYPE( "electronic", electronic ),
Packit 89ede9
	REFTYPE( "inbook", inbook ),
Packit 89ede9
	REFTYPE( "incollection", incollection ),
Packit 89ede9
	REFTYPE( "inconference", inproceedings ),
Packit 89ede9
	REFTYPE( "conference", inproceedings ),
Packit 89ede9
	REFTYPE( "inproceedings", inproceedings ),
Packit 89ede9
	REFTYPE( "manual", manual ),
Packit 89ede9
	REFTYPE( "mastersthesis", masters ),
Packit 89ede9
	REFTYPE( "misc", misc ),
Packit 89ede9
	REFTYPE( "online", misc ),
Packit 89ede9
	REFTYPE( "patent", patent ),
Packit 89ede9
	REFTYPE( "phdthesis", phds ),
Packit 89ede9
	REFTYPE( "periodical", periodical ),
Packit 89ede9
	REFTYPE( "proceedings", proceedings ),
Packit 89ede9
	REFTYPE( "standard", standard ),
Packit 89ede9
	REFTYPE( "techreport", report ),
Packit 89ede9
	REFTYPE( "unpublished", unpublished ),
Packit 89ede9
};
Packit 89ede9
Packit 89ede9
int bibtex_nall = sizeof( bibtex_all ) / sizeof( variants );