Citation style

S

Susan Koziel

Hi,
Is there any way of changing the citation format from word 2007 slightly.
I've had a comment from a thesis reviewer that (author, et al. 2008) is
incorrect.
It should be (author et al. 2008)
is there a way I can remove the comma from the format.

I realize I may end up making the change and then changing it back once a
different editor gets a hold of it.... but in the mean time I need to remove
the comma from all the citations with et al.

Thanks.
-Sue
 
Y

Yves Dhondt

Yes, if you have XSLT knowledge, you can adapt the style to your needs. The
stylesheets are located at

<winword.exe directory>\Bibliography\Style

which commonly is

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

Which style are you trying to change? And what part? I'm assuming in-text
citations by the brackets. If you could answer these questions, I or someone
else might be able to help you locate more closely as to what to change
where in those large XSL files.

Yves
 
S

Susan Koziel

The in text citations of both APA and Chicago style do this.
I looked through the style sheet and couldn't find the spot that dealt with
the et al.

I need to switch where the comma occurs before the et al.
so
(author, et al. 2008)
needs to be
(author et al. 2008)

Any help is appreciated.
Thanks.
-Sue
 
Y

Yves Dhondt

It might be interesting to create copies of the existing styles with
different names before starting to edit them. That way, you don't damage the
original styles. To do so, see
http://bibword.codeplex.com/Wiki/View.aspx?title=FAQ#Q8

Now, for APA, look for a piece of code looking like:

<xsl:when test="(position() = 1 and $cAuthors > 6)">
<xsl:call-template name="templ_prop_ListSeparator"/>
<xsl:call-template name="templ_str_AndOthersUnCap"/>
</xsl:when>

It should be located somewhere around line 3940. Change it into:

<xsl:when test="(position() = 1 and $cAuthors > 6)">
<xsl:text> </xsl:text>
<xsl:call-template name="templ_str_AndOthersUnCap"/>
</xsl:when>

That way, the separator will be replaced by a single space.

In the Chicago template, you will have to change the code around line 3817
which looks like:

<xsl:when test = "$cAuthors > 3 and position() = $minAuthors">
<xsl:call-template name="templ_prop_ListSeparator"/>
<xsl:call-template name="templ_str_AndOthersUnCap"/>
</xsl:when>

Yves
 
S

Susan Koziel

I have another question on the same topic.
Is there any way to alter the code to give me
<xsl:when test="(position() = 1 and $cAuthors > 3)">
rather then the current APA setting of six:
<xsl:when test="(position() = 1 and $cAuthors > 6)">


Again I've had a reviewer request that I use et al anytime more then three
authors are listed.

I tried just altering the $cAuthors > 3
that gives me
(first authors et al second author third author....sixth author)
not exactly what I need.... but closer
Thanks.
-Sue
 
Y

Yves Dhondt

Your approach should work, but you must make sure that you replace all
values '6' to '3'. Note that you can't do a global find/replace as this
would influence some template names which contains the value '6' in their
name.

At first glance, without doing any extensive testing, the following works:

<xsl:variable name="author0">
<xsl:choose>
<xsl:when
test="string-length(msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:Source/b:Author/b:Main/b:Corporate)
<xsl:value-of
select="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:Source/b:Author/b:Main/b:Corporate"
/>
</xsl:when>
<xsl:blush:therwise>
<xsl:variable name="cAuthors">
<xsl:value-of
select="count(msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:Source/b:Author/b:Main/b:NameList/b:person)"
/>
</xsl:variable>
<xsl:for-each
select="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:Source/b:Author/b:Main/b:NameList/b:person">

<xsl:choose>
<xsl:when test="position() > 3 or (position() > 1 and $cAuthors >
3)">
</xsl:when>
<xsl:when test="position() = 1">
<xsl:call-template name="formatNameCore">
<xsl:with-param name="FML">
<xsl:choose>
<xsl:when
test="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:NonUniqueLastName">
<xsl:call-template
name="templ_prop_APA_CitationLong_FML"/>
</xsl:when>
<xsl:blush:therwise>
<xsl:call-template
name="templ_prop_APA_CitationShort_FML"/>
</xsl:blush:therwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="FM">
<xsl:choose>
<xsl:when
test="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:NonUniqueLastName">
<xsl:call-template
name="templ_prop_APA_CitationLong_FM"/>
</xsl:when>
<xsl:blush:therwise>
<xsl:call-template
name="templ_prop_APA_CitationShort_FM"/>
</xsl:blush:therwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="ML">
<xsl:choose>
<xsl:when
test="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:NonUniqueLastName">
<xsl:call-template
name="templ_prop_APA_CitationLong_ML"/>
</xsl:when>
<xsl:blush:therwise>
<xsl:call-template
name="templ_prop_APA_CitationShort_ML"/>
</xsl:blush:therwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="FL">
<xsl:choose>
<xsl:when
test="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:NonUniqueLastName">
<xsl:call-template
name="templ_prop_APA_CitationLong_FL"/>
</xsl:when>
<xsl:blush:therwise>
<xsl:call-template
name="templ_prop_APA_CitationShort_FL"/>
</xsl:blush:therwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="upperLast">no</xsl:with-param>
<xsl:with-param name="withDot">no</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="position() > 1">
<xsl:call-template name="formatNameCore">
<xsl:with-param name="FML">
<xsl:call-template name="templ_prop_APA_CitationShort_FML"/>
</xsl:with-param>
<xsl:with-param name="FM">
<xsl:call-template name="templ_prop_APA_CitationShort_FM"/>
</xsl:with-param>
<xsl:with-param name="ML">
<xsl:call-template name="templ_prop_APA_CitationShort_ML"/>
</xsl:with-param>
<xsl:with-param name="FL">
<xsl:call-template name="templ_prop_APA_CitationShort_FL"/>
</xsl:with-param>
<xsl:with-param name="upperLast">no</xsl:with-param>
<xsl:with-param name="withDot">no</xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>

<xsl:choose>
<xsl:when test="(position() = 1 and $cAuthors > 3)">
<!--<xsl:call-template name="templ_prop_ListSeparator"/>-->
<xsl:text> </xsl:text>
<xsl:call-template name="templ_str_AndOthersUnCap"/>
</xsl:when>
<xsl:when test="position() > 1 and $cAuthors > 3">
</xsl:when>
<xsl:when test="($cAuthors - 1 = position() and ($cAuthors = 2))">
<xsl:call-template name="templ_prop_Space"/>
<xsl:call-template name="templ_prop_APA_BeforeLastAuthor"/>
<xsl:call-template name="templ_prop_Space"/>
</xsl:when>
<xsl:when test="($cAuthors - 1 = position() and ($cAuthors > 2))">
<xsl:call-template name="templ_prop_AuthorsSeparator"/>

<xsl:variable name="noAndBeforeLastAuthor">
<xsl:call-template name="templ_prop_NoAndBeforeLastAuthor"/>
</xsl:variable>
<xsl:if test="$noAndBeforeLastAuthor != 'yes'">
<xsl:call-template name="templ_prop_APA_BeforeLastAuthor"/>
<xsl:call-template name="templ_prop_Space"/>
</xsl:if>
</xsl:when>
<xsl:when test="$cAuthors > position() and 3 > position() ">
<xsl:call-template name="templ_prop_AuthorsSeparator"/>
</xsl:when>
</xsl:choose>

</xsl:for-each>
</xsl:blush:therwise>
</xsl:choose>
</xsl:variable>

Yves
 
P

Peter T. Daniels

I have another question on the same topic.
Is there any way to alter the code to give me
 <xsl:when test="(position() = 1 and $cAuthors > 3)">
rather then the current APA setting of six:
 <xsl:when test="(position() = 1 and $cAuthors > 6)">

Again I've had a reviewer request that I use et al anytime more then three
authors are listed.

That's Chicago style. You'd better check with your editor or publisher
as to whether that's acceptable in APA style.
 
S

Susan Koziel

Hi Peter & Yves,
I realize that it's Chicago style. The issue is that there seems to be a
preference from the one reviewer to have the inline citations only listing 3
authors max and the year; but a different reviewer wants to have the
bibliography in APA style.

My situtation is that I must make the changes to get the signature from the
reviewers then send it to an editor who will ask for specific and final
formating changes. I expect to put everything back to a uniform style when
all is done, but in the mean time I have to deal with some non-uniform ideas
about citation styles.

When your reviewers are scientists sometimes the style they think is correct
is not the correct style they think it is.

This is a rather frustrating situation, and hence why I'm asking for code so
I can switch back easily.

But in the mean time I'm stuck making small (ish) changes to the current
styles.

;)

At least all the changes to my thesis that are required are messing with
styles, and sentence structures.

Thanks Yves for all your help I will try to switch the numbers I missed and
see if it works.
-Sue
 
J

Jonny99

On a related note, how can I change the style sheet so that parantheses don't
automatically appear around a citation. For example "Tomaskovic-Devey (1993)
concluded..." should have the citation in paranthesis.
 
P

Peter T. Daniels

The best you can do is select the citation, choose Edit Citation from
the drop-down, check "Suppress Author" -- and type the author name
outside the citation field, in the main text.

Or, once your work is absolutely finalized, convert the citation(s) to
plain text and move the parenthesis.
 
Y

Yves Dhondt

Patience is a virtue. You don't have to ask the same question multiple
times, just wait till someone comes along who can answer it.

<the following is copy/pasted from my original reply>

There is no on/off switch for the brackets. Your choices are to either keep
them, or remove them altogether. If you want to remove them for all
instances, you will have to edit the style by hand.

The short version: http://bibword.codeplex.com/wikipage?title=FAQ
(especially 6 and 8 are useful)

The long version (in case you don't know XSL):

The styles are located in the

<winword.exe>\Bibliography\Style

directory. Assuming a normal 32-bit OS with a default Office 2007
installation, that directory is

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

The style you want to edit is located in APA.XSL. Create a copy of the file
and name it MyAPA.XSL. Open the file with a text editor (notepad, ...) and
look for the following lines:

<xsl:when test="b:OfficeStyleKey">
<xsl:text>APA</xsl:text>
</xsl:when>

and change it to

<xsl:when test="b:StyleName">
<xsl:text>APA without brackets</xsl:text>
</xsl:when>

Now when you start Word, there will be an extra style in the dropdown list,
labeled "APA without brackets".

Next you want to remove the brackets. Look for

<xsl:if
test="msxsl:node-set($ListPopulatedWithMain)/b:Citation/b:FirstAuthor">
<xsl:call-template name="templ_prop_OpenBracket"/>
</xsl:if>

and remove it. This will remove the opening bracket. Then look for

<xsl:if test="/b:Citation/b:LastAuthor">
<xsl:call-template name="templ_prop_CloseBracket"/>
</xsl:if>

and remove it. This will remove the closing bracket. You should be all set
now.

Yves
 
Y

Yves Dhondt

Or edit the style so there are never any brackets...

Yves
--
BibWord : Microsoft Word Citation and Bibliography styles
http://bibword.codeplex.com

The best you can do is select the citation, choose Edit Citation from
the drop-down, check "Suppress Author" -- and type the author name
outside the citation field, in the main text.

Or, once your work is absolutely finalized, convert the citation(s) to
plain text and move the parenthesis.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top