如何让 biblatex 和 biber 与 MikTex 协同工作?

如何让 biblatex 和 biber 与 MikTex 协同工作?

我正在尝试使用 MikTex 中 backend=biber 的 biblatex 但收到了错误消息。

如果我从 MikTex Typeset 下拉菜单中使用 LuaLaTeX+makebib 运行,我会得到干净的输出,没有参考书目。如果我从该菜单单独运行 lualatex 和 biber,我会收到错误消息

INFO - This is Biber 2.19
INFO - Logfile is 'Test.Bib.blg'
ERROR - Cannot find 'Test.Bib.bcf'!
INFO - ERRORS: 1
INFO - This is Biber 2.19
INFO - Logfile is 'Test.Bib.blg'
ERROR - Cannot find 'Test.Bib.bcf'!
INFO - ERRORS: 1

我原本以为该文件是由 biblatex 包创建的。我是否应该停止使用 Texworrks Typeset 下拉菜单中的单个 LuaLaTeX 和 biber 项目,而直接使用 texify 或 latexmk 创建 LuaLaTeX+MakeIndex+biber 条目,而不是先尝试让它们单独工作?如果是这样,哪个是更好的选择?

该文件是

\documentclass[b4paper]{article}
\usepackage[backend=biber,backref=true]{biblatex}
\addbibresource{ARB.bib}
\addbibresource{FAQ.bib}
\addbibresource{IETF.bib}
\addbibresource{ISO.bib}
\addbibresource{Unicode.bib}
\usepackage{hyperref}
\usepackage{imakeidx}
%\usepackage{url}

\makeindex[intoc]

\title{Test of biblatex
    \author{Shmuel (Seymour J.) Metz}
    }

\begin{document}
\maketitle

\tableofcontents

\section{Test text citing bib}
This\cite{Unicode} is a reference to the entire standard and this \cite{USTD:3.9} is a reference to section 3.9.

This \cite{ARB:RXU} is a reference to RXU
\printbibliography

\printindex

\end{document}

并且 bib 文件包含

@online{ARB:NewTypes,
    label = {New Types},
    title = {\textit{New types of strings}}
    url   = {https://github.com/RexxLA/rexx-repository/edit/master/ARB/standards/work-in-progress/unicode/UnicodeTools/doc/string-types.md},
    urldate = September 26, 2023
}
@online{ARB:Status,
    label = {Status},
    title = {\textit{New types of strings}}
    url   = {https://github.com/RexxLA/rexx-repository/edit/master/ARB/standards/work-in-progress/unicode/UnicodeTools/doc/string-types.md},
    urldate = September 26, 2023
}
@online{ARB:RXU,
    label = {RXU},
    title = {\textit{New types of strings}}
    url   = {https://github.com/RexxLA/rexx-repository/edit/master/ARB/standards/work-in-progress/unicode/UnicodeTools/doc/string-types.md},
    urldate = September 26, 2023
}
@BOOK{Unicode,
    label     = {Unicode},
    title     = {The Unicode{\textregistered} Standard}.
    subittle  = {Version 15.0 - Core Specification},
    date      = {September 2022},
    isbn      = {978-1-936213-32-0},
    publisher = {The Unicode Consortium},
    url       = {https://www.unicode.org/versions/Unicode15.0.0/},
    urldate   = {September 25, 2023}
}
@BOOK{USTD:3.9,
    label     = {Sec. 3.9},
    title     = {The Unicode{\textregistered} Standard}.
    subittle  = {Version 15.0 - Core Specification},
    date      = {September 2022},
    chapter   = {3.9 Unicode Encoding Forms},
    pages     = {119-129},
    isbn      = {978-1-936213-32-0},
    publisher = {The Unicode Consortium},
    url       = {https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf#page=50},
    urldate   = {September 25, 2023}
}
@ONLINE{UCD},
    label     = {UCD},,
    title     = {Unicode{\textregistered} Character Database (UCD)},
    url       = {https://www.unicode.org/ucd/},
    urldate   = {September 25, 2023}
}
@ONLINE{CLDR,
    label     = {Unicode CLDR Project},
    title     = {Unicode{\textregistered} Common Locale Data Repository (CLDR)}
    url       = {https://cldr.unicode.org/},
    urldate   = {September 25, 2023}
}
@ONLINE{UAX15,
    label     = {UAX 15},
    title     = {Unicode{\textregistered} Standard Annex 15},
    subtitle  = {Unicode Normalization Forms},
    url       = {https://cldr.unicode.org/},
    urldate   = {September 25, 2023}
@ONLINE{UAX29,
    label     = {UAX 29},
    title     = {Unicode{\textregistered} Standard Annex 15},
    subtitle  = {Unicode Text Segmentation},
    url       = {https://www.unicode.org/reports/tr29/},
    urldate   = {September 25, 2023}
@ONLINE{UAX31,
    label     = {UAX 31},
    title     = {Unicode{\textregistered} Standard Annex 32},
    subtitle  = {Unicode Identifier and Pattern Syntax},
    url       = {https://www.unicode.org/reports/tr31/},
    urldate   = {September 25, 2023}
@ONLINE{UAX42,
    label     = {UAX 42},
    title     = {Unicode{\textregistered} Standard Annex 42},
    subtitle  = {Unicode Character Database in XML},
    url       = {https://www.unicode.org/reports/tr42/},
    urldate   = {September 25, 2023}
@ONLINE{UAX44,
    label     = {UAX 44},
    title     = {Unicode{\textregistered} Standard Annex 44},
    subtitle  = {Unicode Character Database},
    url       = {https://www.unicode.org/reports/tr44/},
    urldate   = {September 25, 2023}
}

@ONLINE{UTS10,
    label     = {Unicode{\textregistered} Technical Standard #10},
    title     = {Unicode{\textregistered} Technical Standard #10},
    subtitle  = {Unicode Collation Algorithm},
    url       = {https://www.unicode.org/reports/tr10/},
    urldate   = {September 25, 2023}
}
@ONLINE{UTS18,
    label     = {Unicode{\textregistered} Technical Standard #18},
    title     = {Unicode{\textregistered} Technical Standard #18},
    subtitle  = {Unicode Regular Expressions},
    url       = {https://www.unicode.org/reports/tr18/},
    urldate   = {September 25, 2023}
}
@ONLINE{UTS55,
    label     = {Unicode{\textregistered} Technical Standard #55},
    title     = {Unicode{\textregistered} Technical Standard #55},
    subtitle  = {Unicode Source Code Handling},
    url       = {https://www.unicode.org/reports/tr55/},
    urldate   = {September 25, 2023}
}

一旦我让它工作起来,我想为 texworks 创建一个新的菜单选项来执行 lualatex、index 和 biber,使用 latexmk 或 texify。

答案1

在解决了一些初始问题之后,我能够从命令行运行 biber 并读取消息。它总是在第一个语法错误时停止并写入一条消息,该消息引用了不存在的目录中的临时文件。但是,行号与它读取的最后一个 bib 文件相匹配。

我在从命令行运行 lualatex 时遇到了问题,因此我为 latexmk 创建了一个 Typeset 菜单选项,并且在纠正错误后能够获得正确的输出。

底线是:忽略错误消息中的名称并转到上一个文件读取消息中的该行号。

谢谢。

相关内容