ftp.nice.ch/pub/next/text/framemaker/fmbib.1.3.s.tar.gz#/bibstyles.h

This is bibstyles.h in view mode; [Download] [Up]

/* bibstyles.h
 *
 * HISTORY
 *  27 May 92, neek: Installed Hank Walker's fix to remove spaces between
 *				contiguous (non comma-separated) citations.
 *  29 May 92, dmw: Added ieeetrans style for IEEE Transactions, 
 *					which use bracket references.
 * 				
 */

/*
 * Copyright (c) 1991 Carnegie Mellon University
 * All Rights Reserved.
 * 
 * Permission to use, copy, modify and distribute this software and its
 * documentation is hereby granted, provided that both the copyright
 * notice and this permission notice appear in all copies of the
 * software, derivative works or modified versions, and any portions
 * thereof, and that both notices appear in supporting documentation.
 *
 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
 * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
 *
 * Carnegie Mellon requests users of this software to return to
 *
 *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
 *  School of Computer Science
 *  Carnegie Mellon University
 *  Pittsburgh PA 15213-3890
 *
 * any improvements or extensions that they make and grant Carnegie Mellon
 * the rights to redistribute these changes.
 */
/* functions to specify Bib citation formats in .mif docs. */
int cite_paren_auth_year();
int cite_bracket_numeric();
int cite_super_numeric();
int cite_bracket_auth_yr();

/* functions to inserted new bibent into sorted list. */
int sort_by_cite();
int sort_by_alpha(); 

/* functions to output PgfTag's in bibliograpy doc. */
int pgf_numeric();
int pgf_authyr();
int pgf_author_year();
int pgf_author_comma_year();

/* functions to output reference labels in bib doc. 
 */
int ref_apa();
int ref_cacm();
int ref_ieee();
int ref_ieeetrans();
int ref_stdnumeric();
int ref_stdalphabetic();
int ref_stdidentifier();


/* structure for sorted list of bibents. */
typedef struct biblist {
	BibEnt *bl_bep;		
	char   *bl_key;		/* -> string to sort by */
	struct biblist *bl_next;
} BibList;

/* structure to store @String macros
 * in bibliography database files.
 */
typedef struct bibdef {
	char *bd_key;
	char *bd_def;
	struct bibdef *bd_l;
	struct bibdef *bd_r;
} BibDef;

static BibDef *bibdef_root;

/* names of the Bibliographic XRefFormats, and their definitions 
 */
static char *xrefnames[] = {
	MIF_BIBXREF, 
	MIF_FIRSTBIBXREF,	
	MIF_NEXTBIBXREF, 
	MIF_LASTBIBXREF
};

/*******************
 * citation formats.
 *******************/
/* note, due to framemagic, there must be a double space
 * between the pgf char (\xa6) and the word 'Font', in the
 * following declarations.
 *
 * Removed spacing around citations.
 */

/* [12,14] */
static char *cite_bracket_commas[] = {
	"<Default \\xa6  Font\\>[<$paratag\\>]",  /* [1]   */
	"<Default \\xa6  Font\\>[<$paratag\\>",    /* [1    */
	", <$paratag\\>",			    /*   ,4  */
	", <$paratag\\>]",			    /*   ,4] */
};
static char *cite_bracket[] = {
	"<Default \\xa6  Font\\>[<$paratag\\>]",  /* [1]   */
	"<Default \\xa6  Font\\>[<$paratag\\>]",  /* [1]   */
	"<Default \\xa6  Font\\>[<$paratag\\>]",  /* [1]   */
	"<Default \\xa6  Font\\>[<$paratag\\>]",  /* [1]   */
};


/* (Knuth 89) */
static char *cite_paren_commas[] = {
	"<Default \\xa6  Font\\>(<$paratag\\>)",  
	"<Default \\xa6  Font\\>(<$paratag\\>",   
	", <$paratag\\>",			 
	", <$paratag\\>)",			 
};
static char *cite_paren[] = {
	"<Default \\xa6  Font\\>(<$paratag\\>)",  
	"<Default \\xa6  Font\\>(<$paratag\\>)",  
	"<Default \\xa6  Font\\>(<$paratag\\>)",  
	"<Default \\xa6  Font\\>(<$paratag\\>)",  
};

/* superscripts, these always will be comma separated, if more than 1 */
static char *cite_super_commas[] = {		
	"<Superscript\\><$paratag\\>", 
	"<Superscript\\><$paratag\\>", 
	"<Superscript\\>, <$paratag\\>", 
	"<Superscript\\>, <$paratag\\>", 
};

/* a guide as to the supported Reference Formats, how to sortem, how to printem. */
typedef struct bs {
	char 	*bs_style;	   /* name of reference style, see BibFormat */
	char	**bs_citestyles;	/* style definitions for citations */
	char	**bs_multicitestyles;	/* comma-sep. style for adjacent citations */
	int	(*bs_sortfunc)(); 	/* sort function used for this style */
	int	(*bs_pgffunc)();	/* format function for PgfTag references */
	int	(*bs_reffunc)();	/* if Non-null, function to output reference */ 
} BibStyle;

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.