Data Format
Home Authors Magazines Oddments

Index Structure

Each index in the FictionMags Index Family has a consistent index structure, displayed in the Table of Contents as follows:

Other related indexes (such as The Locus Index to Science Fiction and The Index to Science Fiction Anthologies Collections), which are derived from the same data format, currently contain variations/extensions to the above which currently lie outside the scope of this documentation.

A summary of the files used can be found here and some general notes that apply to all the descriptions can be found here. There are also sections on some of the support files:

Note that this document will primarily deal with the v2 Indexes, with occasional notes on where the v1 Indexes differed.


Common Formats used across the Indexes

Standard Page Header

Most pages in the index start with a header containing:
   <! Copyright (c) ccyy by xxx >
   <HTML>
   <HEAD>
   <TITLE>Page Title</TITLE>
   </HEAD>
   <BODY>
   <P><H1>The xxx Index</H1>
   <HR>
   <H2>Page Title</H2>
   <HR>
   <A NAME="TOP"></A>
   <A HREF="../?/?[nn].htm#BOT"><B>Previous</B></A> &mdash; <A HREF="../a/a[nn].htm"><B>top level index</B></A> &mdash; <A HREF="../0start.htm#TOC"><B>Table-of-Contents</B></A>
   <HR>

Where:

Note that, for top level indexes, the <A NAME=TOP"></a> is omitted and the following line contains only:

   <A HREF="../0start.htm#TOC"><B>Table-of-Contents</B></A>

Standard Page Trailer

Most pages in the index end with a trailer containing:

</UL>
<HR>
<A NAME="BOT"</A>
<A HREF="../?/?[nn].htm"><B>Next</B></A>&mdash;<A HREF="../a/a[nn].htm"><B>Issue Index</B></A>&mdash;<A HREF="../0start.htm#TOC"><B>Table-of-Contents</B></A>
<HR>
</BODY>
</HTML>

Where:

Note that, for top level indexes, the <A NAME=BOT"></a> is omitted and the following line contains only:

   <A HREF="../0start.htm#TOC"><B>Table-of-Contents</B></A>

Page Sizes

The general principle for deciding when to start a new page seems to be to include at least 200 lines on each page, but to finish the current "entry" before starting a new page. In some cases (e.g. the bnn pages) this can mean pages running to several thousand lines as some magazines contain several thousand issues. The t[nn].htm pages seem to be slightly larger than 200 pages, possibly because of the way the lines are counted. The page size in the "book" indexes (i.e. in the old Locus Index) seem rather more random so have been ignored.


Table of Contents

This file mirrors the structure described above and is of the form:

   <! Copyright (c) ccyy by xxx >
   <HTML>
   <HEAD>
   <TITLE>The xxx Index</TITLE>
   </HEAD>
   <BODY>
   <P><BR><P>
   <BLOCKQUOTE>
   <H1>The xxx Index</H1>
   <H2>edited by The Editor(s)</H2>
   <P><BR><P>Last Update: Date Generated<P>
   </BLOCKQUOTE>
   <HR>
   <BLOCKQUOTE>
   <P><A NAME="TOC"></A>
   <H2>Table of Contents:</H2>
   <UL>
   <P><LI><A HREF=Link to Introduction><B>Introduction</B></A> (omitted if none specified)
   <P>
   <LI><B>Magazines:</B> (whole section omitted if no magazines)
   <UL>
   <LI><A HREF = "1chklst.htm">Issue Checklist</A> (not in v2 Indexes)
   <LI><A HREF = "a3.htm">Issue-by-Issue Index</A>
   <LI><A HREF = "a15.htm">by Publisher</A> (only if Publisher Index specified)
</UL> <P>
<LI><B>Books:</B> (whole section omitted if no books)
<UL>
<LI><A HREF = "a1.htm">by Author</A>
<LI><A HREF = "a2.htm">by Title</A>
</UL>
<P> <LI><B>Stories, etc.:</B> <UL> <LI><A HREF = "a4.htm">by Author</A> <LI><A HREF = "a5.htm">by Title</A> <LI><A HREF = "a9.htm">by Date</A> <LI><A HREF = "a10.htm">by Series</A> </UL> <P> <LI><B>Appendices:</B> <UL> <LI><A HREF = "a7.htm">Artists</A> <LI><A HREF = "a90.htm">Biographical Notes</A> <LI><A HREF = "ft-links.htm">Magazine Issues with Full-Text Links</A> <LI><A HREF = "stats.htm">Statistics</A> <LI><A HREF = "newmags.htm">New Additions</A> <LI><A HREF = Link to Missing Issues Page>Missing Issues</A> (omitted if none specified) <LI><A HREF = Link to Omitted Titles Page>Titles Not Included</A> (omitted if none specified)
</UL> <P> <LI><B>User Guide:</B> <UL> <LI><A HREF = "http://www.philsp.com/docs/fm_user.html">Introduction</A> <LI><A HREF = "http://www.philsp.com/docs/fm_user3.html">Index Structure</A> <LI><A HREF = "http://www.philsp.com/docs/fm_item_types.html">Abbreviations</A> <LI><A HREF = "http://www.philsp.com/docs/fm_user.html#how_to_add">How to Add to the Index</A> <LI><A HREF = "http://www.philsp.com/docs/fm_user.html#faqs">Frequently Asked Questions</A> <LI><A HREF = "http://www.philsp.com/docs/fm_user4.html">Background Notes</A> </UL> <P> <LI><A HREF = "Link to Introduction#ACK"><B>Acknowledgments</B></A> (omitted if none specified) </UL> <P></BLOCKQUOTE> <HR> <BLOCKQUOTE><P> <B>This index is part of the <A HREF="http://www.philsp.com/indexes.html">FictionMags Index Family:</A></B> <UL> <LI><A HREF = "http://www.philsp.com/homeville/fmi/0start.htm">The FictionMags Index</A> <LI><A HREF = "http://www.philsp.com/homeville/afi/0start.htm">The Adventure, War, and Espionage Fiction Magazine Index</A> <LI><A HREF = "http://www.philsp.com/homeville/cfi/0start.htm">The Crime, Mystery, & Gangster Fiction Magazine Index</A> <LI><A HREF = "http://www.philsp.com/homeville/gfi/0start.htm">The General Fiction Magazine Index</A> <LI><A HREF = "http://www.philsp.com/homeville/sfi/0start.htm">The Science Fiction, Fantasy, & Weird Fiction Magazine Index</A> <LI><A HREF = "http://www.philsp.com/homeville/sfbri/0start.htm">Science Fiction and Fantasy Book Review Index</A> <LI><A HREF = "http://www.philsp.com/homeville/BJSP/0start.htm">British Juvenile Story Papers and Pocket Libraries Index</A> </UL> <P>Cover images are provided by <A HREF = "http://www.philsp.com/">Galactic Central</A>.<P></BLOCKQUOTE> <HR> Optional Additional Text Send comments, questions, and suggestions on the index to: email <HR><HR> </BODY> </HTML>

Where most of this text is held in a boilerplate file and hence is subject to change and:


Introduction

This is simply a link to the relevant page on the Galactic Central website - e.g. www.philsp.com/cfi1.html for the Crime Fiction Index and www.philsp.com/xfi1.html for the FictionMags Index.


Issue Checklist

This provides a formatted checklist for each magazine indexed, identifying the issues that have been indexed with links to the relevant entry in the Issue Index. It also highlights any issues that have been flagged via the Book Record as being missing or incomplete. It is implemented via the following HTML files:


Publisher Index

This is an optional index that is used only for indexes (e.g. the CFI) which have formally-defined publisher records and contains a listing of all magazines published by each publisher. It is implemented via the following HTML files:

Top Level Index

Publisher Listings


Magazine Issue Index

This lists the contents of each issue of each magazine covered by the index. The order of the magazines is governed by the Index Definition File if specified; if not the magazines are listed in alphabetical order as determined by the magazine names defined in ABBREV.CVT. It is implemented via the following HTML files:

Top Level Index

The top level index (a3.htm) has a standard page header with the Page Title set to "Index: Magazines, Listed by Title" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../p/p[nn].htm"><I>Magazine Name</I></A> &mdash; to &mdash; <A HREF = "../p/p[nn].htm#BOT"><I>Magazine Name</I></A></LI>

where p[nn].htm represents each file in the intermediate level index and Magazine Name represents the first and last magazines listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

Each page of the intermediate level index (p[nn].htm) has a standard page header with the Page Title set to "Index: Magazines, Listed by Title, Part nn" where nn corresponds to the index part (i.e. the same as in the enclosing filename). This is followed by a line containing "<UL>" and a series of entries which are typically of the form:

    <LI><A HREF="../b/b[nn].htm#Annn"><B><I>Magazine Name</I></B></A>&nbsp;&nbsp;(<A HREF="http://www.philsp.com/links2.asp?magid=xyzzy">about</A>)</LI>

where:

A slightly different format is used when a number of magazine names are grouped via SUB_HEADER records:

   <LI><A HREF="../b/b[nn].htm#Annn"><B><I>Magazine Name:</I></B></A>&nbsp;&nbsp;(<A HREF="http://www.philsp.com/links2.asp?magid=xyzzy">about</A>)</LI>
   <LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../b/b[nn].htm#Annn"><B><I>Magazine Name</I></B></A></LI>
   <LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="../b/b[nn].htm#Annn"><B><I>Magazine Name</I></B></A></LI>

These are followed by the standard page trailer preceded by </UL>.

Bottom Level Index

Each page of the bottom level index (b[nn].htm) has a standard page header with the Page Title set to "Magazines, Listed by Title". This is followed by a series of grouped entries, with one group per magazine (family). The basic structure for a simple entry is:

   <P>
   <UL><A NAME="Annn"><B><I>Magazine Name</I></B></A>&nbsp;&nbsp;(<A HREF="http://www.philsp.com/links2.asp?magid=xyzzy">about</A>)
<UL>Any Note Text <A HREF = "../t/t[nn].htm#Ammm">(Pub. Info.)</A> <LI><A NAME = "Annn.1"></A> ___ Issue Details <A HREF="../t/t[nn].htm#Ammm">(Contents)</A></LI>
<LI><A NAME = "Annn.2"></A> ___ Issue Details <A HREF="../t/t[nn].htm#Ammm">(Contents)</A></LI> </UL> </UL>

where:

Issue Details describes the issue concerned and is of the form:

  Volume/Issue/Date info (<Publisher>, <Price>, <Pagecount>, <Format>, cover by <A HREF="../c/c[nn].htm#Ammm">Steven Kenny</A>) 

where each field in the bracketted part is omitted (along with dividers) if not specified, with the brackets themselves being omitted if no fields are specified, and c[nn].htm and Ammm link to the entry for the Artist in the Artist Index listings. In v2 this is extended to include the cover title (if any) and, if it is reprinted from elsewhere, details of the original appearance.

Note that, if the issue is flagged as "Incomplete" then " (<B>Placeholder</B>)" is appended to the end of the line.

If there are a number of magazine names that are grouped via SUB_HEADER records the format is adjusted slightly to:

   <P>
   <UL><A NAME="Annn"><B><I>Magazine Group Name:</I></B></A>&nbsp;&nbsp;(<A HREF="http://www.philsp.com/links2.asp?magid=xyzzy">about</A>)
     <UL>Any Note Text
     </UL>
   </UL>
   <BLOCKQUOTE>
     <P>
     <UL><A NAME="Ann1"><B><I>Magazine Name 1</I></B></A>
       <UL>Any Note Text
         <LI><A NAME="Ann1.1"></A> ___ Issue Details <A HREF="../t/t[nn].htm#Ammm">(Contents)</A></LI>
       </UL>
     </UL>
     <P>
     <UL><A NAME="Ann2"><B><I>Magazine Name 2</I></B></A>
       <UL>Any Note Text
         <LI><A NAME="Ann2.1"></A> ___ Issue Details <A HREF="../t/t[nn].htm#Ammm">(Contents)</A></LI>
       </UL>
     </UL>
   </BLOCKQUOTE>

where Ann1 and Ann2 are the next numbers in line after Annn.

Another special case is when we have a cross-reference record, which is formatted as:

   <P>
   <UL><A NAME="Annn"><B><I>Magazine Name 1</I></B></A>&nbsp;&nbsp;(<A HREF="http://www.philsp.com/links2.asp?magid=xyzzy">about</A>)
     <UL>--- see under <A HREF = "../b/b[nn].htm#Ammm"><I>Magazine Name 2</I>.
     </UL>
   </UL>

Issue Listings

Each page of the issue listings (t[nn].htm) has a standard page header with the Page Title set to "Contents Lists". In addition, as this index is shared between the Magazine Issue-by-Issue Index and the Books by Author indexes, there is a doubled link back to the top level index. This is then followed by a group of entries for each magazine, with a header for each magazine formatted as:

   <HR size="8" noshade>
   <A NAME="Annn"></A>
   <P>
   <table border="0" width="100%"><tr><td>
   <UL><A HREF="../b/b[nn].htm#Ammm"><B><I>Magazine Name</I></B></A>&nbsp;&nbsp;(<A HREF="http://www.philsp.com/links2.asp?magid=xyzzy">about</A>)
     <BLOCKQUOTE>
Any Note Text
</BLOCKQUOTE>
<UL>
<P><LI>Publishers: <UL>
<LI>Publisher 1: <I>Magazine Name</I>Issue Details</LI>
<LI>Publisher 2: <I>Magazine Name</I>Issue Details</LI>
</UL></LI>
<P><LI>Editors: <UL>
<LI><A HREF="../s/s[nn].htm#Ammm">Editor 1</A> - Editor: <I>Magazine Name</I>Issue Details</LI>
<LI><A HREF="../s/s[nn].htm#Ammm">Editor 2</A> - Editor: <I>Magazine Name</I>Issue Details</LI>
</UL></LI>
</UL>
<P><LI>Features: <UL>
<LI>Feature 1 &middot; <A HREF="../s/s[nn].htm#Ammm">Author</A> &middot; Item Type; Issue Details</LI>
<LI>Feature 2 &middot; <A HREF="../s/s[nn].htm#Ammm">Author</A> &middot; Item Type; Issue Details</LI>
</UL></LI>
</UL>
</UL></td><td align="right"> </td></tr></table>

where

This is then followed by multiple issue entries which have the basic format of:

   <HR>
   <A NAME = "Annn"></A>
   <P>
   <table border="0" width="100%"><tr><td>
   <UL><A HREF = "../b/b[nn].htm#Ammm"><B><I>Magazine Name</I></A> Issue Details
       <A HREF=link target="_blank"><span style="background-color: #9FF781">(Full Text)</span></A>
       <BR>Issue Note Text
     <UL>
       <LI>Page &middot; Item Title &middot; <A HREF="../s/s[nn].htm#Ammm">Author</A> &middot; Item Type; Item Note Text
       <LI>Page &middot; Item Title &middot; <A HREF="../s/s[nn].htm#Ammm">Author</A> &middot; Item Type; Item Note Text
     </UL>
   </UL></td><td align="right">
     <a href="Image"><img src="Thumbnail"></A>
   </td></tr></table>

Where:

If there are a number of magazine names that are grouped via SUB_HEADER records the format is much the same except that, for each SUB-HEADER record, the equivalent of the magazine header is used, but with a simple <HR> at the beginning rather than the special format one above.

If the item belongs to a series then the series name is appended to the Item Title, or added to the serial parts if the item is part of a serial, as in:

   Item Title  [<A HREF = "../f/f[nn].htm#Ammm"><I>Series Name</I></A>]
Item Title [Part x of y; <A HREF = "../f/f[nn].htm#Ammm"><I>Series Name</I></A>]

If there are multiple series names, then they are spearated one from the author with semi-colons.

The Author field may contain multiple authors (each with their own link) as well as assorted additional fields for "secondary" authors as follows:

Clearly there might be multiple such clauses on a single item, and the precise order of such in v1 is unknown, but in v2:

Note that the handling of authors like "Anon." and "(tr:Anon.)", or of fields where there is no primary author, is a little erratic in v1. An attempt has been made to tidy this up in v2 such that, for example:

The individual item line varies considerably if the item is a reprint or has a complex item title. Some examples include:

When an item is a simple reprint (same author and title) the prior publication is inserted between the Item Type & Item Note Text in the form:

   <A HREF="../t/t[nn].htm#Ammm"><I>Magazine Name</I> Issue Details</A>

where the link is only included if the issue in question is indexed in the current index. If the item is known (or thought) to be a reprint and the prior publication details are not known, " (r)" is displayed instead. If the prior appearance was under a different title and/or author then these are appended to the prior publication data in the form:

 , as &ldquo;Previous Title&rdquo; by A HREF="../s/s[nn].htm#Ammm">Previous Name</A>

As a special case, if the previous name was uncredited, the format " by Previous Name" is replaced by ", uncredited". If there is a different form of "previous publication" information (e.g. "from <Book Title>" this is displayed between the Item Type and the Prior Publication Details (if any) (in v1 this was displayed in brackets appended to the Item Title).

If the item has a known illustrator then the illustrator is listed immediately after the Item Type (or prior publication details if given) (in v2) or after the Item Note Text (in v1):

   ; illustrated by <A HREF = "../c/c[nn].htm#Ammm">Artist Name(s)</A>

If the item is "about" one or more people, the people concerned are listed immediately before the Item Note Text:

  Item Type [<A HREF="../s/s[nn].htm#Ammm">Name</A>]; Item Note Text
In v2 the name is provisionally prefixed with "Ref. ".

Book Author Index

This lists all items written or edited by each author represented in the index, in alphabetical title order, along with any items that refer to the author. It is implemented via the following HTML files:

Top Level Index

The top level index (a1.htm) has a standard page header with the Page Title set to "Index: Books, Listed by Author" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../p/p[nn].htm"><I>Author Name</I></A> &mdash; to &mdash; <A HREF = "../p/p[nn].htm#BOT"><I>Author Name</I></A></LI>

where p[nn].htm represents each file in the intermediate level index and Author Name represents the first and last authors listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

Each page of the intermediate level index (p[nn].htm) has a standard page header with the Page Title set to "Index: Books, Listed by Author, Part nn" where nn corresponds to the index part. Note that these are the same files as, and are linked with, the equivalent files in the Magazine Issue Index. In the old Locus index the book entries preceded the magazine entries and were numbered consecutively together; in v2 the book entries follow the magazine entries and are renumbered from Part 1.

This is followed by a line containing "<UL>" and a series of entries which, at the simplest (i.e. for Type 00 names in the Names Control File), are of the form:

    <LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; Qualifying Text (Dates); <A HREF="xyzzy">(about)</A> Index Notes</LI>

where:

In addition, if the author has an associated "See (also)" (Type 26) record and the Other Author Name specified in that record has an entry in the current index, an additional clause is inserted between "Qualifying Text (Dates)" and "; <A HREF="xyzzy">(about)</A>" containing:

   ;  see <A HREF="../b/b[nn].htm#Annn">Other Author Name</A>  (Other Author Dates)

Variations of this exist for the different types in the Names Control File, specifically:

   <LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; variant of <A HREF="../b/b[nn].htm#Annn"><B>Other Author Name</B></A> (Dates)... (Type 08)
   <LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; pseudonym (Dates)... (Type 11)
<LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; pseudonym of <A HREF="../b/b[nn].htm#Annn"><B>Other Author Name</B></A> (Dates)... (Type 12) <LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; house pseudonym (Dates)... (Type 13)
<LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; joint pseudonym of <A HREF="../b/b[nn].htm#Annn"><B>Other Author Name</B></A> (Dates)... (Type 15)
<LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A> (Dates); also as <A HREF="../b/b[nn].htm#Annn"><B>Other Author Name</B></A>... (Type 23)
<LI><A HREF="../b/b[nn].htm#Annn"><B>Author Name</B></A>; see under <A HREF="../b/b[nn].htm#Annn"><B>Other Author Name</B></A> (Dates)... (Type 25)

Where:

Note that, in v1, the above records may also have further information on pseudonyms appended:

In all these cases, the additional names are only specified if they have entries in the current index. Given the different approach to listing pseudonymous works in v2 it is not yet clear if these will be included in v2.

If the entry for the author in the bottom level index spans multiple pages then the first line is followed by one or more lines of the form:

   <LI>________: <A HREF="../b/b[nn].htm#Annn"><B>Book Title</B></A></LI>

where:

These are followed by the standard page trailer preceded by </UL>.

Bottom Level Index

Each page of the bottom level index (b[nn].htm) has a standard page header with the Page Title set to "Books, Listed by Author" followed by <DL>. This is followed by a series of grouped entries, with one group per author. The basic structure for a simple entry is:

   <P>
   <DT><A NAME="Annn">Author Name</A> <A HREF="s[nn].htm#Ammm">(stories)</A> <A HREF="d[nn].htm#Aooo">(chron.)</A> <A HREF = "c[nn].htm#Appp">(art)</A>(continued)
<UL>
<LI><A NAME="Annn.n"></A> <A HREF="k[nn].htm#Knnn">*</A> flag<B>Book Title</B> (Publication Details) Book Note Text</LI>
<LI><A NAME="Annn.n"></A> <A HREF="k[nn].htm#Knnn">*</A> flag<B>Book Title</B> (Publication Details) Book Note Text <A HREF="t[nn].htm#Attt">(Contents)</A></LI>
</UL>

where:

These are followed by the standard page trailer preceded by </DL>.

Book Contents Listings

Each page of the book contents listings (t[nn].htm) has a standard page header with the Page Title set to "Contents Lists" followed by <DL>. In addition, as this index is shared between the Magazine Issue-by-Issue Index and the Books by Author indexes, there is a doubled link back to the top level index. This is then followed by multiple book entries which have the basic format of:

   <P><HR><P>
   <DT><A NAME="Annn"></A>
   <B>Book Title</B> by/ed. <A HREF="b[nn].htm#Annn">Author Name</A> (Publication Details) Book Note Text
     <UL>
       <LI>Page &middot; Item Title &middot; <A HREF="../s/s[nn].htm#Ammm">Author</A> &middot; Item Type; Item Note Text
       <LI>Page &middot; Item Title &middot; <A HREF="../s/s[nn].htm#Ammm">Author</A> &middot; Item Type; Item Note Text
     </UL>

Where the header line is the same as in the bottom level index and the individual line entries are the same as for the Magazine Issue Listings.

These are followed by the standard page trailer preceded by </DL>.


Book Title Index

This lists all items in the index in alphabetical order of the title. It is implemented via the following HTML files:

Top Level Index

Book Title Listings


Story Author Index

This lists all items written or edited by each author represented in the index, in alphabetical title order, along with any items that refer to the author. It is implemented via the following HTML files:

Top Level Index

The top level index (a4.htm) has a standard page header with the Page Title set to "Index: Stories, Listed by Author" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../q/q[nn].htm"><I>Author Name</I></A> &mdash; to &mdash; <A HREF = "../q/q[nn].htm#BOT"><I>Author Name</I></A></LI>

where q[nn].htm represents each file in the intermediate level index and Author Name represents the first and last authors listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

The intermediate level index (q[nn].htm) has the same format as for the Book Author Index except that the ../b/b[nn].htm links are replaced by the ../s/s[nn].htm equivalents and the continuation entries are of the form:

   <LI>________: <A HREF="../s/s[nn].htm#Annn">Story Title</A></LI>

Story Author Listings

Each page of the story author listings (s[nn].htm) has a standard page header with the Page Title set to "Stories, Listed by Author". At its simplest it is then followed by groups of entries of the form:

   <P>
   <UL><A NAME="Annn"><B>Author Name</B></A> (Dates); <A HREF="xyzzy">(about)</A> Index Notes <A HREF="b[nn].htm#Ammm">(books)</A>
                        <A HREF="d[nn].htm#Aooo">(chron.)</A> <A HREF="c[nn].htm#Appp">(art)</A></LI>
<UL> <LI><A NAME="Annn.1"></A> <A HREF="../l/l[nn].htm#Alll">*</A> Story Title, (item type) <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI> </UL> </UL>

where most of the fields are as discussed previously, along with:

The first complication is that there might be multiple sections for the same author. These are as follows (in this order):

Note that all of the above apart for the first are potentially doubled with a section for those by the author and those that might be by the author. Any such sections have the same format as for the normal ones except that there is no leading <P> and the Author Name line is replaced by "_____, ed." or similar.

If the entry for an author continues across multiple pages then the standard header (above) for the author on the second (and subsequent) pages is:

   <P>
   <UL><A NAME="Annn"><B>Author Name</B></A> <A HREF="xyzzy">(about)</A></LI> <A HREF="b[nn].htm#Ammm">(books)</A>
                        <A HREF="d[nn].htm#Aooo">(chron.)</A>  <A HREF="c[nn].htm#Appp">(art)</A>(continued)

There are also some special entries created for the special item records used to specify editors, publishers and recurring features. Editors (listed on "en" type records) are listed in the form:

   _____, ed.
<UL>
<LI> * Editor:
<BR>___ <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I></A>, Issue Details.

where:

Similar records are also created for people specified as the editor on individual magazine issues, with consecutive issues combined into a range (in v1 these are in a slightly different format to those from "en" records; in v2 the formats are the same). In this case, if there are multiple editors specified, the co-editors are appended to the entry in the form:

   (with <A HREF="../s/s[nn].htm#Ammm">Editor</A>)

Features (i.e. those listed on records other than "en" and "pu" type records) are listed as ordinary items listed among the others, but in the form:

   <LI>* Feature Title, (item type) <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI>

where Feature Title is as specified on the features record and the other fields are as above. Note that in v1 the Magazine Name is not hyperlinked to the Magazine Issue Listings for the specified magazine but this has been normalised in v2.

If an item is reprinted elsewhere then the initial entry is followed by one or more supplementary entries (in chronological order) in the format:

      <UL>
<LI><A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI>
</UL>

If a serial appears in multiple issues of the same magazine the Magazine Name and Issue Details are extended to:

   <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> First Issue</A>, <A HREF="../t/t[nn].htm#Attt">Second Issue</A>, ...</LI>

where the issue dates are abbreviated such that the year is only specified on the last issue listed for that year. If the serial is reprinted in another magazine then each set of serial parts is listed as supplementary entries (in chronological order) as above. A similar approach is taken to entries with the same title that appear in the same magazine.

If an item was specified as part of a column (i.e. with a single | divider) then the column header is placed on one line with the item title following on the next line in the form:

   <LI>* Column Title:<BR>
   <A NAME="Annn.1"></A> <A HREF="../l/l[nn].htm#Alll">*</A> ___ Item Title, (item type)<A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI>

where the column title only appears for the first instance. In v1, if there are some instances of the column without an item title, they are displayed as a separate entry, while in v2 they are listed at the beginning with no Item Title specified.

A similar format is used if an item is specified as part of a prefix series (i.e. using a double divider) except that the Item Title is prefixed by any Series Sequence specified. Note that, in this case, if no Item Title was specified, a dummy item title of [?] is used. Note also that if the series flag is '-' (signifying a chapter heading) or if there is only one item with the same prefix, the item is displayed on a single line in the same way as for the Issue Listings.


Story Title Index

This lists all items in the index in alphabetical order of the title. It is implemented via the following HTML files:

Top Level Index

The top level index (a4.htm) has a standard page header with the Page Title set to "Index: Stories, Listed by Title" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../h/h[nn].htm">Story Title</A> &mdash; to &mdash; <A HREF = "../h/h[nn].htm#BOT"><I>Story Title</I></A></LI>

where h[nn].htm represents each file in the intermediate level index and Story Title represents the first and last titles listed on that page of the index.

These are followed by the standard page trailer preceded by </UL>.

Note that in v1 there was no intermediate level index but the top level index had grown unmanageably large for the bigger indexes (there were 6400 lines in the FMI version) so an interemediate level was added in v2..

Intermediate Level Index

The intermediate level index (h[nn].htm) has the same format as the Top Level Index except that the ../h/h[nn].htm links are replaced by the ../l/l[nn].htm equivalents, representing each file in the story title listings, and Story Title represents the first and last titles listed on the listings page.

Story Title Listings

Each page of the story title listings (l[nn].htm) has a standard page header with the Page Title set to "Stories, Listed by Title" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A NAME="Annn" HREF="../s/s[nn].htm#Ammm.nnn">Story Title</A> &middot;<A HREF = "../s/s[nn].htm#Ammm">Author Name</A> &middot; (item type)</LI>

s[nn].htm#Ammm is a link to the start of the entries in the story author index for the given Author Name while s[nn].htm#Ammm.nnn is a link to the specific title for that author.

These are followed by the standard page trailer preceded by </UL>. Note that in v1 the Story Title was sometimes abbreviated with a trailing ellipsis but it is unclear what the purpose of that was so it has not (yet) been implemented in v2.


Chronological Index

This is very similar to the story author index except that, for each author, items are listed chronologically rather than alphabetically. It is implemented via the following HTML files:

Top Level Index

The top level index (a9.htm) has a standard page header with the Page Title set to "Index: Chronological List" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../e/e[nn].htm"><I>Author Name</I></A> &mdash; to &mdash; <A HREF = "../e/e[nn].htm#BOT"><I>Author Name</I></A></LI>

where e[nn].htm represents each file in the intermediate level index and Author Name represents the first and last authors listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

The intermediate level index (e[nn].htm) has the same format as for the Book Author Index except that the ../b/b[nn].htm links are replaced by the ../d/d[nn].htm equivalents and there currently aren't any continuation entries even if an author is split over multiple pages. (This may change in v2).

Chronological Author Listings

Each page of the chronological author listings (d[nn].htm) has a standard page header with the Page Title set to "Chronological List". At its simplest it is then followed by groups of entries of the form:

   <P>
   <UL><A NAME="Annn"><B>Author Name</B></A> (Dates);  <A HREF="b[nn].htm#Ammm">(books)</A> <A HREF="s[nn].htm#Aooo">(stories)</A>
 					<A HREF="c[nn].htm#Appp">(art)</A>
<UL> <LI><A HREF="../s/s[nn].htm#Alll.nnn">*</A> Story Title, (item type) <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI> </UL> </UL>

where the fields are as discussed for the story author index. Note that, in this index, the author line does not contain the "About" link or the Index Notes field. In addition, only the first section is included for each author - i.e. no entries for edited items, translated items, etc. etc. Similarly "feature" records and See Under/Also links are omitted.

Note also that:


Series Index

This lists all the series in the index as specified in the Series ID field on either the book record or the item record. By default series entries are grouped by author name and then listed chronologically within each order, but this may be changed by a suitable entry in the Series Control File. It is implemented via the following HTML files:

Top Level Index

The top level index (a10.htm) has a standard page header with the Page Title set to "Index: Series List" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../g/g[nn].htm"><B>Series Name</B></A> &mdash; to &mdash; <A HREF = "../g/g[nn].htm#BOT"><B>Series Name</B></A></LI>

where g[nn].htm represents each file in the intermediate level index and Series Name represents the first and last series listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

Each page of the intermediate level index (gnn.htm) has a standard page header with the Page Title set to "Series List, Part n " followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../f/f[nn].htm#Ammm"><B>Series Name</B></A> <A HREF="xyzzy">(about)</A></LI>

where f[nn].htm#Ammm is a link to the start of the entries in the series listings for the given Series Name.

By default, series are listed chronologically with separate sections for each author, with the authors listed alphabetically. Optionally, series may also be listed chronologically (irrespective of author) or in title order, in which case multiple entries may exist for a single series, with the qualifiers " (by Date)" or " (by Title)" added to the line. In addition, if there are some non-fiction items about the series, another section is added with the qualifier ", [ref.]". Note that, in v1, the default entry is always listed but this can be suppressed in v2 (as, in some cases, ordering by author does not make a lot of sense).

These are followed by the standard page trailer preceded by </UL>.

Series Listings

Each page of the series listings (f[nn].htm) has a standard page header with the Page Title set to "Series List". At its simplest it is then followed by groups of entries of the form:

   <P>
   <UL><A NAME="Annn"><B>Series Name</B></A> <A HREF="xyzzy">(about)</A>
<UL> <LI><A HREF="../s/s[nn].htm#Alll">Author Name:</LI> <UL>
<LI><A HREF="../s/s[nn].htm#Alll.nnn">Story Title</A>, (item type) <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI> </UL> </UL> </UL>

where the fields are as discussed before. As mentioned under the intermediate level index, in the default listing, there may be multiple author groups, ordered alphabetically, and multiple story titles within each author, ordered chronologically. Only the first appearance of each story is listed. Note that, if the item belongs to two or more separate series, the other series are appended after the Issue Details in the form:

  [<A HREF="../f/f[nn].htm#Ammm"><I>Series Name</I></A>[; Other Series Names]]

For the ", [ref.]" listings, the entries are identical to the above except that ", [ref.]" is appended to the Series Name in the title line. For the "by Date" and "by Title" listings the entries are of the form:

   <P>
   <UL><A NAME="Annn"><B>Series Name</B></A> <A HREF="xyzzy">(about)</A>
<UL> <LI>By Date:</LI> or <LI>By Title:</LI> <UL>
<LI><A HREF="../s/s[nn].htm#Alll.nnn">Story Title</A>, by <A HREF="../s/s[nn].htm#Alll">Author Name (item type) <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI></LI> </UL> </UL> </UL>

Artist Index

This is similar to the author index except that it lists artists - currently defined as those defined as cover artists on the book record or interior artists on the item record, or those specified on an item record where the item type is one of those used to designate an illustration or illustrated article. It is implemented via the following HTML files:

Top Level Index

The top level index (a7.htm) has a standard page header with the Page Title set to "Index: Artists" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../m/m[nn].htm"><I>Artist Name</I></A> &mdash; to &mdash; <A HREF = "../m/m[nn].htm#BOT"><I>Artist Name</I></A></LI>

where m[nn].htm represents each file in the intermediate level index and Artist Name represents the first and last artists listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

The intermediate level index (m[nn].htm) has the same format as for the Book Author Index except that the ../b/b[nn].htm links are replaced by the ../c/c[nn].htm equivalents and there aren't currently any continuation entries (I think).

Artist Listings

Each page of the artist listings (c[nn].htm) has a standard page header with the Page Title set to "Artists". It is then followed by groups of entries of the form:

   <P>
   <UL><A NAME="Annn"><B>Artist Name</B></A> (Dates); <A HREF="xyzzy">(about)</A> Index Notes <A HREF="b[nn].htm#Ammm">(books)</A>
                         <A HREF="s[nn].htm#Aooo">(stories)</A></LI>
<UL> <LI>Description[: Title]; <A HREF="../t/t[nn].htm#Attt"><I>Magazine Name</I> Issue Details</A></LI> </UL> </UL>

where most of the fields are as discussed previously, Title is only displayed if the illustration has been formally titled and Description is one of:

For any given artist, the items are listed in chronological order and no attempt is made to aggregate adjacent entries of the same type for the same artist.

Note that, in v1, these pages look a little odd as, by convention, all the titles specified in square brackets are in lower case while the official Descriptions are capitalised so that an artist might be listed as having a "frontispiece" in one issue and a "Frontispiece" in the next. This has been normalised in v2 to use lower case throughout.

It is also hoped to enhance this index in v2 (e.g. by identifying back covers as such explicitly and by including details of which item(s) have been illustrated in a given issue) but details have not yet been finalised.


Biographical Notes

This contains a listing of all authors with associated external notes defined in the Name Control File when the external notes are not the special cases (types 97, 98 & 99). It is implemented via the following HTML files:

Top Level Index

The top level index (a90.htm) has a standard page header with the Page Title set to "Index: Biographical Notes" followed by a line containing "<UL>" and a series of lines of the form:

    <LI><A HREF="../y/y[nn].htm"><I>Author Name</I></A> &mdash; to &mdash; <A HREF = "../y/y[nn].htm#BOT"><I>Author Name</I></A></LI>

where y[nn].htm represents each file in the intermediate level index and Author Name represents the first and last authors listed on that page.

These are followed by the standard page trailer preceded by </UL>.

Intermediate Level Index

The intermediate level index (y[nn].htm) has the same format as for the Book Author Index except that the ../b/b[nn].htm links are replaced by the ../z/z[nn].htm equivalents and there aren't any continuation entries (as each entry is very small).

Biographical Note Listings

Each page of the biographical note listings (z[nn].htm) has a standard page header with the Page Title set to "Biographical Notes". It is then followed by groups of entries of the form:

   <P><BLOCKQUOTE>
   <DL>
     <DT><A NAME="Annn"><B>Author Name</B></A> (Dates); Index Notes <A HREF="b[nn].htm#Ammm">(books)</A> <A HREF="s[nn].htm#Aooo">(stories)</A>
<DD>See <A HREF="http://xyzzy">xyzzy</A> or <DD>Note Text </DL> </BLOCKQUOTE></P> <HR>

where most of the fields are as discussed previously and:


Statistics

This is generated automatically by the index programs and is implemented by stats.htm. It contains counts of:

In v1 this was implemented as a non-standard file but in v2 it has a standard page header with the Page Title set to "Statistics" followed by:

   <P><BLOCKQUOTE>
   <table border width=50%>
<tr valign=bottom>
<td align=center><B>Description:</B></td>
<td align=center><B>Count:</B></td> </tr>
<tr valign=bottom>
<tr>

followed by a series of groups of lines of the form:

   <tr>
<td align=left>Header:</td>
<td align=right>Count</td>
</tr>

where Header is one of those listed above and Count is the associated count..

These are followed by the standard page trailer preceded by </table></BLOCKQUOTE>.


Magazine Issues with Full-Text Links

This is generated automatically by the index programs and is implemented by ft-links.htm. This is a non-standard file format which has an initial section at the front containing entries of the form:

   <LI><A HREF = "#Abbrev"><B><I>Magazine Name</I></B></A>

where:

The magazine names are arranged in the same order as for the Issue-by-Issue Index. This section is then followed by a series of entries of the form:

   <A NAME = "Abbrev"></A>
<LI><B><I>Magazine Name</I></B>:
<UL>
<LI>Issue &ndash; <A HREF = "xyzzy" target="_blank"><span style="background-color: #9FF781">(Link Type)</span></A>
</UL>
<P>

where:

As a special case, if the entry in the control file is of the form:

   http://www.pulpmags.org/collections/flb/issuecode/index.html 

the code generates two separate, adjacent, links in the form:

       <LI>Issue &ndash; <A HREF = "http://www.pulpmags.org/collections/flb/issuecode/index.html" target="_blank"><span ...>(Full Text)</span></A>
<A HREF = "http://www.pulpmags.org/collections/pdf/issuecode.pdf" target="_blank"><span ...>(PDF)</span></A>
Note that this page has grown very large and unwieldy for the FMI (over 10,000 lines) so it will be split into a two-level index in v2 and standardised to look like the other indexes.

New Additions

This is generated automatically by the index programs and lists all magazines in the current version of the index for which the "seen date" in the book record is more recent than the date the previous version of the index was generated. In v1 it is implemented in a non-standard format in the file newmags.htm.

In v2 the file (a21.htm) has a standard page header with the Page Title set to "New and updated issues entered since Date" where Date is a formatted version of the LASTUPDATE parameter in the Index Configuration File, followed by a line containing "<UL>" and a series of lines of the form:

<LI><A HREF="../t/t[nn].htm"><I>Magazine Issue</I></A></LI>

These are followed by the standard page trailer preceded by </UL>.


Missing Issues

This is simply a link to the relevant page on the Galactic Central website - e.g. www.philsp.com/cfi3.html for the Crime Fiction Index and www.philsp.com/xfi3.html for the FictionMags Index.


Titles Not Included

This is simply a link to the relevant page on the Galactic Central website - e.g. www.philsp.com/cfi4.html for the Crime Fiction Index and www.philsp.com/sfi4.html for the SFFWF Index.


In the Next Update

This is generated automatically by an external program and lists all magazines for which the "seen date" in the book record is more recent than the date the current version of the index was generated. It is implemented by nextmags.htm. Note that this is manually regenerated/uploaded between versions of the index.


User Guide

This section simply provides links to the user documentation:


Acknowledgements

This is simply a link to the relevant part of the introductory page on the Galactic Central website - e.g. www.philsp.com/cfi1.html#ACK for the Crime Fiction Index and www.philsp.com/xfi1.html#ACK for the FictionMags Index.


Magazine Links

This file (link.asp) is used to allow the GCP website to link to the relevant part of the specified index. It has the form:

   <%@ language="javascript"%>
   <%
   var magname = Request.Querystring("magid");
   if (magname == "xxx") Response.Redirect("b[nn].htm#Annn");
   else if (magname == "xxx") Response.Redirect("b[nn].htm#Annn");
            :      :      :   
            :      :      :   
   else Response.Redirect("0start.htm");
   %>

Where:

Note that, for the FMI (because of the number of files/entries concerned) this is actually a two-level approach whereby link.asp redirects to lower-level files (zzlink_x.asp) based on the initial letter and the lower-level files insert a subdirectory letter before the "b[nn].htm" file name.


GCP Website Links

When the GCP Website is regenerated it a file called zzmagids.txt is created and is uploaded to www.philsp.com. This is read by the index generation programs to create the About links in the Magazine Issue Index intermediate level index. It simply contains a list of abbreviation pairs of the form:

Abbrev~WebsiteID

where Abbrev is the abbreviation defined for the magazine in ABBREV.CVT and WebsiteID is the internal ID used for the magazine entry in the GCP Website. The latter is, in turn, converted into a direct page reference via a set of nested ASP files similar to the Magazine Links file.


Index Configuration File

The Index Configuration File is not part of the published index but is passed as an argument to the v2 index-generation programs to specify various "optional" parts of the index generation. By convention it is called 00config.xxx where xxx is the abbreviation for the index concerned. The file contains a number of records as follows:

NAME=xxx - The name of the Index (e.g. The Crime, Mystery, & Gangster Fiction Magazine Index)
CREATORS=xxx - The name of the Creators of the Index (e.g. William G. Contento and Stephen P. Miller)
EDITORS=xxx - The name of the Editors of the Index (e.g. Phil Stephensen-Payne)
FILES=xxx - The name of the control file defining the books/magazines to be included in the index (e.g. 00000.cfi)
BOILERPLATES=xxx - The name of the folder containing the boilerplate files (e.g. D:\GCP\BoilerPlates)
FOLDER=xxx - The (root) folder into which the Index should be generated (e.g. D:\GCP\Indexes\CFI)
SORTFILE=xxx - The command file to be invoked to do the sorts (e.g. D:\GCP\Sortfil.bat)
ABOUTLINKS=xxx - The file defining the about links to the GCP Website (optional, no about links generated if omitted)
SUBFOLDERS=YES - If the index structure is to use sub-folders for the different file names (optional, NO is assumed if omitted)
PUBINDEX=YES - If the "by Publisher" index is required (optional, NO is assumed if omitted)
INTRODUCTION=xxx - The name of the file containing the Introduction (e.g. http://www.philsp.com/cfi1.html) (optional, no entry generated if omitted)
MISSING=xxx - The name of the file containing a list of missing issues (e.g. http://www.philsp.com/cfi3.html) (optional, no entry generated if omitted)
OMITTED=xxx - The name of the file containing a list of magazines deliberately omitted from the index (e.g. http://www.philsp.com/cfi4.html) (optional, no entry generated if omitted)
NEXTUPDATE=xxx - The name of the file containing a list of items for the next update (e.g. n/nextmags.com) (optional, no entry generated if omitted)
LASTUPDATE=ccyymmdd - Date that the index was last updated
TOCTEXT=xxx - The name of the file containing additional HTML to be inserted into the Table of Contents (optional, none added if omitted)
SORTED=YES - If the magazine names are to be sorted into the order defined by the names in ABBREV.CVT (optional, if omitted the magazines are listed in the order specified in the control file)
FULLIMAGES=YES - If cover scans are to be displayed full-size rather than indirectly via a thumbnail (optional, if omitted images are displayed indirectly)
MINPAGESIZE=nnn - The minimum number of lines to display on a page before throwing a new page (default 200)
MAXPAGESIZE=nnn - The maximum number of lines to display on a page before throwing a new page (default 1000)
PERMLINKS=YES - If permanent links are to be added to the indexes (optional, no links added if omitted)
DIAGS=YES - If extended diagnostics are to be output by the program (optional, if omitted no extended diagnostics are output)
SPECIALn=xxx - Up to 9 special settings (SPECIAL1 to SPECIAL9) that can be used to control internal behaviour during development


General Notes

This document is generally written in the context of the v2 index-generation programs. This section will discuss some general issues that apply to several of the sections above to avoid repetition and highlights some of the difference between the HTML generated by the v1 and v2 index-generation programs.

Capitalising Author Names

In the author and artist indexes, the (v1) convention is to capitalise the author names, but only partially. In particular:

This has produced some awkward anomalies but, at the moment, I can't find a record of examples of the problems.


Summary of Files Used

0start.htm = Table of Contents
a01.htm = Artist Index top level index
a02.htm = Biographical Notes Index top level index
a03.htm = Book Author Index top level index
a04.htm = Book Title Index top level index
a05.htm = Chronological Index top level index
a06.htm = Magazine Issue Index top level index
a07.htm = Series Index top level index
a08.htm = Story Author Index top level index
a09.htm = Story Title Index top level index
a10.htm = Magazine Issues with Full-Text Links
a11.htm = Publisher Index top level index

a91.htm = New Additions
a92.htm = Statistics

link.asp = Magazine links for use with GCP website

1chklst.htm = Magazine Issue Checklist top level index (v1 only)
clm[nn].htm = Magazine Issue Checklist checklists (v1 only)
cln[nn].htm = Magazine Issue Checklist intermediate level index (v1 only)

b[nn].htm = Artist Index intermediate level index
bb[nn].htm = Artist listings
c[nn].htm = Biographical Notes Index intermediate level index
cc[nn].htm = Biographical Notes listings
d[nn].htm = Book Author Index intermediate level index
dd[nn].htm = Book Author Index bottom level index
e[nn].htm = Book Contents Listings
f[nn].htm = Book Title intermediate level index (v2 only)
g[nn].htm = Book Title listings
h[nn].htm = Chronological Index intermediate level index
i[nn].htm = Chronological listings
j[nn].htm = Magazine Issue Index intermediate level index
jj[nn].htm = Magazine Issue Index bottom level index
k[nn].htm = Magazine Issue Listings
l[nn].htm = Series Index intermediate level index
ll[nn].htm = Series listings
m[nn].htm = Story Author Index intermediate level index
n[nn].htm = Story Author listings
o[nn].htm = Story Title intermediate level index (v2 only)
p[nn].htm = Story Title listings
q[nn].htm = Full Text listings (v2 only)
r[nn].htm = Publisher Index listings

Note that, in v1, most of the file names followed the same pattern but were different. In addition:

In addition, a11.htm, h[nn].htm, i[nn].htm, r[nn].htm & some specifically named files are used in minor v1 indexes in ways not yet identified.