设置

设置

设置

我在用橡皮编译我的乳胶文档。在我的根文件夹中main.tex,我有mybib.bib(均来自这里) 和Makefile

main.tex

\documentclass[11pt]{article}
\usepackage{cite}

\begin{document}

\title{My Article}
\author{Nobody Jr.}
\date{Today}
\maketitle

Blablabla said Nobody ~\cite{Nobody06}.

\bibliography{mybib}{}
\bibliographystyle{plain}
\end{document}

mybib.bib

@misc{ Nobody06,
       author = "Nobody Jr",
       title = "My Article",
       year = "2006" }

Makefile

.PHONY: clean

LATEX_SRC=$(wildcard *.tex)
REFS=$(wildcard *.bib)

all: main.pdf

%.pdf: %.tex $(LATEX_SRC) $(REFS)
    mkdir -p build
    rubber --into build --short --pdf $<
    rubber-info --into build --check $<

clean:
    rm -rf build

跑步make会抱怨

running: bibtex main.aux...
[biblio] There were errors running bibtex.
build/main.aux:3: [bibtex] I couldn't open database file mybib.bib

解决方法

\bibliography{mybib}{}\bibliography{../mybib}{}in替换main.tex是一种有效的解决方法。

问题

现在,我该如何获得橡皮告诉BibTeX正确的文件夹?main.texmyref.bib都是rubber,所以我不确定如何BibTeX看不到后者。我的main.aux包含行\bibdata{mybib},这导致了问题,这就是为什么将添加../main.tex给出了一个可行的解决方案,但我更了解如何使用橡皮而不是亲自修补它的行为,因为我相信我可能会滥用它。

答案1

将此行添加到主 LaTeX 文件确实可以解决问题。

% rubber: bibtex.path ../

现在 BibTeX 将了解该项目的文件结构。

相关内容