从左侧位置开始绘制图片,然后将其放大至填满整个页面

从左侧位置开始绘制图片,然后将其放大至填满整个页面

我有一张需要显示的图片,因此它占据了大部分页面(确切地说是页面的总宽度)。图片本身的宽度大于高度,并且宽度太大,以至于大于页面的宽度。

到目前为止,我遇到的问题是我无法让图像准确地从页面的开始处(页面的左侧)开始,直到页面的右边框(高度无关紧要,因为图片的高度较小,并且它将垂直居中)。

即使width=\papwerwidth图片没有从一个边界开始并转到另一个边界(也使用\noindent)。所以问题是我该怎么做才能实现我的目标?

\documentclass[11pt,a4paper,BCOR10mm,DIV11,toc=listof,parskip=full]{scrbook}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{booktabs}            
\usepackage{multicol}  

\begin{document}
\newpage
\includegraphics{xyz.jpg}
\end{document}

编辑:将 [width=\paperwidth] 添加到 includegraphics 缩放图像,但部分图像被截断,我猜这是因为图像不是从左边界开始的。

答案1

这是一个解决方案,需要ifoddside包。这个想法是将插入点放在物理的正中心,使用不可见的规则,然后插入缩放到纸张宽度的图片并放在零宽度的框中:

     \documentclass[a4paper]{book}

    \usepackage[utf8]{inputenc}
    \usepackage[nomarginpar]{geometry}
    \usepackage{graphicx}
    \usepackage{ifoddpage}

    \newlength{\relevantmargin}
    \newcommand\insertpaperwidth[1]{%
    \checkoddpage\setlength{\relevantmargin}{\ifoddpageoroneside\oddsidemargin%
    \else\evensidemargin\fi}
    \par\noindent\hspace*{\dimexpr 0.5\paperwidth-1in -\hoffset -\relevantmargin\relax}%
    \makebox[0pt]{\includegraphics[width = \paperwidth]{#1}}}%

    \usepackage{lipsum}

    \begin{document}

     \lipsum[1-4]
     \vspace{2ex}

    \insertpaperwidth{Piero_di_Cosimo_1}

    \lipsum[5]\vspace{2ex}

    \insertpaperwidth{Piero_di_Cosimo_1}

    \end{document} 

在此处输入图片描述

相关内容