我想用一整页来显示两幅图,并将它们以水平布局并排放置。
实现这一目标的最佳方法是什么?提前致谢!
这是我已经尝试过的:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{turn}{90}
\begin{minipage}{\textheight}
\begin{figure}
\centering
\begin{subfigure}
\centering
\includegraphics[width=5]{image1}
\end{subfigure}
\begin{subfigure}
\centering
\includegraphics[width=5]{image1}
\caption{A subfigure}
\label{fig:sub2}
\end{subfigure}
\end{figure}
\end{minipage}
\end{turn}
\end{document}
然而,我收到了错误消息,不幸的是我无法理解。
答案1
它是通过以下 MWE 获得的:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{rotating}% for sidewaysfigure
\begin{document}
\begin{sidewaysfigure}
\begin{subfigure}{0.5\hsize}\centering
\includegraphics[width=0.9\hsize]{example-image-a}
\caption{Sub figure A}
\label{fig:sub1}
\end{subfigure}%
%\hfill <-- it is superfluous
\begin{subfigure}{0.5\hsize}\centering
\includegraphics[width=0.9\hsize]{example-image-b}
\caption{Sub figure B}
\label{fig:sub2}
\end{subfigure}
\caption{Figure in landscape orientation}
\label{fig:sub2}
\end{sidewaysfigure}
\end{document}
您的 MWE 中的错误原因是缺少子图的宽度,正确的语法是,\begin{subfigure}{<width>}
并且可能缺少包rotating
,除了sideways
(图、表)之外,它还定义了宏rotatebox
、turn
等。有关详细信息,请参阅包文档。
编辑:
正如 Gonzalo Medina 在其评论中指出的那样,一个错误是由于使用float
(非浮动) 内部的环境minipage
(这是被禁止的)引起的。
答案2
虽然 Zarko 已经指出了错误,但这里还有另一种使用方式pdflscape
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{pdflscape}% for landscape
\begin{document}
\begin{landscape}
\begin{figure}%[htb]
\begin{subfigure}{0.5\hsize}\centering
\includegraphics[width=0.9\hsize]{example-image-a}
\caption{Sub figure A}
\label{fig:sub1}
\end{subfigure}%
\begin{subfigure}{0.5\hsize}\centering
\includegraphics[width=0.9\hsize]{example-image-b}
\caption{Sub figure B}
\label{fig:sub2}
\end{subfigure}
\caption{Figure in landscape orientation}
\label{fig:sub2}
\end{figure}
\end{landscape}
\end{document}
答案3
Zarko 已经指出了错误,但是答案只显示了另一种方法,尽管将带有子图的小页面旋转 90 度也是一个可行的有效想法。
这是最小的(现在真正起作用的)示例:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption,rotating}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{turn}{90}
\begin{minipage}[c][\textwidth][c]{\textheight}
\begin{subfigure}[h]{.45\linewidth}
\includegraphics[width=\linewidth]{example-image-a}
\caption{A subcaption}
\end{subfigure}\hfill
\begin{subfigure}[h]{.45\linewidth}
\includegraphics[width=\linewidth]{example-image-b}
\caption{A subcaption}
\end{subfigure}
\caption{The main caption}
\end{minipage}
\end{turn}
\end{figure}
\end{document}
或者,如果您想要该包的较短代码subfigure
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption,rotating}
\usepackage{subfigure}
\begin{document}
\begin{figure}
\begin{turn}{90}
\begin{minipage}[c][\textwidth][c]{\textheight}
\subfigure[A subcaption]{\includegraphics[width=.45\linewidth]{example-image-a}}\hfill
\subfigure[B subcaption]{\includegraphics[width=.45\linewidth]{example-image-b}}
\caption{The main caption}
\end{minipage}
\end{turn}
\end{figure}
\end{document}