计算插入图像的调整大小因子

计算插入图像的调整大小因子

将图像插入 LaTeX 文档时,其大小可能会由于不同原因而被调整。

我需要计算原始图像插入文档时的大小调整了多少 - 对此有什么想法吗?

\begin{figure}
\centerline{
\includegraphics[width=\textwidth]{image1}
}
\caption{Image 1 (resized by a factor of **???**}
\label{fig:image1}
\centering
\end{figure}

根据 Christian Hupfer 的回答进行编辑 感谢您的建议,它完美地发挥了作用。这是我的工作代码和编译后的 PDF 的屏幕截图:

\documentclass{article}

\usepackage{showframe}
\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{xfp}

\begin{document}

\newlength\scaledwidth
\begin{figure}
\centering
\newbox\mybox
\setbox\mybox=\hbox{\includegraphics[scale=1]{test}}

\setlength\scaledwidth{\textwidth}
\includegraphics[width=\scaledwidth]{test}

\caption{Image 1 (resized to \fpeval{round((\scaledwidth/\wd\mybox)*100,2)}\% of the original image size)}
\label{fig:image1}
\end{figure}

\begin{figure}
\centering
\newbox\mybox
\setbox\mybox=\hbox{\includegraphics[scale=1]{test-small}}

\setlength\scaledwidth{\textwidth}
\includegraphics[width=\scaledwidth]{test-small}

\caption{Image 2 (resized to \fpeval{round((\scaledwidth/\wd\mybox)*100,2)}\% of the original image size)}
\label{fig:image2}
\end{figure}

\end{document}

编译后的 PDF 文档的第一页 - 图像大于文本宽度 编译后的 PDF 文档的第二页 - 图像大于文本宽度

答案1

以下是获取缩放因子的一种可能解决方案:将图像存储在名为的框中,\mybox并使用 获取其宽度。为缩放宽度定义另一个长度,并从 的结果中\wd\mybox获取 的缩放因子,舍入限制为 2 位小数,即在 内。\fpeval\scaledwidth/\wd\myboxround(\scaledwidth/\wd\mybox,2)\fpeval

\documentclass{article}

\usepackage{showframe}
\usepackage{graphicx}
\usepackage{siunitx}
\usepackage{xfp}
\begin{document}

\newlength\scaledwidth
\begin{figure}
\centering
\newbox\mybox
\setbox\mybox=\hbox{\includegraphics[scale=1]{ente}}

\setlength\scaledwidth{\textwidth}
\includegraphics[width=\scaledwidth]{ente}

\caption{Image 1 (resized by a factor of \fpeval{round(\scaledwidth/\wd\mybox,2)}}
\label{fig:image1}
\end{figure}

\end{document}

在此处输入图片描述

相关内容