0

I have a problem with Microsoft word. My language is Farsi. When I insert citation from library that I defined in Word, the software automatically use "," instead "،". How can I fix that? For example, below I wrote tow wrong and true citations. Best regards.

Sample of a citation that Word automatically use "," stead of "،" and it's wrong:

این متن به عنوان نمونه نوشته شده است (اسلامی 1372, 310).

Correct form of citation in Persian that I cited manually:

این متن به عنوان نمونه نوشته شده است (اسلامی 1372، 310).

1 Answers1

0

This isn't an answer, but I cannot fit it into a comment...

The only thing I was able to do reasonably easily was to open the APA template that you were using and modify the "templ_prop_ListSeparator" template. It started like this (I think it is similar in 2013, but the select statement may be different:

  <xsl:template name="templ_prop_ListSeparator" >
    <xsl:param name="LCID" />
    <xsl:variable name="_LCID">
      <xsl:call-template name="localLCID">
        <xsl:with-param name="LCID" select="$LCID"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:value-of select="/*/b:Locals/b:Local[@LCID=$_LCID]/b:General/b:ListSeparator"/>
  </xsl:template>

I copied that whole template and renamed the copy to

  <xsl:template name="templ_prop_ListSeparatorSav" >

Then I modified the original to look like this:

  <xsl:template name="templ_prop_ListSeparator" >
    <xsl:param name="LCID" />
    <xsl:variable name="_LCID">
      <xsl:call-template name="localLCID">
        <xsl:with-param name="LCID" select="$LCID"/>
      </xsl:call-template>
    </xsl:variable>
    <xsl:choose>    
      <xsl:when test="$_LCID='1065'">
        <xsl:text>،</xsl:text>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="/*/b:Locals/b:Local[@LCID=$_LCID]/b:General/b:ListSeparator"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

I am sure it could be simpler, but what this is really doing is checking for sources that have been set up as Persian language sources (LCID=1065), and using the Unicode "Arabic Comma" as the separator instead of whatever character Word currently uses.

It may not be the ListSeparator that you need, but the GroupSeparator - in which case, you will need to do something similar to the templ_prop_GroupSeparator" template instead, or possibly as well as ListSeparator.

The other problem is that the separator that you need may depend on the various things about the context - e.g., whether it is between two Farsi-script (RTL) texts, two Latin-script (LTR) texts, one of each, and so on. I really don't know enough to have a chance of getting that right.

I had to use a binary editor to get the right character into my document and since I was using UTF-8 encoding I also had to change the XML declaration so that it specified UTF-8 instead of the ISO-8859-1.

The other thing is anyone else working with your document will find that the definitions in the template on their system will be imposed, certainly if you retain the existing scheme name. So IMO you should copy the existing APA scheme and rename it.

Update...

I have put a file based on the Word 2013 APA 6 template, with some of the changes detailed above on dropbox

here

You will need to download it and put it in the correct folder for Word 2013. You will then need to switch to using this bibliography type (don't worry - you can always switch back!)

You will see that I have created new versions of the ListSeparator and GroupSeparator templates, and changed the name of the template so that it should appear in your list of bibliographic types (APA, Chicago, etc. ) as ali_asghar_(something), where "(Something)" may be a language ID (LCID, such as 1065, or "other").

I think this only has a chance of working if your citations and bibliography lists are in RTL paragraphs. If it comes close to what you need, I think you may still have to modify some commas manually before creating your PDF.