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
。