我正在尝试在 Windows 上设置 Notepad++,以便可以使用它编译 LaTeX 文档这非常好的解决方案,使用批处理文件编译我的文档。
但是,给出的示例使用了bibtex
,而我更喜欢使用biber
。
我尝试简单地用替换bibtex
批处理文件中的所有引用biber
,但在编译时出现错误,例如
LaTeX Warning: Empty bibliography on input line 19.
LaTeX Warning: There were undefined references.
Package biblatex Warning: Please (re)run Biber on the file:
(main) main
(main) and rerun LaTeX afterwards.
除了参考书目之外,文档编译正确,参考书目未找到,无法编译。我知道问题一定出在批处理文件上,因为我的 MWE 可以使用 TeXStudio 编译,也可以通过cmd
使用命令手动编译
cd [path to directory]
pdflatex main.tex
biber main
pdflatex main.tex
梅威瑟:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber, style=ieee, sorting=ynt]{biblatex}
\addbibresource{bibliography.bib}
\title{A Minimum Working Example}
\date{}
\begin{document}
\maketitle
\tableofcontents
\section{Citing a Thing}
\cite{QuackQuack}
\printbibliography[heading = bibintoc]
\nocite{*}
\end{document}
参考书目:
@article{QuackQuack,
author = {A. Author},
title = {Quack quack quack},
journaltitle = {Journal of Ducks},
volume = {1},
pages = {1},
year = {2016}
}
批处理文件:
::I don't know what the next line does
%~d1
::sets working directory
cd %1
::calls pdflatex and biber on my file
pdflatex %2
biber %2
pdflatex %2
pdflatex %2
::opens/refreshes the pdf in SumatraPDF
START "" "C:\Program Files\SumatraPDF\SumatraPDF.exe" %3 -reuse-instance
我检查过这问题,并确保我的 MiKTeX 安装和所有软件包都是最新的
我在网上找不到任何其他解决方案,这个问题难倒了我问过的每个人——任何帮助都将不胜感激
答案1
我找到了解决问题的方法:
我运行的批处理脚本有三个参数-
"$CURRENT_DIRECTORY"
,在脚本中表示为%1
,
"$(NAME_PART).tex"
,表示为%2
和
"$(NAME_PART).pdf"
,代表%3
这是将参数“main.tex”传递给biber
,这导致了问题的出现。我编辑了脚本以接受 4 个参数,现在%3
传递了"$NAME_PART"
,现在将其提供给 biber ,%4
现在传递了之前传递给 的值%3
修改后的脚本内容如下:
%~d1
cd %1
pdflatex %2
biber %3
pdflatex %2
START "" "C:\Program Files\SumatraPDF\SumatraPDF.exe" %4 -reuse-instance
这成功编译了参考书目和所有参考资料。我得出的结论是,biber 不喜欢被赋予带有扩展名的文件名.tex
,而更喜欢被赋予不带扩展名的文件名