Subtypes? (IEEE)

Dec 2, 2009 at 5:42 PM

Hi Yves,

I am having some trouble with generating a reference that is based on a subtype. In this case specifically, I am trying to make a Thesis reference using IEEE Reference Order.

From what I understand, if I wish to make a Thesis subtype reference, I  start by choosing "Report" from the "Type of Source" drop down box in the "Edit Source" dialog box. After this I must put "Thesis" in the "Type" bibliography field underneath the aforementioned drop down. The problem is that I do not see the "Type" field; I see "Report Type", but entering "Thesis" (or any variation in that field) does not change the reference formatting as it should.

Further reading led me to believe that I perhaps needed to use Bibtype.exe to generate a new Bibform.xml. I did so using the "Types.xml" file from the Schema for type definitions link. But this has not changed the lack of "Type" field when entering a source

Do you know what exactly I am missing here?

 

P.S. That said, I very much appreciate the work you have put into creating these styles and continuing to help us users out.

 

Coordinator
Dec 2, 2009 at 6:01 PM

The lazy solution: switch between source types

In the source manager, when you change the type of a source, different fields will become available. You can switch to a type of sources which has the fields you want, and fill them in. Then, when you switch back to the type you want, the data will be kept although it looks like the fields are gone.

So you can switch your source type to "Patent", then you can enter "Thesis" in the "Type" field. Afterwards, just switch back to "Report" and fill in the rest of your fields.

The good solution: edit bibform.xml

The above works if you only have one or two entries. If you have dozens of entries, it becomes a stupid thing to do.

The order and availability of the elements for a given source type in the source manager is defined in a file called bibform.xml. Normally, this file can be found in

C:\Program Files\Microsoft Office\Office12\1033\Bibliography

where the 1033 could be a different number for you. It represents the localization of your copy of Word (1033 = US English).

If you open the file you will notice a huge bunch of xml code. Its format is pretty simple and straightforward. For each type, there is an entry in the form:

<Source type="Report" display="Report">
  <!-- all definitions -->
</Source>

The children of a source element are the different fields that will be available in the source manager for that type. For example:

<Tag>
    <Label>Journal Name</Label>
    <DataTag>b:JournalName</DataTag>
    <Sample>Example: Adventure Works Monthly</Sample>
</Tag>

What you can do is copy paste the type field from another source type inside the Source element for Report. You would want to add the following code inside the Source element:

<Tag>
  <Label>Type</Label>
  <DataTag>b:Type</DataTag>
  <Sample>Example: Thesis</Sample>
</Tag>

If you save the file and try to edit a Report source, the type field should now be available. Note that you might need to select "Show all fields" depending on how you defined your important fields.

BibType is a way of automating the above process to work on all languages. For small changes like yours, it's easier to do just do it by hand. 

Dec 2, 2009 at 6:45 PM
Edited Dec 2, 2009 at 11:15 PM

Thank you! Your manual solution worked perfectly. I understand now what I was missing.

In order to automate it using BibType, the Types.xml file needed to be modified to generate the new bibform.xml. In this case, the existing Report type:

<Type Name="Report">
     <!-- existing Datatags -->
</Type>

needed to have the following added to it so it knows that Type field is part of its scope:

<DataTag>b:Type</DataTag> 

Knowing this helps with automating some of the other changes other users have asked about that may come in handy. Thanks for the help!