我喜欢将两个子图括起来,用于在框架框中并排显示对齐环境。然而,这会导致框顶部的填充变得丑陋。
之前的一个帖子(\align* 之前的空格是从哪里来的?) 强调,在数学环境之前有一个标准从来都不是一个好主意。
我很好奇这是否是这里的问题以及如何避免它。
请注意,我确实需要对齐环境,而且问题似乎不依赖于其内容。
\documentclass[fontsize=11pt,paper=a4,headsepline,footsepline,DIV=13,BCOR=12mm,bibliography=toc,chapterprefix=on]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[ngerman,american]{babel}
\usepackage[utf8]{inputenc}
% serveral packages
\usepackage{lmodern}
\usepackage[final]{microtype}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{lipsum} %%% can be delted in the end !!!!!!
% figures and captions
\usepackage{caption}
\captionsetup{format=plain, width=.9\textwidth}
\usepackage{subcaption}
\begin{document}
\lipsum[1]
\lipsum[2]
\begin{figure}[h]%
\framebox[\textwidth]{\begin{subfigure}[t]{.5\textwidth}
\begin{align*}%
E = m \cdot c^2
\end{align*}
\end{subfigure}%
\begin{subfigure}[t]{.5\textwidth}%
\begin{align*}%
E = m \cdot c^2
\end{align*}
\end{subfigure}}
\caption{Some caption.}
\end{figure}
\lipsum[1]
\lipsum[3]
\end{document}
答案1
答案2
您可以将环境上方和下方的间距设置align
为零(请参阅这个答案)。如果在环境内部执行此操作figure
,则这些设置仅适用于此环境。
也许将数学环境直接放在 a 之后并不是一个好主意\par
,但是由于您将align
环境包装在 a 内部figure
,所以我认为这应该不是问题。
\documentclass[fontsize=11pt, paper=a4, headsepline, footsepline, DIV=13, BCOR=12mm, bibliography=toc, chapterprefix=on]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[ngerman,american]{babel}
\usepackage[utf8]{inputenc}
% serveral packages
\usepackage{lmodern}
\usepackage[final]{microtype}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{lipsum} %%% can be delted in the end !!!!!!
% figures and captions
\usepackage{caption}
\captionsetup{format=plain, width=.9\textwidth}
\usepackage{subcaption}
\begin{document}
\lipsum[1]
\lipsum[2]
\begin{figure}[h]%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}%
\framebox[\textwidth]{%
\begin{subfigure}[t]{.5\textwidth}%
\begin{align*}%
E = m \cdot c^2
\end{align*}%
\end{subfigure}%
\begin{subfigure}[t]{.5\textwidth}%
\begin{align*}%
E = m \cdot c^2
\end{align*}%
\end{subfigure}%
}
\caption{Some caption.}
\end{figure}
\lipsum[1]
%
\begin{align*}%
E = m \cdot c
\end{align*}
%
\lipsum[3]
\end{document}
答案3
我看不出有什么理由subfigure
,除非你想有子标题。align*
当涉及单个方程时,我也看不出有什么理由。
无论如何,用于$\begin{aligned}...\end{aligned}$
多行显示或$\displaystyle...$
单个方程式。
\documentclass[fontsize=11pt,paper=a4,headsepline,footsepline,DIV=13,BCOR=12mm,bibliography=toc,chapterprefix=on]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[ngerman,american]{babel}
\usepackage[utf8]{inputenc}
% serveral packages
\usepackage{lmodern}
\usepackage[final]{microtype}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{lipsum} %%% can be delted in the end !!!!!!
% figures and captions
\usepackage{caption}
\captionsetup{format=plain, width=.9\textwidth}
\usepackage{subcaption}
\begin{document}
\lipsum[1]
\lipsum[2]
\begin{figure}[htp]
\framebox[\textwidth]{%
\begin{subfigure}[t]{.5\textwidth}
\centering
$\begin{aligned}
E &= m \cdot c^2 \\
F &= ma
\end{aligned}$
\caption{Subfigure}
\end{subfigure}%
\begin{subfigure}[t]{.5\textwidth}
\centering
$\begin{aligned}
E &= m \cdot c^2 \\
F &= ma
\end{aligned}$
\caption{Subfigure}
\end{subfigure}%
}% end of \framebox
\caption{Some caption.}
\end{figure}
\lipsum[1]
\end{document}
答案4
基本解决方案
\usepackage{adjustbox}
手动的:https://ctan.org/pkg/adjustbox
参见(第 4.2 节)margin=<left> <bottom> <right> <top>
正在使用:
\begin{figure} % ...
% ...
\begin{adjustbox}{margin=0em 0em 0em -1em, varwidth=\textwidth,fbox,center}
% ...
% subfigures, etc.. go here
% ...
\end{adjustbox}
% ...
\end{figure}
效果:移动盒子向上 1em
。
细节
忽略嵌入子图的基本原理,似乎有几种方法可以解决这个问题。我曾经adjustbox
解决过这个问题。
需要一个包adjustbox
https://ctan.org/pkg/adjustbox
我刚刚将上边距设置为-1em
平均能量损失
\documentclass[12pt]{scrbook}
\usepackage{amsmath}
\usepackage{adjustbox}
\usepackage{subcaption}
\begin{document}
\begin{figure}[h]%
\begin{adjustbox}{margin=0em 0em 0em -1em,
varwidth=\textwidth,fbox,center}
\begin{subfigure}[t]{.5\textwidth}
\begin{align*}%
E &= mc^2
\end{align*}
\end{subfigure}%
\begin{subfigure}[t]{.5\textwidth}
\begin{align*}%
E &= mc^2
\end{align*}
\end{subfigure}
\end{adjustbox}
\caption{Energy is matter is energy.}
\end{figure}
\end{document}