The bug in APA

May 5, 2010 at 5:15 AM
Edited May 5, 2010 at 5:17 AM

There is a bug in APA style.

For example:

Liu, F.-H. F., & Hai, H.-L. (2005). The voting analytic hierarchy process method for selecting supplier. International Journal of Production Economics , 97 (3), 308-317.

Before the red comma (the end of journal title), there should not have the space. How can I fix the bug? Thanks!

 

Liu, F.-H. F., & Hai, H.-L. (2005). The voting analytic hierarchy process method for selecting supplier. International Journal of Production Economics, 97 (3), 308-317. 

Coordinator
May 5, 2010 at 4:11 PM

Blame Microsoft. They made the style, they should fix it.

Just trace the code back. $tempJVIP is used to display the combination of Journalname, Volume, Issue, Pages. $tempJVIP is the result of a call to templateJVIP, which in turn is a wrapper around templateG. The code inside templateG points further to ApplyItalicTitleNS but this one is used all over the place and touching it might result in unwanted behaviour. Your best shot is to change templateG.

The first reference to the list separator in the templateG routine is the comma between the journal name and the volume. So changes should be made before that. At first glance, I would replace

<xsl:call-template name = "ApplyItalicTitleNS">
  <xsl:with-param name = "data">
    <xsl:if test="string-length($tempFirst)>0">
      <xsl:value-of select="$tempFirst"/>
    </xsl:if>
  </xsl:with-param>
</xsl:call-template>

in templateG with

<i>
  <xsl:value-of select="$tempFirst" />
</i>
May 6, 2010 at 7:59 AM

I really appreciate for your help!

Thanks a lot!!!!!!!

:)

May 26, 2010 at 9:36 AM

Hi,

im a Student from Italy and we need to work with the lightly changed APA style.

It´s just a comma:

Instead of

(MacKenzie, Smith, & Myer, 2009)

we need

(MacKenzie, Smith & Myer, 2009) without the comma.

 

the same in the directory:

MacKenzie, S. B., Smith, & A. B. & Myer, C. (2007b). Bookname. New York: Publisher 

we need 

MacKenzie, S. B., Smith  & A. B. & Myer, C. (2007b). Bookname. New York: Publisher 

 

I've tried it for hours, but I didn´t make it

Can anybody help me?

It´s very urgent!

 

Thank you very much !

 

 

Coordinator
May 26, 2010 at 11:48 AM

There is a template called formatPersonSeparatorMain. At first glance there seems to be information in there on which separators are displayed when. I haven't tested this, but it might be a good place to start looking for things to change.

May 26, 2010 at 2:30 PM

Hi Yves,

thank you for your Help.

I ´m sorry, I can´t find "formatPersonSeparatorMain". Can you tell me in which Line it is?

Or can you tell me what i should change? Is it very complicating?

Thanks

Giovanni

Coordinator
May 26, 2010 at 6:17 PM

I accidentally corrected a spelling error :-)

The name of the template you need is "formatPersonSeperatorMain". There is a piece of code looking like:

<xsl:when test="6 >= count(../b:Person) and position() = count(../b:Person) - 1">
  <xsl:call-template name="templ_prop_AuthorsSeparator"/>
  <xsl:if test="string-length($isLast)=0 or $isLast=true()">
    <xsl:call-template name="templ_prop_APA_BeforeLastAuthor"/>
    <xsl:call-template name="templ_prop_Space"/>
  </xsl:if>
</xsl:when>

which looks like being responsible for the separator before the last name (position vs count - 1). My guess would be that you have to remove the call to templ_prop_AuthorsSeparator and display a space instead. So something like:

<xsl:when test="6 >= count(../b:Person) and position() = count(../b:Person) - 1">
  <xsl:text> </xsl:text>
  <xsl:if test="string-length($isLast)=0 or $isLast=true()">
    <xsl:call-template name="templ_prop_APA_BeforeLastAuthor"/>
    <xsl:call-template name="templ_prop_Space"/>
  </xsl:if>
</xsl:when>

Note that I haven't tested this. You might have to remove that text part if there turn out to be two spaces. I doubt there will, but it is possible. 

May 27, 2010 at 6:18 AM

Hi Yves,

 

thank you so much! It works!!!!

Your proposal changed only the style of the directory, but you got me on the right track

To change also the citation styls in the text I had to remove the same code

 <xsl:call-template name="templ_prop_AuthorsSeparator"/>

and insert

<xsl:text> </xsl:text>.

on line 3945.

Now it looks like:

<xsl:when test="($cAuthors - 1 = position() and ($cAuthors > 2))">
  <xsl:text> </xsl:text>
<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>
Thank you again!
You saved me from a lot of work and experiments ;-)

Giovanni