0

I am trying to use biblatex with backend=biber from MikTex and am getting error messages.

If I run with LuaLaTeX+makebib from the MikTex Typeset dropdown menu, I get clean output with no bibliography. If I run lualatex and biber separately from that menu, I get the error messages

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

I was expecting that file to be created by the biblatex package. Should I stop using the individual LuaLaTeX and biber items on the Texworrks Typeset drop-down menu and go straight to creating a LuaLaTeX+MakeIndex+biber entry using texify or latexmk rather than first trying to get them to work separately? If so, which is the better choice?

The document is

\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}

and the bib files contain

@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} }

Once I have it working, I'd like to create a new menu option for texworks to do lualatex, index and biber, using either latexmk or texify.

shmuel
  • 1,449
  • Did you run lualatex before biber? I can only reproduce the error if I omit the run of lualatex. Did the .bcf file in fact get made? – John Collins Sep 27 '23 at 00:03
  • Is your editor configured to delete temporary files after compiling? If you then run the tools separately, Biber won't find the files to work with. – cfr Sep 27 '23 at 00:29
  • Check your configuration against https://tex.stackexchange.com/q/154751/35864. You need to run Biber on the base name of your main .tex file (i.e. the name of your .tex file without the file extension: if your file is called mymain.tex, run Biber mymain). As such the error messages look a bit odd as they suggest your file is called Test.Bib.tex (which would be OK-ish, but the dots might be confusing). Note also that you should disable features like "use a 'build' folder" or that delete temporary files after each run as they will confuse or block Biber from working. – moewe Sep 27 '23 at 06:29
  • MikTex already had biber in the menu. The problem is that either lualatex (run from the menu) is not creating the required file or MikTex is deleting it. Should I create a menu item for texify or latexmk and, if so, with what options for index+biber and which is the better choice? If the problem is that Texworks is deleting the file, is there a way to suppress that without changing the menu? – shmuel Sep 27 '23 at 11:50
  • First drop using texify and manually run the commands to verify that they work. – daleif Sep 27 '23 at 12:10
  • It only makes sense to use helper tools like texify or latexmk once you have verified that your setup works in principle. Since you can't get anything to work at the moment, don't waste your time with them. First of all make sure your OS does not hide file extensions from you: Configure your file browser so that you see all file extensions. Delete all temporary files (.aux, .bbl, .bcf, .blg, .log). Then run LuaLaTeX once on the main .tex file. This run must not have any errors. If there are errors, resolve them. ... – moewe Sep 27 '23 at 15:42
  • ... Warnings are fine if they are about undefined references and the like. If the LuaLaTeX run finishes successfully you should see a .bcf file in the same directory as your main .tex file. Then run Biber - again on the main .tex file. The .bcf file should be found and everything should ideall work smoothly. Then run LuaLaTeX twice more. If that does not work for some reason, I suggest to compile from the command line instead of via your editor's GUI. That way we can ensure that the editor does not interfere. – moewe Sep 27 '23 at 15:43
  • It will only become an issue once Biber runs correctly, but urldate = September 26, 2023 is wrong. The curly braces can only be omitted from a field value if the value is purely numerical (which is not the case here). Plus biblatex's date fields must be populated in ISO 8601 format, so you'd want urldate = {2023-09-26}, here. urldate = {September 25, 2023} is also wrong and should similarly be urldate = {2023-09-25}. – moewe Sep 27 '23 at 15:50
  • I'm a bit confused; are you suggesting that I run lualatex manually from Texworks or from the command line? Also, is there any documentation that shows defaults for lualatex options? – shmuel Sep 27 '23 at 21:32
  • If you prefer running from TeXworks start with TeXworks. If that works that's great and we don't need to worry about the command line. If that still does not work, going to the command line would be a good idea, though. If you prefer the command line anyway, start with the command line right away. You shouldn't have to worry about options for a start. Just run lualatex mydoc, biber mydoc, lualatex mydoc, lualatex mydoc (assuming your main .tex file is called mydoc.tex) in the document directory. (https://tex.stackexchange.com/q/63852/35864 has some background info.) – moewe Sep 28 '23 at 06:17

1 Answers1

1

After some initial problems I was able to run biber from the command line and read the messages. It was consistently stopping on the first syntax error and writing a message referring to a temporary file in a directory that did not exist. However, the line numbers matched the last bib file it read.

I had problems running lualatex from the command line, so I created a Typeset menu option for latexmk and was able to get correct output after correcting the errors.

Bottom line; ignore the name in the error messages and go to that line number in the previous file read message.

Thanks.

shmuel
  • 1,449