我正在尝试插入一个图形并将其拉伸到文本宽度和文本高度。我得到了一个满框和一个图形前的空白页。但是当我只在水平方向拉伸而不是垂直方向拉伸时,它就可以正常工作。为什么我不能在两个方向上拉伸?
这正如我所愿
\documentclass[]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\setlength{\parindent}{0pt}
\pagestyle{empty}
\begin{document}
\includegraphics[height=\textheight]{example-image-a}
\end{document}
但这会导致 vbox 溢出,页面空白
\documentclass[]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\setlength{\parindent}{0pt}
\pagestyle{empty}
\begin{document}
\includegraphics[height=\textheight, width=\textwidth]{example-image-a}
\end{document}
唯一的区别是width=\textwidth
。
答案1
问题似乎出在四舍五入上。更改
\includegraphics[height=\textheight, width=\textwidth]{example-image-a}
到
\includegraphics[height=.9999\textheight, width=\textwidth]{example-image-a}
解决了这个问题,而额外9
的
\includegraphics[height=.99999\textheight, width=\textwidth]{example-image-a}
再次打破它。如果考虑到约束高度和宽度不是一个纯粹的尺度,而是需要几个约束长度乘法来确定最终的方面和维度尺度,那么这种舍入问题就不应该太令人惊讶了。
此 MWE 演示了此问题:
\documentclass[]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\setlength{\parindent}{0pt}
\pagestyle{empty}
\newsavebox\tmpbox
\begin{document}
\the\textheight{} actual textheight
\savebox\tmpbox{\includegraphics[height=.9999\textheight,width=\textwidth]{example-image-a}}
\the\ht\tmpbox{} .9999 is below
\savebox\tmpbox{\includegraphics[height=.99999\textheight,width=\textwidth]{example-image-a}}
\the\ht\tmpbox{} .99999 is above
\savebox\tmpbox{\includegraphics[height=\textheight,width=\textwidth]{example-image-a}}
\the\ht\tmpbox{} scaled to textheight is above
\end{document}