我在使用 Visual Studio Code 的 LaTeX Workshop 扩展时遇到了问题。我尝试.bib
使用命令格式化我的文件latex-workshop.bibalign
,按照LaTeX 研讨会维基。
但是,当我运行该命令时,收到以下错误消息:
命令‘LaTeX Workshop:对齐 BibTeX 文件’导致错误,
预期……但发现‘@’。
该错误表明 BibTeX 文件存在语法问题,但我不确定是什么原因导致的,也不知道该如何修复。该文件包含常规 BibTeX 条目;我没有进行任何非常规修改。
有人遇到过这个错误吗?或者有人知道是什么原因造成的吗?任何关于如何解决这个问题的见解或建议都将不胜感激。
附加信息:我在 Windows 10 上使用 MiKTeX,我的.bib
文件是 BibTeX 和 BibLaTeX 的混合。
附言我也发过这个问题这里关于 LaTeX WorkShop GitHub 存储库讨论和这里在 r/LaTeX subreddit 上。
答案1
在您的真实 bib 文件中(在其中一个链接中)显示您在 bib 条目中使用了注释字符:
@Article{sakama2022,
AUTHOR = {Sakama, Sayako and Tanaka, Yutaka and Kamimura, Akiya},
TITLE = {Characteristics of Hydraulic and Electric Servo Motors},
JOURNAL = {Actuators},
VOLUME = {11},
YEAR = {2022},
NUMBER = {1},
ARTICLE-NUMBER = {11},
% URL = {https://www.mdpi.com/2076-0825/11/1/11},
ISSN = {2076-0825},
DOI = {10.3390/act11010011}
}
这不是正确的 bib 语法。LaTeX 配套 (第三版) (无耻的广告) 关于 .bib 文件中的注释是这样说的:
请注意,LaTeX 的注释字符 % 在 .bib 数据库文件中不是注释字符,甚至会导致解析错误 [...]。因此,要注释条目中的字段,请更改字段的名称 [...]。要排除完整条目,请删除开头的 @ 符号。
因此,要排除 URL,请执行以下操作:
@Article{sakama2022,
AUTHOR = {Sakama, Sayako and Tanaka, Yutaka and Kamimura, Akiya},
TITLE = {Characteristics of Hydraulic and Electric Servo Motors},
JOURNAL = {Actuators},
VOLUME = {11},
YEAR = {2022},
NUMBER = {1},
ARTICLE-NUMBER = {11},
XXXURL = {https://www.mdpi.com/2076-0825/11/1/11},
ISSN = {2076-0825},
DOI = {10.3390/act11010011}
}
要排除该条目,请删除条目前的@。
Article{sakama2022,
AUTHOR = {Sakama, Sayako and Tanaka, Yutaka and Kamimura, Akiya},
....
}
(该条目不应包含@符号,因为这会开始一个新条目并使解析器感到困惑。)
在这种情况下,您还可以另外添加%(然后biber就不会将其报告为垃圾邮件):
%Article{sakama2022,
% AUTHOR = {Sakama, Sayako and Tanaka, Yutaka and Kamimura, Akiya},
% ....
%}