使用 texlive 2016 时,我注意到缩放图像不会改变其边界框 - 生成的边界框的尺寸与原始图像的尺寸相似。
这可能会在图像的顶部和右侧留下“丑陋”的空白区域,但更重要的是,如果缩放图像应该是超链接。
梅威瑟:
\documentclass[a4paper,10pt]{article}
\RequirePackage{url}
\RequirePackage[xetex]{graphicx}
\RequirePackage{float}
\newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true,
pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true,
colorlinks=false,linkcolor={black},citecolor={black},
urlcolor={blue},
pdftitle={},
pdfsubject={},
pdfauthor={},
pdfkeywords={}}
\usepackage[\MYhyperrefoptions,breaklinks=true,xetex]{hyperref}
\begin{document}
\begin{figure}[H]
\centering
\fbox{\href{http://crun.chy}{\includegraphics[scale=0.11]{a}}}
\hspace*{5em}
\fbox{\href{http://chun.ky}{\includegraphics[scale=0.13]{b}}}
\caption{Click to enlarge}
\end{figure}
\begin{figure}[H]
\centering
\fbox{\href{http://crun.chy}{\includegraphics{a}}}
\hspace*{5em}
\fbox{\href{http://chun.ky}{\includegraphics{b}}}
\caption{Click to enlarge}
\end{figure}
\end{document}
随意创建两个这样的图像:convert -size 100x100 xc:#990000 a.eps; convert -size 100x100 xc:#009900 b.eps
显然,图像越大,问题就越严重。
我依稀记得这在 2013 年或 2014 年曾经有效 - 有什么变化?这是预期的行为吗?
我可能可以尝试改变视口,但这仅仅是一个手动破解。
有趣的是,第 11 页graphicx 文档似乎没有出现这个问题。
答案1
看来 XeTeX 没有考虑 PostScript 图像分辨率。TeX 宏级别看起来正确;框中的第二幅图像:
\setbox2{\includegraphics[scale=.13]{b}}
\showboxdepth=\maxdimen
\showboxbreadth=\maxdimen
\showbox2
给出正确的尺寸:
> \box2=
\hbox(13.04924+0.0)x13.04924
.\hbox(13.04924+0.0)x13.04924
..\hbox(13.04924+0.0)x13.04924
...\special{PSfile="b.eps" llx=0 lly=0 urx=100 ury=100 rwi=130 }
TeX 级别的框可以通过 进行可视化\fbox
。它们看起来是正确的,请参阅 David Carlisle 的回答。因此,我预计计算链接区域的代码中会出现错误,并且似乎忘记了rwi
PostScript 图像的参数。
解决方法:使用与 PostScript 不同的图像格式:PDF、PNG……
答案2
如果我添加\fbox
以查看图像边界框的范围,并使用 texlive 2016 xelatex 进行处理,我得到
我觉得这还好吗?
\documentclass[a4paper,10pt]{article}
\RequirePackage{url}
\RequirePackage[xetex]{graphicx}
\RequirePackage{float}
\newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true,
pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true,
colorlinks=true,linkcolor={black},citecolor={black},
urlcolor={blue},
pdftitle={},
pdfsubject={},
pdfauthor={},
pdfkeywords={}}
\usepackage[\MYhyperrefoptions,breaklinks=true,xetex]{hyperref}
\begin{document}
\begin{figure}[H]
\centering
\fbox{\href{http://crun.chy}{\includegraphics[scale=0.11]{a}}}
\hspace*{5em}
\fbox{\href{http://chun.ky}{\includegraphics[scale=0.13]{b}}}
\caption{Click to enlarge}
\end{figure}
\begin{figure}[H]
\centering
\fbox{\href{http://crun.chy}{\includegraphics{a}}}
\hspace*{5em}
\fbox{\href{http://chun.ky}{\includegraphics{b}}}
\caption{Click to enlarge}
\end{figure}
\end{document}