使用 Jabref 和 biblatex 理解缩写

使用 Jabref 和 biblatex 理解缩写
@Article{gk25en,
  author    = {Gk},
  title     = {hljhjdlasjdhkjfahkf},
  year      = {1925},
  journal   = {International Journal of Communication Systems},
}
@Article{jt,
  author    = {Gk},
  title     = {hljhjdlasjdhkjfahkf},
  year      = {1925},
  journal   = {Journal of Lightwave Technology},
}

当我使用Ctrl+Alt+A在 Jabref 中(工具->缩写期刊名称)

@Article{gk25en,
  author    = {Gk},
  title     = {hljhjdlasjdhkjfahkf},
  year      = {1925},
  journal   = {Int. J. Commun. Syst.},
}
@Article{jt,
  author    = {Gk},
  title     = {hljhjdlasjdhkjfahkf},
  year      = {1925},
  journal   = IEEE_J_JLT,
}

这反映在参考部分(texstudio,biblatex):

gk25en:完美显示为:国际通信系统杂志。

jt:一切正常,只是参考文献部分没有显示期刊名称。我原本希望将其显示为:J. 光技术。

答案1

总体思路很简单。不用给字段赋值journal = {J. Lightw. Technol.}

journal   = IEEE_J_JLT,

设置journal为使用变量的值@string。该变量将在文件中定义.bib

@STRING{IEEE_J_JLT = "J. Lightw. Technol."}

这样您就可以使用它。通过在单个位置更改该变量,您可以同时影响多个条目。

这里有几个问题。

如果你在 JabRef 中使用 IEEE 缩写(见https://github.com/JabRef/jabref/issues/2485),您需要加载IEEEabrv.bib缩写期刊名称或IEEEfull.bib完整期刊名称。因此您需要

\addbibresource{IEEEabrv.bib}
\addbibresource{mybibfile.bib}

请注意,IEEEabrv.bib需要先加载,因为它提供了@string文件稍后要使用的条目.bib。请参阅https://github.com/plk/biber/issues/218

最后一点更成问题。IEEEarbv.bib包含一个非 ASCII 字符(即á中的Nicolás Barabino)。如果您的文档设置为假定 UTF-8 或 ASCII 编码.bib文件,Biber 无法正确读取该文件并出现故障(请参阅BibLaTeX 无法与 Biber 2.8 配合使用 - 读取 ascii 格式的 .bib 文件时出错了解背景知识)。如果您的文档是latin1-encoded 或所有.bib文件都在 中,latin1您可以通过告诉 TeX 或 Biber 使用 来解决这个问题latin1。否则,您将需要修改IEEEarbv.bib。将文件复制到 TeX 可以找到的位置,将其重命名为IEEEarbv-ascii.bib并更改Nicolás BarabinoNicol\'{a}s Barabino。然后在标题中注明您将文件更改为纯 ASCII。虽然该文件是在 LPPL 下分发的,但它明确指出

Retain all contribution notices and credits.
** Modified files should be clearly indicated as such, including  **
** renaming them and changing author support contact information. **

所以你应该避免将该文件公开。(虽然我认为他们应该可以接受对致谢的这种改变。但我不是我。)

相关内容