因为我已经看到这个问题已经在这里被问过了,所以我尝试了建议的解决方案,但问题仍然存在。我有两个很宽的子图,我想把它们放在一起。这是我的代码:
\documentclass[ngerman,12pt,a4paper,oneside,listof=totoc,plainfootsepline]{scrbook}
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{captionlabel}{\bfseries}
\RedeclareSectionCommand[beforeskip=-.5\baselineskip,afterskip=.25\baselineskip]{subsubsection}
\begin{document}
\begin{figure}[h]
{
\begin{subfigure}[h]{0.5\textwidth}
\vspace*{\fill}
\centering
\includegraphics[scale=0.5]{image1}
\caption{fig1}
\label{fig2}\par\vfill
\end{subfigure}%
\begin{subfigure}[h]{0.5\textwidth}
\vspace*{\fill}
\centering
\includegraphics[scale=0.5]{image2}
\caption{fig2}
\label{fig:fig2}
\end{subfigure}%
\caption{fig2}}
\label{fig:fig2}
}
\end{figure}
\end{document}
我尝试了 \newline,但没有用。这是我在 pdf 上得到的结果:[1]:https://i.stack.imgur.com/fzXqD.png 我将感谢任何解决方案。提前感谢。
答案1
来自我的另一个回答——https://tex.stackexchange.com/a/590492/197451
\documentclass[12pt,a4paper,oneside,listof=totoc]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\RedeclareSectionCommand[beforeskip=-.5\baselineskip,afterskip=.25\baselineskip]{subsubsection}
\begin{document}
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{1\textwidth}
\centering
\includegraphics[scale=1]{vel_ang_loop_per.eps}
\caption{Componenti $p(t)$, $q(t)$ e $r(t)$ della velocità angolare.}
\label{fig:p,q,r_loop_perf}
\end{subfigure}\\[3in]%<--------------------vary the separation
\begin{subfigure}[b]{1\textwidth}
\centering
\includegraphics[scale=1]{vel_trasl_loop_per.eps}
\caption{Componenti $u(t)$, $v(t)$, $w(t)$ della velocità del baricentro.}
\label{fig:u,v,w_loop_perf}
\end{subfigure}
\caption{Storie temporali delle componenti di velocità angolare e traslazionale assegnate per la manovra di \textit{looping perfetto}}
\end{figure}
\end{document}
答案2
为了使用subfigure
您需要的环境subcaption
。为了\includegraphics
您需要的graphicx
。为了ngerman
您所需要的选项babel
。
接下来,\vspace*{\fill}
和\vfill
insidesubfigure
什么都不做。另外,subfigure
不知道如何处理[h]
选项:它接受[t]
、[b]
或[c]
(最后一个是默认值)来指定构建框的垂直外观;在这种情况下您需要[c]
(因此您可以省略它)。
使用scale=0.5
是错误的:您很可能希望将图像缩放到 给出的大小subfigure
。由于scale
您不知道图像的最终大小,因此width=\linewidth
最好使用 ,因为 TeX 将使用 保留的大小subfigure
。
您还需要修复标签。
如果图像之间需要一些垂直空间,请添加它。诀窍是在subfigure
环境之间留出一条空白行(\vspace
中间有一个指令)。
\documentclass[
ngerman,
12pt,
a4paper,
oneside,
listof=totoc,
plainfootsepline,
]{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{subcaption}
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{captionlabel}{\bfseries}
\RedeclareSectionCommand[
beforeskip=-.5\baselineskip,
afterskip=.25\baselineskip
]{subsubsection}
\begin{document}
\begin{figure}[htp]
\centering
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[width=\linewidth]{example-image}
\caption{fig1}
\label{subfig:fig1}
\end{subfigure}
\vspace{3ex}
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[width=\linewidth]{example-image}
\caption{fig2}
\label{subfig:fig2}
\end{subfigure}
\caption{fig2}
\label{fig:fig}
\end{figure}
\end{document}
如果你真的需要scale
,您可以使用\subcaptionbox
一开始就不需要宽度。
\documentclass[
ngerman,
12pt,
a4paper,
oneside,
listof=totoc,
plainfootsepline,
]{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{subcaption}
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{captionlabel}{\bfseries}
\RedeclareSectionCommand[
beforeskip=-.5\baselineskip,
afterskip=.25\baselineskip
]{subsubsection}
\begin{document}
\begin{figure}[htp]
\centering
\subcaptionbox{fig1\label{subfig:fig1}}{%
\includegraphics[scale=0.5]{example-image}%
}
\vspace{3ex}
\subcaptionbox{fig2\label{subfig:fig2}}{%
\includegraphics[scale=0.5]{example-image}%
}
\caption{fig2}
\label{fig:fig}
\end{figure}
\end{document}
该plainfootsepline
选项仅当您加载时才有意义scrlayer-scrpage
。