Две подфигуры рядом, но на крайних концах

Две подфигуры рядом, но на крайних концах

Я хочу разместить две фигуры рядом, но на крайних концах, т.е. первая подфигура должна быть на крайнем левом краю, а вторая подфигура должна быть на крайнем правом краю. Как это можно сделать? Я использую код, показанный ниже

    \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}

решение1

В (La)TeX вы можете включать длины гибкой ширины, так называемые пропуски, и вы можете растягивать и сжимать их на порядки бесконечности. A ведет себя как пропуск шириной 0pt, но который растягивается на второй порядок бесконечности, поэтому он займет столько места, сколько доступно (при условии, что в том же горизонтальном поле \hfillнет других s). Поэтому мы можем использовать , чтобы разделить ваши s как можно дальше в этой строке.\hfill\hfillsubfigure

РЕДАКТИРОВАТЬДобавление и развитие информации, представленной в@JohnKormylo's комментарий:

Порядки бесконечности — fil, fill, и filll(от низшего к высшему, есть также fi, но он практически никогда не используется и доступен только в Lua(La)TeX). Обычно код пакета и ядра должен редко использовать бесконечность второго или третьего порядка и придерживаться fil, чтобы пользователи могли легко их переопределять. Это верно, например, для \parfillskip, который добавляется в конце каждого абзаца, чтобы сделать последнюю строку неровной, и обычно имеет значение 0pt plus 1fil. Если бы вы сейчас использовали \hfil(что эквивалентно \hskip 0pt plus 1fil), вы бы не вставили второе изображение в конец строки, а использовали бы только половину доступного пространства, другая половина заполняется \parfillskip. Вот почему нам нужно по крайней мере использовать бесконечность второго порядка (которая бесконечно больше первого порядка) и использовать \hfill.

\hfilllкстати, не определено, и вам придется использовать \hspace{0pt plus 1filll}(или \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}

введите описание изображения здесь

решение2

Что касается комментария @Skillmon

Хотя subfigи subfigureпакеты устарели и не должны больше использоваться. Примечание: subfigподдержка hyperrefс ОШИБКАМИ!

\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}

Связанный контент