
我想並排放置兩個圖形,但在最末端,即第一個子圖應位於最左側,第二個子圖應位於最右側。如何才能做到這一點?我正在使用下面所示的程式碼
\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 的\hfill
行為類似於 0pt 寬度的跳過,但它以二階無窮大延伸,因此它將佔用盡可能多的可用空間(只要\hfill
同一水平框中沒有其他 s)。因此我們可以在該行中盡可能\hfill
分隔您的s 。subfigure
編輯附加並建立在中提供的資訊的基礎上@JohnKormylo 的評論:
無窮大的順序是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
有BUG!
\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}