我正在使用 lyx,想将两个图并排放置。我可以通过在一个浮动框内插入两个用 \hfill 分隔的小页面来实现,但它只允许我使用单独的标题而不是子标题(我希望将其标记为图 1a、图 1b)。此外,通过在浮动框内插入浮动框,第二个图出现在第一个图的下方而不是旁边。任何提示都会非常有用。
答案1
我发现更好的方法是使用子图(特别是当你想将子图称为1a
或1b
。从LaTeX 常见问题解答:
- 插入→浮动→图形
- 再次,插入→浮动→图形(这会将“子图形浮动”插入到浮动中)
- 将光标放在子浮点数旁边
- 插入→格式化→水平空间→水平填充或 Ctrl--> 右键单击空间-> 选择“水平填充”(插入可拉伸的水平空间)
- 插入→浮点→图形(插入另一个“子图浮点”)
- 在每个子浮动中:添加图形并编辑标题
- 要插入垂直空格,请插入→格式→垂直空格→DefSkip。
或者,如果您只使用我创建的代码(这是 LyX 语法;不是 LaTeX)(您可能必须右键单击图像并调整图像的宽度百分比):
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename images/Fig2_1.png
scale 30
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
Name1
\begin_inset CommandInset label
LatexCommand label
name "fig:label1"
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset space \hfill{}
\end_inset
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename images/Fig2_2.png
scale 30
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
Name2
\begin_inset CommandInset label
LatexCommand label
name "fig:Name2"
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename images/Fig2_3.png
scale 30
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
Name3
\begin_inset CommandInset label
LatexCommand label
name "fig:Name3"
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset space \hfill{}
\end_inset
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename images/Fig2_4.png
scale 30
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
Name3
\begin_inset CommandInset label
LatexCommand label
name "fig:Name3"
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption Standard
\begin_layout Plain Layout
Caption for figure
\begin_inset CommandInset label
LatexCommand label
name "fig:FigureLabel"
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
在纯 LaTeX 中做同样的事情:
\begin{figure}[tb]
\begin{center}
\subfigure[Name1]{\includegraphics[width=1.625in]{images/Fig2_1.png}}
\subfigure[Name2]{\includegraphics[width=1.625in]{images/Fig2_2.png}}
\subfigure[Name3]{\includegraphics[width=1.625in]{images/Fig2_3.png}}
\subfigure[Name4]{\includegraphics[width=1.625in]{images/Fig2_4.png}}
\end{center}
\caption{Caption for figure}
\label{figureLabel}
\end{figure}
答案2
对于遇到同样问题的人,我在 lyx 中找到了显然对我有用的解决方案:
- 插入 > 浮动 > 图形
- 插入 > 盒子 > 无框。
- 右键单击小页面并转到设置。将宽度设置为 45 列宽%
- 单击小页面旁边(不是里面)。转到插入>格式>水平空间并选择水平填充间距。
- 重复步骤2并在两个小页面中添加图形。
- 转到文档>设置> LaTex 序言并添加 \usepackage{subcaption}
- 在每个小页面内,插入 tex 代码 \subcaption{此处输入您的子标题}
答案3
我无法让上述代码工作。一种(低俗的?)方法是使用表格,即:
\begin{figure}
\centering{}%
\begin{tabular}{cc}
\includegraphics[width=7cm]{image1} & \includegraphics[width=7cm]{image2}\tabularnewline
(a) & (b)\tabularnewline
\end{tabular}\caption{foiw}
\end{figure}
为此我
- 插入图
- 插入 2x2 表格
- 在顶行的每个单元格内插入图形
- 在下行单元格中写下
(a)
和(或者如果您愿意,可以写更长的标题)(b)
- 选择所有四个单元格并关闭所有边框
- 选择表格并右键单击并将段落更改为居中
这样,您可以为整个图添加引用标签,但不能单独为每个子图添加。您只需使用,例如Figure~\ref{myfig}(a)