我正在使用latex
-> dvips
->ps2pdf
创建 pdf 文档。在环境中使用natbib
的命令时,我遇到了麻烦,它不会在引用周围创建框引用,而只会“下划线”。没有一切正常。也可以正常工作。即使在 之外也可以正常工作。这种奇怪行为的原因可能是什么?..\cite
tabular
hyperref
natbib
pdflatex
tabular
natbib
这是一个简单的例子:
\documentclass{article}
\usepackage{hyperref}
\usepackage[numbers]{natbib}
\begin{document}
\cite{miranda:1999:3581}
\bigskip
\begin{tabular}{|c|}
\hline
\cite{miranda:1999:3581}\\
\hline
\end{tabular}
\bibliography{papers_litstudy_diplexer}
\bibliographystyle{plain}
\end{document}
输出:
答案1
这发生在pdfmark
驱动程序上(dvips
、dvipsone
、...)。生成链接的主要方法有两种:
\hyper@link
:将链接放入盒子中并测量矩形。\hyper@linkstart
...\hyper@linkend
:在链接的开头写了一个 PostScript 特殊字符,在链接结束时,可以测量宽度。但链接的高度未知,因此\baselineskip
用作近似值。
如果是natbib
,则\cite
使用后一种方法。但是,\baselineskip
在 内为零tabular
。因此链接矩形缩小为“线”。
作为解决方法,\baselineskip
可以明确设置:
\documentclass{article}
\usepackage{hyperref}
\usepackage[numbers]{natbib}
\begin{document}
\cite{miranda:1999:3581}
\bigskip
\begin{tabular}{|c|}
\hline
\setlength{\baselineskip}{10pt}%
\cite{miranda:1999:3581}\\
\hline
\end{tabular}
\begin{thebibliography}{9}
\bibitem{miranda:1999:3581}Miranda.
\end{thebibliography}
\end{document}