指南

指南

对于这种支持,我们面临两种主要问题。

指南

据我所知,APA 实际上并未提供任何关于 L10N 的官方说明。因此有人可能会争论在 APA 格式中支持日语到底意味着什么。

技术问题

大多数软件包,即使是那些对 L10N 有某种支持的软件包,也都是以英语或印欧语系语言为中心,最多只使用拉丁语脚本。因此,如果不实际编写另一个软件包,就很难添加对日语等语言的支持(例如,日语倾向于使用后置词而不是前置词,这是一种 SOV 语言),而这最终会与许多其他软件包不兼容,即使我们认为花费的时间和精力是值得的。

可能的解决方案

一个好的解决方案但任务繁重的是重新设计 的 L10N 流程biblatex,提供更多高级灵活性以支持不同的语言。但我认为这不太可能,因此,与此同时,一些非黑客式的方法来更改每个 bib 条目的样式(例如lnagid)以及添加手动条目的能力将省去很多麻烦。

具体案例

支持的第一步显然是复制一些语言.lbx-apa.lbx文件并翻译一些字符串。这将导致我们这样做(这里是一个示例tex文件): 在此处输入图片描述

这里有很多问题,首先,“から”是一个后置词,与“from”不同,应该放在 URL 后面(如果按照指南来看,这可能听起来很奇怪)。其次,日期完全错误,需要重新排序,并且需要为所有 3 个条目添加后缀,如“2019年9月11日”。其他问题可能包括不使用日语括号(以及几乎所有标点符号),这会导致点的间距错误,名称后面会添加点,这在日语中并不常见(尽管我对它们的典型样式没有太多信息)。

在研究了一些问题并浏览了 的biblatex-apa资料后,我通过添加以下内容成功地解决了第一个问题:

\AtEveryBibitem{%
    \iffieldequalstr{langid}{japanese}
    {\renewbibmacro*{url+urldate}{%
            \ifthenelse{\iffieldundef{url}\OR\NOT\iffieldundef{doi}}
            {}
            {\iffieldundef{urlyear}
                {}
                {\printtext{\bibstring{retrieved}}%
                    \addspace
                    \printurldate
                    \setunit{\addcomma\addspace}}
                \iffieldundef{url}{}{\printfield{url}\bibstring{from}\adddot %
                \renewcommand*{\finentrypunct}{\relax}}}}} % if true

    {\renewbibmacro*{url+urldate}{%
            \ifthenelse{\iffieldundef{url}\OR\NOT\iffieldundef{doi}}
            {}
            {\iffieldundef{urlyear}
                {}
                {\printtext{\bibstring{retrieved}}%
                    \addspace
                    \printurldate
                    \setunit{\urldatecomma}%
                    \bibstring{from}%
                    \setunit{\addspace}}%
                \iffieldundef{url}{}{\printfield{url}\renewcommand*{\finentrypunct}{\relax}}}}} % if false
}

这将给我们(我是否需要在每个非 jp 条目上重新定义它?):

在此处输入图片描述

但是日期(最大的问题)和其余问题仍然存在,所有这些都只是为了考虑单个用例。

相关内容