如何缩放多个子图/子浮点,使最大的图片与文本宽度正确匹配,而其他所有图片都按与最大图片相同的比例缩放。背景是所有图片都包含字体,并且要求所有子图片中的字体大小相等?
有没有一种优雅的方法,使用标准方式来表示最新的数字?
\begin{figure}[h]
\centering
\subfloat[]{\includegraphics[scale=1]{abb/1.pdf}} \\
\subfloat[]{\includegraphics[scale=1]{abb/2.pdf}} \\
\subfloat[]{\includegraphics[scale=1]{abb/3.pdf}} \\
\subfloat[]{\includegraphics[scale=1]{abb/4.pdf}}
\caption{}
\label{UpDown}
\end{figure}
先感谢您!
答案1
该解决方案使用 saveboxes 来测量宽度,并使用 pgfmath 来计算比例。
\documentclass{article}
\usepackage[paperheight=30in, margin=1in]{geometry}% to fit images on page
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{adjustbox}
\usepackage{pgfmath}
\newlength{\maxwidth}
\begin{document}
\begin{figure}[htp]
\sbox0{\includegraphics{example-image}}\maxwidth=\wd0
\sbox1{\includegraphics{example-image-golden-upright}}\ifdim\wd1>\maxwidth \maxwidth=\wd1 \fi
\sbox2{\includegraphics{example-image-10x16}}\ifdim\wd2>\maxwidth \maxwidth=\wd2 \fi
\sbox3{\includegraphics{example-image-9x16}}\ifdim\wd3>\maxwidth \maxwidth=\wd3 \fi
\pgfmathdivide{\linewidth}{\maxwidth}%
\centering
\subfloat[]{\scalebox{\pgfmathresult}{\usebox0}} \\
\subfloat[]{\scalebox{\pgfmathresult}{\usebox1}} \\
\subfloat[]{\scalebox{\pgfmathresult}{\usebox2}} \\
\subfloat[]{\scalebox{\pgfmathresult}{\usebox3}}
\caption{}
\label{UpDown}
\end{figure}
\end{document}