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