我有以下代码:
\begin{figure}[h]
\centering
\subcaptionbox{Heron's wind-powered organ}%
[.4\linewidth]{\includegraphics[scale=0.58]{Figures/200px-Heron's_Windwheel}}
\subcaptionbox{The Persian, horizontal windmill}
[.4\linewidth]{\includegraphics[scale=0.18]{Figures/persian}}
\end{figure}
生成以下图形结果:
我希望图形(a)稍微向左一点。我尝试了一些改变,但找不到解决方案。提前谢谢您。
答案1
\hspace*{\fill}
我建议你在第二条指令之前插入该指令\subcaptionbox
。实施此更改后,\centering
后面的指令\begin{figure}[h]
就变得多余了。
\documentclass{article}
\usepackage{subcaption}
\usepackage[demo]{graphicx} % remove 'demo' option in real document
\begin{document}
\begin{figure}[h]
%%\centering % not necessary
\subcaptionbox{Heron's wind-powered organ}%
[.4\linewidth]%
{\includegraphics[scale=0.58]{Figures/200px-Heron's_Windwheel}}
\hspace*{\fill}
\subcaptionbox{The Persian, horizontal windmill}%
[.4\linewidth]%
{\includegraphics[scale=0.18]{Figures/persian}}
\end{figure}
\end{document}
答案2
大多数情况下,您可以手动处理这些空格。在这种情况下,对于文本行内,您只需使用命令添加水平空格即可\hspace{}
。
您也可以添加负空格,从而产生退格键。
例如你可以这样做:
\documentclass{article}
\usepackage{graphicx,subcaption}
\begin{document}
\begin{figure}
\centering
\hspace{-10mm}
\subcaptionbox{This is caption of picture (a)}%
[.48\textwidth]{\includegraphics[width=.48\textwidth]{MyLeftFigure}}
\hspace{10mm}
\subcaptionbox{This is caption of picture (b)}%
[.48\textwidth]{\includegraphics[width=.48\textwidth]{MyRightFigure}}
\end{figure}
\end{document}
负空间放在第一张图片之前,以便将其向左移动,第二张图片将第二张图片向右移动。作为整体效果,第二张图片不会从其原始位置移动。
答案3
以下是您的代码中发生的情况:
| <----.4----> <----.4----> |
^--- space
\subcaptionbox
将右侧的宽度更改为.6\textwidth
。%
在左边的最后一个参数后添加\subcaptionbox
以删除不需要的空格。
结果是:
|<----.4----><---------.6-------->|
代码:
\begin{figure}[h]
\centering
\subcaptionbox{Heron's wind-powered organ}%
[.4\linewidth]{\includegraphics[scale=0.58]{Figures/200px-Heron's_Windwheel}}
\subcaptionbox{The Persian, horizontal windmill}%
[.6\linewidth]{\includegraphics[scale=0.18]{Figures/persian}}
\end{figure}