我有一张需要显示的图片,因此它占据了大部分页面(确切地说是页面的总宽度)。图片本身的宽度大于高度,并且宽度太大,以至于大于页面的宽度。
到目前为止,我遇到的问题是我无法让图像准确地从页面的开始处(页面的左侧)开始,直到页面的右边框(高度无关紧要,因为图片的高度较小,并且它将垂直居中)。
即使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}