请教遇到的一个 latex 问题

在完成 Evolution of Emacs Lisp 的翻译后,我原本打算从零开始学习 Latex,然后将翻译的文本使用 pdf 输出,不过在我联系作者后才发现他已经把文章的源代码放到了 github 上,因此我直接 fork 了他的代码并创建了自己的 main-zh.tex: include-yy/hopl-4-emacs-lisp。我是用的 Latex 发行版是 miktex-23.4 ,操作系统是 Windows 10。选项是 XeLaTeX + MakeIndex + BibTex

我对原文档除文本以外的主要修改是添加了如下包:

%% CJK setting
\usepackage{xeCJK}
\setCJKmainfont{SimSun}
\punctstyle{banjiao}

我遇到的问题是无法使用原版本的 main.tex 中的 \bibliographystyle{ACM-HOPL-Reference-Format} ,如果这样则会出现不知所云的报错:

2023-05-22 11:14:09,942+0800 INFO  texify.core - start process: miktex-bibtex.exe main-zh
2023-05-22 11:14:11,639+0800 FATAL texify.core - BibTeX failed for some reason.
2023-05-22 11:14:11,639+0800 FATAL texify.core - Data: 
2023-05-22 11:14:11,639+0800 FATAL texify.core - Source: Programs\MiKTeX\texify\mcd.cpp:1363
2023-05-22 11:14:11,642+0800 FATAL texify - BibTeX failed for some reason.
2023-05-22 11:14:11,642+0800 FATAL texify - Info: 
2023-05-22 11:14:11,642+0800 FATAL texify - Source: Programs\MiKTeX\texify\mcd.cpp
2023-05-22 11:14:11,642+0800 FATAL texify - Line: 1363

不论是 main.tex 还是 main-zh.tex 在使用 \bibliographystyle{ACM-HOPL-Reference-Format} 时都会遇到这个问题。当我将它改为 \bibliographystyle{plainnat} 后可以正常输出 pdf,但最后的 reference 格式与原文档不一致,这应该是没有使用源代码目录中的 ACM-HOPL-Reference-Format.bst 的原因。

有没有遇到过相似情况的同学?这种情况下最可能出现问题的应该是这个 bst 文件吗?

你先试试能不能编译他原来的 TeX 文件来排除是不是 miktex 的问题

仔细看了下你的意思是编译他的原版也编译不过,那我觉得问题最大可能是你应该用 biber 而不是 bibtex,因为虽然都是 bib 文件,这两个工具其实是不兼容的,而且 biber 更流行一些。

biber 和 bibtex 的关系参考 bibliographies - bibtex vs. biber and biblatex vs. natbib - TeX - LaTeX Stack Exchange

至于怎么给 miktex 设置 biber 我就不知道了,没用过 windows 上的 TeX

1 个赞

image

不能编译,那可能就是 Miktex 的问题的,我换个环境试试

既然有 bst 文件,那基本确认是 biber 而不是 bibtex 了。

好的,我去试试

看了下用的是 natbib,只支持 bibtex 而不是 biber,那看来是 miktex 的锅了

龟速安装 texlive 中

明天试试

我给你编译好了,QQ发你?

那看来就是 Miktex 的问题了 :joy:

用论坛新的私聊发你了

你这个 texify.log,能否私发绘我看看。