目录树

目录树

目录树

.
├── 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 上尝试过,超链接按预期工作。

相关内容