目录树
.
├── bibliography.bib
├── Makefile
├── reference
│ └── test_reference.tex
└── test.tex
文件内容
bibliography.bib
@misc{
reference,
title={Reference title},
author={Reference author},
note={\href{run:reference/test\_reference.pdf}{local file}}
}
Makefile
all: make_reference make_pdflatex make_bibtex make_pdflatex make_pdflatex
make_pdflatex:
pdflatex test.tex
make_bibtex:
bibtex test.aux
make_reference:
pdflatex -output-directory=reference reference/test_reference.tex
reference/test_reference.tex
\documentclass{article}
\begin{document}
I am the reference document
\end{document}
test.tex
\documentclass{article}
\usepackage{cite}
\usepackage{hyperref}
\begin{document}
Blablabla said Nobody ~\cite{reference}
\clearpage
\bibliographystyle{plain}
\bibliography{bibliography}
\end{document}
问题
当我运行时make all
,pdf 成功编译,但是当我在苏门答腊打开 pdf 并尝试访问本地链接时,它显示错误:
未找到文件 \wsl$\Ubuntu\home\username\code\username\latex_se_question\file:\reference\test_reference.pdf
我可以说路径是错误的,这就是它无法找到文件的原因。但我不明白为什么会发生这种情况,因为我在文件中提供了现有路径.bib
。
我在这里做错了什么?
答案1
正如@Ulrike Fischer 在评论中指出的那样,我做的一切都是正确的。本地文件链接问题是一个已知问题由于最近的 MuPDF 更改,SumatraPDF 3.2 版中也出现了此问题。目前看来,唯一的解决方案是恢复到 3.1.2 版,直到开发人员修复该错误。
不管怎样,我在 3.1.2 上尝试过,超链接按预期工作。