我有一个包含includegraphics命令的命令 - 我可以将图像传递给我的命令,它会在实际包含图像之前为我做一些标准格式化.我通过此命令包含的一些图像小于\ textwidth,而有些则更大.我想将较大的图像缩小到\ textwidth,而不是缩小较小的图像 - 这意味着我不能只做
\includegraphics[width=\textwidth]{img}
有没有办法指定最大宽度?或者,我能以某种方式得到图像的宽度,所以我可以做类似的事情
\ifthenelse{\imagewidth > \textwidth}{% \includegraphics[width=\textwidth]{img}}{% \includegraphics{img}}
ChrisN.. 18
要获得图像的宽度,您可以使用以下代码:
\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}
我希望这有帮助!
要获得图像的宽度,您可以使用以下代码:
\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}
我希望这有帮助!