自定义APA CSL文件:DOI访问日期宏失效问题求助
解决CSL文件中DOI访问日期宏不生效的问题
问题根源
你当前的access宏针对DOI的分支仅输出DOI链接,未包含访问日期的输出逻辑,因此不会显示访问日期;而URL分支完整编写了访问日期的组代码,所以可以正常生效。
修复后的宏代码
将DOI分支补充访问日期输出逻辑,修改后的代码如下:
<macro name="access"> <choose> <if variable="DOI" match="any"> <text variable="DOI" prefix="https://doi.org/" suffix=" "/> <group delimiter=" " prefix="(" suffix=")"> <text term="retrieved" suffix=":"/> <date variable="accessed" form="numeric"/> </group> </if> <else-if variable="URL"> <text variable="URL" suffix=" "/> <group delimiter=" " prefix="(" suffix=")"> <text term="retrieved" suffix=":"/> <date variable="accessed" form="numeric"/> </group> </else-if> </choose> </macro>
核心修改说明
- 给DOI对应的
<text>标签添加suffix=" ",保证DOI链接与访问日期组之间有合理空格分隔 - 将URL分支中的访问日期组代码复制到DOI分支内,让DOI条目也能输出检索日期
修改完成后,带有DOI的条目会同时显示DOI链接和对应的访问日期,与URL条目的显示逻辑保持一致。
内容的提问来源于stack exchange,提问作者jms
相关产品推荐
相关产品推荐

