Grazie mille Enrico!
Ci sarebbero un paio di correzioni che farei:
`\newdimen\tempheight
\newbox\imageA
\newbox\imageB
\def\reductionratio{1}
\newcommand{\twoimages}[2]{%
\sbox\imageA{\includegraphics{#1}}%
\sbox\imageB{\includegraphics{#2}}%
\ifdim\ht\imageA>\ht\imageB
\tempheight=\ht\imageB
\else
\tempheight=\ht\imageA
\fi
\sbox\imageA{\includegraphics[height=\tempheight]{#1}}%
\sbox\imageB{\includegraphics[height=\tempheight]{#2}}%
\tempheight=\dimexpr\wd\imageA+\wd\imageB\relax
\ifdim\tempheight>.98\columnwidth\calculateratio\fi
\scalebox{\reductionratio}{\box\imageA} \hfill
\scalebox{\reductionratio}{\box\imageB}}
\def\calculateratio{\edef\reductionratio{0.%
\number\numexpr\number\dimexpr.98\columnwidth\relax/
\number\dimexpr.01\tempheight\relax}}`
La prima correzione è una semplice svista, le successive sono per evitare che il 2em di spaziatura venga scalato anch’esso, ottenendo una spaziatura troppo piccola nel caso di grandi immagini.In realtà, avrei bisogno ancora di aiuto. Pensavo di includere gli \includegraphics in \parbox per ottenere due immagini affiancate, non logicamente correlate (quindi non subfig), con rispettive didascalie. La tecnica è spiegata nell’introduzione del manuale di subfig. Tutti i calcoli nel post precedente erano quindi indirizzati anche a fornire il parametro giusto al parbox. Come si potrebbe fare in questo caso?
`\documentclass[a4paper]{article}
\usepackage{graphicx}
\newdimen\tempheight
\newbox\imageA
\newbox\imageB
\def\reductionratio{1}
\newcommand{\computefortwoimages}[2]{%
\sbox\imageA{\includegraphics{#1}}%
\sbox\imageB{\includegraphics{#2}}%
\ifdim\ht\imageA>\ht\imageB
\tempheight=\ht\imageB
\else
\tempheight=\ht\imageA
\fi
\sbox\imageA{\includegraphics[height=\tempheight]{#1}}%
\sbox\imageB{\includegraphics[height=\tempheight]{#2}}}
\def\computeratio{\edef\reductionratio{0.%
\number\numexpr\number\dimexpr.98\columnwidth\relax/\number\dimexpr.01\tempheight\relax}}
\newcommand{\twoimages}[2]{%
\computefortwoimages{#1}{#2}%
\tempheight=\dimexpr\wd\imageA+\wd\imageB\relax
\ifdim\tempheight>.98\columnwidth\computeratio\fi
\scalebox{\reductionratio}{\box\imageA}\hfill
\scalebox{\reductionratio}{\box\imageB}}
\newcommand{\twofigures}[4]{%
% #1=file esterno (sinistra)
% #2=\caption[…]{…}\label{…}
% #3=file esterno (destra)
% #4=\caption[…]{…}\label{…}
\computefortwoimages{#1}{#3}%
\tempheight=\dimexpr\wd\imageA+\wd\imageB\relax
\ifdim\tempheight>.98\columnwidth\computeratio\fi
\hbox to\hsize{%
\vtop{\parindent=0pt\hsize=\reductionratio\wd\imageA
\scalebox{\reductionratio}{\box\imageA}#2}%
\hfill
\vtop{\parindent=0pt\hsize=\reductionratio\wd\imageB
\scalebox{\reductionratio}{\box\imageB}#4}%
}%
}
\begin{document}
\begin{center}
\twoimages{try}{duck}
\end{center}
\begin{center}
\twoimages{efield-dipole}{pgf-apple}
\end{center}
\begin{figure}
\twofigures{try}{\caption[abc]{Didascalia}}
{duck}{\caption{Questa paperella porta una didascalia molto lunga e vediamo che succede}}
\end{figure}
\end{document}`
Sostituisci i nomi dei file grafici per fare le tue prove.
Ciao
Enrico