This project is read-only.

IEEE reference order problem

Mar 20, 2011 at 11:18 PM
Edited Mar 20, 2011 at 11:19 PM

Using Word 2010 without BibWord.

This is the output:



 J. Ahrenholz and C. Danilov. Common Open Research Emulator. [Online].

[2] M. Zec and M. Mikuc, "Operating System Support for Integrated Network Emulation in IMUNES," in Proceedings of the 1st Workshop on Operating System and Architectural Support for the on demand IT InfraStructure.



What's with the 'x' in the beginning and the end?

Mar 21, 2011 at 1:37 PM

The x's are normally marked as hidden text. If you disable the showing of non-printing symbols in Word, you shouldn't see them.

The x's are there as a workaround for a bug in Microsoft Word. If the stylesheet returns nothing but a table containing your bibliography, Word will automatically put an empty paragraph before and after your bibliography. By wrapping your table in between two non-empty paragraphs, Word won't add the empty paragraphs. As the paragraphs have to be non-empty, I simply added an x in them (a space won't work) and marked the entire paragraph as hidden.

Mar 21, 2011 at 2:07 PM

Ah I see

Also could you change the IEEE ref order style so that authors are listed as J. Doe; S. Sue? I dont exclusively write english texts so
english words in between (author1 AND author2) aren't suited for bibliography.


Mar 21, 2011 at 2:43 PM

You can easily change them yourself.

See on where you can find the information for formatting contributors inside the stylesheet.

Changing things like 'AND' is just a simple substition there.

Formatting authors is done through the 'first_person' and 'other_persons' elements in the above structure. Check out for a long list of example format strings you could use. 

Mar 21, 2011 at 8:43 PM

Thanks again! Works nice :)


On the side note. why use tables when displaying bibliography?

Mar 24, 2011 at 10:01 PM

Tables are only used in layouts which require them. They are the only working solution for providing custom numbering and alignment I found so far. You can't just use basic HTML lists because they look like "1." while users might need "(1)" or "[1]". Although it is possible to style them correctly in HTML, that HTML is too complex for Word to parse. Even span's with relative positioning are too complex for Word to understand.

If there was a way to incorporate open xml inside HTML and let Word import that, I could probably create something without tables, but so far, I had no luck in doing so.

Apr 29, 2011 at 7:31 PM



is it possible for you to add the possibility to edit the citation and specify exact pages that are used?

Here's the example of how it looks like with ISO 960 numerical:

May 1, 2011 at 9:53 AM

You can do this yourself.

In the xsl file, look at the citation element. For each type of source you will see an entry like:

<source type="Book">

Change the format string so it includes the CitationPages variable.

<source type="Book">
  <format>{%RefOrder%}{ %CitationPages:str. :str. :%}</format>

Of course, you can change the 'str.' to something else like 'p. ' and 'pp. '.

May 4, 2011 at 4:32 AM

Actually I was just referring to the difference in input between your style and the inbult styles (eg, ISO690 )

As you can see with ISO 690 you get two additional options when reviewing the inserted citation:

And here's the situation when using the IEEE Reference Order:

When editing the field code of the inserted citation I can do it "manually" with the \p switch so you get a similar code:

CITATION rfc5614 \p 12-23 \l 1050
Also, converting the citation to plain text also doesn't work for your style.

May 4, 2011 at 10:18 AM

Just place your cursor between the number and the closing bracket and right click there. That should give you the menu items you normally see. The hyperlink contextmenu overwrites other contextmenus instead of merging them into one menu. That is a known bug in Word.

Conversion to static text works fine here. Are you sure there is nothing else corrupt in your document? I have seen this behaviour before when pictures were involved. Otherwise, try using the macro from to see if that one works.

May 6, 2011 at 11:13 PM

Yes thank you now it works properly.


On second thought while viewing the code on ISO 690 numerical i think this part was responsible for the citation part:

			<xsl:when test="b:Citation">
				<xsl:variable name="pages" select="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:Pages"/>

		                <xsl:variable name="ppPages">
		                  <xsl:if test="string-length($pages)>0">
		                      <xsl:when test="not(string-length($pages)=string-length(translate($pages, ',', '')))">
		                        <xsl:call-template name="templ_str_PagesCountinousShort"/>
		                      <xsl:when test="string-length($pages)=string-length(translate($pages, $prop_APA_Hyphens, ''))">
		                        <xsl:call-template name="templ_str_PageShort"/>
		                        <xsl:call-template name="templ_str_PagesCountinousShort"/>
		                    <xsl:call-template name="templ_prop_Space"/>
		                    <xsl:value-of select="$pages"/>

I like the default xsl as it obviously makes it possible to give the translated abbreviation depending on the language.

Is it possible to implement that code easily for the IEEE reference?



May 7, 2011 at 12:02 PM

No. When creating BibWord I specifically chose not to support internationalization. 

I did so because Word's language mechanism tends to screw up things. In-text citations often end up in different languages within the same text. For example, you would see (1, p. 5) next to (2, str. 7). Even Microsoft realised this was an issue as the language field has been removed from the "Edit Source" dialog in Word 2010.

That said, you could write format strings for each language you require and use the lcid codes to decide which format string to use as illustrated in