无法使用 ~/Library/texmf 中的 bib 文件

无法使用 ~/Library/texmf 中的 bib 文件

Zotero.bib我的本地 texmf 文件夹中有一个文件夹/Users/jumpdiffusion/Library/texmf。不知何故,kpsewhich 无法找到该 bib 文件。这是带有输出的终端会话。

work/tmp/test_biblatex
❯ kpsewhich -var-value TEXMF
{{}/Users/jumpdiffusion/Library/texlive/2022/texmf-config,/Users/jumpdiffusion/Library/texlive/2022/texmf-var,/Users/jumpdiffusion/Library/texmf,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2022/texmf-config,!!/usr/local/texlive/2022/texmf-var,!!/usr/local/texlive/2022/texmf-dist}

work/tmp/test_biblatex
❯ kpsewhich -var-value TEXMFLOCAL
/usr/local/texlive/texmf-local

work/tmp/test_biblatex
❯ kpsewhich -var-value TEXMFHOME
/Users/jumpdiffusion/Library/texmf

work/tmp/test_biblatex
❯ ll ~/Library/texmf
total 8
drwxr-xr-x  3 jumpdiffusion  staff    96B Oct 28 11:49 bib/
-rw-r--r--  1 jumpdiffusion  staff   110B Oct 28 13:34 ls-R

work/tmp/test_biblatex
❯ ll ~/Library/texmf/bib
total 680
-rw-------@ 1 jumpdiffusion  staff   339K Oct 28 11:49 Zotero.bib

work/tmp/test_biblatex
❯ ll
total 16
-rw-r--r--  1 jumpdiffusion  staff     0B Oct 28 13:22 test_bib.bbl
-rw-r--r--  1 jumpdiffusion  staff   2.2K Oct 28 13:35 test_bib.run.xml
-rw-r--r--  1 jumpdiffusion  staff   391B Oct 28 13:23 test_bib.tex

work/tmp/test_biblatex
❯ kpsewhich Zotero.bib

work/tmp/test_biblatex
❯ # no output from previous command

因此,我无法让 bibtex 处理这个示例

\documentclass{article}

\usepackage{geometry}
\geometry{margin=1in}

\usepackage{biblatex}
\bibliography{Zotero.bib}
%\bibliogrpahy{Zotero}

\title{testing zotero bib}
\author{jd}
\date{\today}
%created on oct 28, 2022

\begin{document}
\maketitle

\begin{equation}
    \exp(i\pi) + 1 = 0
\end{equation}

\cite{abbott2015understanding}

\printbibheading
\printbibliography

\end{document}

我在 M1 Mac mini 上使用最新的 MacTeX。

答案1

在 MacTeX 安装的 TeX Live 下,个人树的根是~/Library/texmf。创建后,您必须将个人文件放入标准 TeX Live 树结构中。因此(bib|bst)文件分别进入bibtex/(bib|bst}子目录(或这些目录的子目录)。个人包 (sty) 和类 (cls) 文件应放入tex/latex/该目录的子目录或子目录中。

您可以在 中获得有关 MacTeX 安装的 TeX Live 的更多信息/Applications/TeX/Documents/What is Installed.pdf

答案2

您可能运行了texhash ~/Library/texmf,这是错误的。“个人树”应该被频繁填充,并且不是很大。如果您使用texhash(或mktexlsr,这是更现代的名称),则必须运行它每次您添加一个文件。

您可以注意到,输出中的某些树kpsewhich -var-value=TEXMF前面没有!!:它们不ls-R应该出现任何文件,也不应该在其上运行texhash或。mktexlsr

顺便说一下,仅供参考,该文件ls-R是由 生成的texhash。如果与库链接的程序kpse在树的顶部找到它,它会使用它进行文件查找,这似乎是导致问题的原因。

答案3

根据 Herb Schulz 在问题下方的评论,我自己回答。.bib文件应放在 中~/Library/texmf/bibtex/bib。现在 bib 文件对 latex、xelatex 等可见。

我的错误是将.bib文件保存在~/Library/texmf/bib

相关内容