插入图形并拉伸至文本宽度、文本高度

插入图形并拉伸至文本宽度、文本高度

我正在尝试插入一个图形并将其拉伸到文本宽度和文本高度。我得到了一个满框和一个图形前的空白页。但是当我只在水平方向拉伸而不是垂直方向拉伸时,它就可以正常工作。为什么我不能在两个方向上拉伸?

这正如我所愿

\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}

enter image description here

相关内容