Duas subfiguras lado a lado, mas nas extremidades

Duas subfiguras lado a lado, mas nas extremidades

Quero colocar duas figuras lado a lado, mas nas extremidades, ou seja, a primeira subfigura deve estar na extrema esquerda e a segunda subfigura deve estar na extrema direita. Como isso pode ser feito? Estou usando o código mostrado abaixo

    \begin{figure}[htp!]
        \begin{subfigure}{0.5\textwidth}
           \includegraphics[scale=0.17]{x.png}
        \end{subfigure}
        \begin{subfigure}{0.2\textwidth}
           \raggedright
           \includegraphics[scale=0.35]{y.png}
        \end{subfigure}
    \end{figure}

Responder1

No (La)TeX você pode incluir comprimentos de largura flexível, os chamados saltos, e pode esticá-los e reduzi-los em ordens de infinito. A \hfillse comporta como um salto de 0pt de largura, mas que se estende com uma segunda ordem de infinito, portanto ocupará tanto espaço quanto disponível (desde que não haja outros \hfills na mesma caixa horizontal). Portanto, podemos \hfillseparar seus subfigures o máximo possível nessa linha.

EDITARAnexando e desenvolvendo as informações fornecidas emComentário de @JohnKormylo:

As ordens do infinito são fil,, fille filll(do menor para o maior, também existe fi, mas isso praticamente nunca é usado e está disponível apenas em Lua(La)TeX). Normalmente, o código do pacote e do kernel deve usar esparsamente o infinito de segunda ou terceira ordem e seguir fil, para que os usuários possam facilmente anulá-los. Isto é, por exemplo, verdadeiro para \parfillskip, que é anexado no final de cada parágrafo para definir a última linha irregular e normalmente tem o valor 0pt plus 1fil. Se você usasse agora \hfil(o que equivale a \hskip 0pt plus 1fil), não colocaria a segunda imagem no final da linha, mas usaria apenas metade do espaço disponível, a outra metade seria preenchida por \parfillskip. É por isso que precisamos usar pelo menos o infinito de segunda ordem (que é infinitamente maior que a primeira ordem) e usar \hfill.

\hfillla propósito, não está definido e você teria que usar \hspace{0pt plus 1filll}(ou \hskip 0pt plus 1filll).

\documentclass[]{article}

\usepackage{subcaption}
\usepackage[]{graphicx}

\begin{document}
\begin{figure}
  \begin{subfigure}{0.5\textwidth}
    \includegraphics[width=\linewidth, page=1]{example-image-duck}
    \caption{A pizza duck}
  \end{subfigure}\hfill
  \begin{subfigure}{0.2\textwidth}
    \raggedright
    \includegraphics[width=\linewidth, page=4]{example-image-duck-portrait}
    \caption{A clairvoyant duck}
  \end{subfigure}%
  \caption{Ducks}
\end{figure}

\end{document}

insira a descrição da imagem aqui

Responder2

Com relação ao comentário @Skillmon

Embora os pacotes subfige subfigureestejam obsoletos e não devam mais ser usados. Obs: subfigsuporte hyperrefcom BUGS!

\usepackage{subfig} 
... 
\begin{figure}[!ht] 
  \subfloat[Picture 1\label{fig:1}]{% 
    \includegraphics[width=0.4\textwidth]{1.png} 
  } 
  \hfill 
  \subfloat[Picture 2\label{fig:2}]{% 
    \includegraphics[width=0.4\textwidth]{2.png} 
  } 
  \caption{Main figure caption} 
\end{figure}

informação relacionada