我是调整 Zotero 中的导入/导出代码对于 BibTeX/BibLaTeX 格式,特别是文件附件字段file
。据我所知,该file
字段在 BibTeX 中没有适当的定义,但是BibLaTeX 文档对此有如下说法:
文件:字段(逐字)
指向作品 PDF 或其他版本的本地链接。标准书目样式不使用。
和
逐字字段以逐字模式处理,可能包含特殊字符。逐字字段的典型示例是文件和 doi。
此外,通过查看参考管理器字段(例如 JabRef)中的使用情况,该file
字段的使用形式如下:
file = {Title:/absolute/or/relative/path/to/file:type}
在 Windows 上,这看起来像
file = {Title:C:\absolute\or\relative\path\to\file:type}
但是,标题和路径可能包含与此字段的“逐字”模式不兼容的特殊字符,即{}
(可能不平衡),以及如果不转义,将阻止正确解析该字段的字符,即:
在 Windows 示例中。
所以我的问题是,在这些领域处理逃逸最合适的方法是什么?
我在 JabRef 中看到的是,字符用反斜杠转义,因此在 Windows 示例中,你得到
file = {Title:C\:\\absolute\\or\\relative\\path\\to\\file:type}
在我看来这很合理,但显然不是逐字的(我认为 BibLaTeX 对逐字字段的定义或缺乏定义是不现实的)。有人知道这可能导致的问题吗?
顺便问一下,如果上面的转义是可以的,那么在非逐字字段中用 表示反斜杠也可以吗\\
?或者这是否意味着 BibTeX 中的“强制换行”与 LaTeX 中的相同?(如果我没记错的话,BibTeX 语法并不完全遵循 LaTeX 约定)
为了方便以后阅读,我会指出,为了避免兼容性问题,必须在字段中file
使用反斜杠对其他一些字符进行转义,例如;
和$
(后者似乎对 Mendeley 的影响最大,因为 Mendeley 会用 转义 Windows 文件路径中的第一个反斜杠,$\backslash$
并将其余的字符转换为正斜杠)。