![仅当图像宽度超出页面大小时才使用 \textwidth](https://linux22.com/image/244924/%E4%BB%85%E5%BD%93%E5%9B%BE%E5%83%8F%E5%AE%BD%E5%BA%A6%E8%B6%85%E5%87%BA%E9%A1%B5%E9%9D%A2%E5%A4%A7%E5%B0%8F%E6%97%B6%E6%89%8D%E4%BD%BF%E7%94%A8%20%5Ctextwidth%20.png)
可能重复:
只在必要时缩小身材?
假设你有这个:
\includegraphics{some_image_in_pdf.pdf}
现在它将占据其原始宽度,但如果您希望它占据文本宽度的 100%,您可以这样做:
\includegraphics[width=\textwidth]{some_image_in_pdf.pdf}
如果您想包含图像并在其适合时使用其原始大小,否则调整其大小,该怎么办?
在这个例子中,第二幅图像应该被获取,[width=\textwidth]
因为它将超出文档的界限。
\includegraphics{some_image_in_pdf.pdf}
\includegraphics{some_image_in_pdf_that_is_too_wide.pdf}
答案1
这adjustbox
包裹提供了一个max width=\textwidth
关键选项。因此,您可以使用
\usepackage[export]{adjustbox}% http://ctan.org/pkg/adjustbox
...
\includegraphics[max width=\textwidth]{some_image_in_pdf.pdf}
\includegraphics[max width=\textwidth]{some_image_in_pdf_that_is_too_wide.pdf}
答案2
也适用于错误地设置为宽度大于文本宽度的图像:
\documentclass{minimal}
\usepackage{graphicx}
\newsavebox\IBox
\let\Includegrfx\includegraphics
\renewcommand\includegraphics[2][]{%
\sbox\IBox{\Includegrfx[#1]{#2}}%
\ifdim\wd\IBox>\textwidth\resizebox{\textwidth}{!}{\usebox\IBox}\else
\usebox\IBox\fi}
\parindent=0pt % for demo
\begin{document}
\rule{\textwidth}{1pt}
\includegraphics[width=3\textwidth]{tiger}
\end{document}