我有这个 LaTeX 代码,它应该将这两个图像放在页面的左侧和右侧:
\begin{flushright} \begin{figure}[H]
\includegraphics[width=107px ,
height=134px]{t1.jpg} \end{figure}
\end{flushright}
\begin{flushleft} \begin{figure}[H]
\includegraphics[width=113px ,
height=190px]{t2.jpg} \end{figure}
\end{flushleft}
但是这两张图片一个位于另一个的顶部,为什么?
答案1
存在许多问题:
figure
是浮动环境。它不是直接放置的,而是存储并放置在 LaTeX 认为最适合的位置。这可以通过可选参数(如)来影响,[H]
但周围的对齐环境仍然不会对其产生任何影响。
flushleft
并flushright
产生段落,因此产生换行符。因此两个内容将始终垂直堆叠,永远不会并排。
请注意,您不需要figure
环境来使用\includegraphics
,只有当您想要标题时才需要。您还可以在一个 中包含多个图像和标题(!)figure
。尝试使用以下代码将两个图像并排放置在左角和右角(如果这是您想要的):
\begin{figure}[H]
\includegraphics[width=107px,height=134px]{t1.jpg}%
\hfill
\includegraphics[width=113px,height=190px]{t2.jpg}%
\end{figure}
答案2
figure
如果你不想添加标题,则不需要任何环境。只需写入
\begin{center}
\includegraphics[width=107px,height=134px]{t1.jpg}%
\hfill
\includegraphics[width=113px,height=190px]{t2.jpg}
\end{center}
两幅图像将在其底部垂直对齐。
答案3
更多解释:
首先,figure
环境实际上是一个\vbox
宽度\columnwidth
(具有许多属性)的环境。不可能将两个连续的figure
环境(浮动或非浮动)并排放置。
此外,您不能使用flushleft
环境和flushright
环境来并排排版材料。这两个环境是使用trivlist
环境定义的。如果没有包含在其他框中,它们只能垂直放置。
您应该像 Martin 那样将两幅图像放入一个figure
环境中。如果您想要单独的子标题,请使用subcaption
或打包。subfig
答案4
如果图形相关,您还可以创建一个带有子图的图形。
有一个包可以执行此操作:subfig
对于子图,
\usepackage{subfig}
\begin{figure}
\centering
\subfloat[caption]{\includegraphics[]}
\subfloat[caption]{\includegraphics[]}
...
\end{figure}
有关选项的更多详细信息,请参阅各自的包描述。评论中还提到了 subcaption