【问题标题】:Change date style of APA MS Word bibliography更改 APA MS Word 参考书目的日期样式
【发布时间】:2015-02-03 17:53:19
【问题描述】:

我正在写论文,我的教授希望我使用 APA 风格。这里我有一个问题,它显示这样的日期“DD.MM YYYY”但是,我希望它是“DD.MM.YYYY”。

不知何故,它不仅通常使用空格,而且日期后面还有一个点。这意味着它不是我一般不喜欢的风格,但它似乎有问题。为什么?

我查看了 xls 文件,但找不到确切的问题。在哈佛 xml 中,这很容易,因为我只需要将“空格”更改为“点”模板。然而,在这里,他们似乎使用了递归样式,我不知道我需要在哪里进行更改。

如果有人可以帮助我,我将非常感激!

我使用office365,并尝试更改在C:\Users\$user\AppData\Roaming\Microsoft\Bibliography\Style\APASixthEditionOfficeOnline.xsl找到的xls

Here (pastebin) is the original code 来自该部分,我相信其中放置了“空格”和“点”。

参数为:

  • 格式:MYDMY(取决于是否输入日期字段)

  • 日月年:是源的数据

  • withDot 最初没有设置(至少我在任何地方都找不到)

如果您需要更多信息,请告诉我。

更新

Here 是来自 Windows 的完整参考书目样式代码。

Here选定代码,其中包含我认为在格式化日期时调用的所有模板

【问题讨论】:

    标签: xslt ms-word office365 bibliography


    【解决方案1】:

    无法重现您发布的问题,主要是因为您引用的模板需要其他模板。

    在任何情况下,如果您只需要生成两种不同格式的日期,您可以通过以下方式非常更简单地做到这一点:

    <xsl:template name="formatDate">
        <xsl:param name="day"/>
        <xsl:param name="month"/>
        <xsl:param name="year"/>    
        <xsl:param name="format" />
        <xsl:choose>
            <xsl:when test="$format='DMY'">
                <xsl:value-of select="format-number($day, '00.')"/>
                <xsl:value-of select="format-number($month, '00.')"/>
                <xsl:value-of select="$year"/>
            </xsl:when>
            <xsl:when test="$format='MY'">
                <xsl:value-of select="format-number($month, '00.')"/>
                <xsl:value-of select="$year"/>
            </xsl:when>
            <xsl:otherwise>??</xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    

    调用模板示例:

    呼叫:

    <date>
        <xsl:call-template name="formatDate">
            <xsl:with-param name="format" select="'DMY'"/>
            <xsl:with-param name="day" select="5"/>
            <xsl:with-param name="month" select="3"/>
            <xsl:with-param name="year" select="2014"/>
        </xsl:call-template>
    </date>
    

    返回:

    <date>05.03.2014</date>
    

    呼叫:

    <date>
        <xsl:call-template name="formatDate">
            <xsl:with-param name="format" select="'MY'"/>
            <xsl:with-param name="month" select="7"/>
            <xsl:with-param name="year" select="1876"/>
        </xsl:call-template>
    </date>
    

    返回:

    <date>07.1876</date>
    

    【讨论】:

    • 感谢您的帮助,但恐怕我只能得到“??”现在的日期。我将在一分钟内更新我的问题,并添加一个文件,将我认为在参考书目中打印日期的部分调用的所有模板。这需要一段时间,因为原始 xsl 文件有 8317 行长...
    • "i only get "??"" 这意味着 format 参数既不是 MY 也不是 DMY - 所以检查调用模板的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2017-10-01
    • 1970-01-01
    相关资源
    最近更新 更多