按比例缩小图像,但不按比例放大图像
时间:2020-03-06 14:36:44 来源:igfitidea点击:
我有一个包含includegraphics命令的命令,可以将图像传递给我的命令,在实际包含该图像之前,它将为我做一些标准格式化。我通过此命令包含的某些图像小于\ textwidth,而另一些则更大。我想将较大的图像缩小到\ textwidth,而不是将较小的图像放大到这,这意味着我不能做
\includegraphics[width=\textwidth]{img}
有没有办法指定最大宽度?或者,我可以以某种方式获得图像的宽度,这样我可以做类似的事情
\ifthenelse{\imagewidth > \textwidth}{% \includegraphics[width=\textwidth]{img}}{% \includegraphics{img}}
解决方案
经过几分钟的CTAN手册和Google搜索结果,我认为我可以肯定地说,我们想做的事情是不可能的,或者是很难的。我唯一的建议是我们有两个命令,一个用于小图像,一个用于大图像,或者一个带有选项的命令。
可能有办法,但我将其留给其他S.O. LaTeX向导提供了更好的答案。
编辑:我错了,见上文。
要获取图像的宽度,可以使用以下代码:
\newlength{\imgwidth} \settowidth{\imgwidth}{\includegraphics{img}}
我们可以在文档序言中使用此命令创建一个新命令来自动设置宽度:
\usepackage{graphicx} \usepackage{calc} \newlength{\imgwidth} \newcommand\scalegraphics[1]{% \settowidth{\imgwidth}{\includegraphics{#1}}% \setlength{\imgwidth}{\minof{\imgwidth}{\textwidth}}% \includegraphics[width=\imgwidth]{#1}% }
然后,在文档中:
\scalegraphics{img}
我希望这有帮助!