我读到,为了跨越两列,我们使用了 figure* 环境。但是使用 figure* 我们发现在编译 PDF 时很难控制图形的位置。我可以为此使用 figure 环境吗?最好的选择是什么,同时还有助于控制它们的位置?
`\documentclass[aps,twocolumn,secnumarabic,nobalancelastpage]{revtex4}
\usepackage{float}
\usepackage{amsmath}
\usepackage{amssymb} %For writing \mathbb{R}
\usepackage{mathrsfs} %for \mathscr
\usepackage{grffile} % deals with extension .PNG problems
\usepackage{subcaption}
\begin{figure}%
\centering
\begin{subfigure}{.49\columnwidth}
\includegraphics[width=0.7\columnwidth]{Archi.png}]
\end{subfigure}
\hspace{0.05\textwidth}
\begin{subfigure}{.49\columnwidth}
\includegraphics[width=\columnwidth]{W.png}%
\end{subfigure}
\end{figure}
答案1
你在后续评论中问道,
这是否意味着我可以使用
figure
而不是figure*
来跨越两列?
简短回答:不可以。较长回答:不可以。非常长的回答:不可以。
要将两个图表并排放置在一个figure*
环境中,请将图表(连同它们的\caption
语句)放在单独的minipage
环境中。我进一步建议您使用宽度\columnwidth
作为minipage
环境,并使用指令将它们水平分隔开\hspace{\fill}
。
顺便说一句,caption
和subcaption
包与文档类配合得不太好revtex
。
\documentclass[aps,twocolumn,secnumarabic,nobalancelastpage]{revtex4}
\usepackage{amsmath,amssymb,mathrsfs}
\usepackage[demo]{graphicx} % remove "demo" option in real document
%\usepackage{subcaption} % not recommended for revtex4 doc. class
\begin{document}
\begin{figure*}
\begin{minipage}{\columnwidth}
\includegraphics[width=\textwidth]{Archi.png}
\caption{Left-hand figure}
\end{minipage}%
\hspace{\fill}
\begin{minipage}{\columnwidth}
\includegraphics[width=\textwidth]{W.png}
\caption{Right-hand figure}
\end{minipage}
\end{figure*}
\end{document}