![如何使 Beamer 中的一些(并非全部)单行标记方程式左对齐?我尝试了“fleqn”,但出现了问题](https://linux22.com/image/472333/%E5%A6%82%E4%BD%95%E4%BD%BF%20Beamer%20%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%EF%BC%88%E5%B9%B6%E9%9D%9E%E5%85%A8%E9%83%A8%EF%BC%89%E5%8D%95%E8%A1%8C%E6%A0%87%E8%AE%B0%E6%96%B9%E7%A8%8B%E5%BC%8F%E5%B7%A6%E5%AF%B9%E9%BD%90%EF%BC%9F%E6%88%91%E5%B0%9D%E8%AF%95%E4%BA%86%E2%80%9Cfleqn%E2%80%9D%EF%BC%8C%E4%BD%86%E5%87%BA%E7%8E%B0%E4%BA%86%E9%97%AE%E9%A2%98.png)
equation
我正在用 beamer 制作演示文稿,并且在两种情况下使用该环境:
- 两行文本之间,一行仅包含数学表达式,水平居中(几乎是标准情况,参见下面 MWE 中的第一个等式)
- 一些文本段落(数学环境之外)与方程式并列(如下面 MWE 中的第二和第三个方程式)
为了实现后者,我会利用minipage
环境。我过去常常利用环境columns
,但要调整到正确的视觉对齐方式要困难得多。
这样做的动机是文本段落给出了出现在其侧面的公式的描述或定义。但是,简单地将文本和\begin{equation}
[...]\end{equation}
放在相邻的minipage
位置会导致中间出现空隙,我觉得这很丑陋,我想填补这个空隙 - 更准确地说,我希望文本和公式在幻灯片中心附近更靠近彼此(参见下面 MWE 中第二个和第三个方程式之间的差异)。
我发现,这可以通过将文本放在flushright
环境中并将环境封闭equation
到环境中来实现fleqn
(加载nccmath
包)来实现。请注意,我不希望全部方程式要在左边对齐,所以我没有\usepackage[fleqn]{amsmath}
在序言中使用它(无论如何,它在 beamer 中根本不起作用,因为它会引发选项冲突错误)。
我没有使用flalign
或类似的,因为它们似乎无法实现单行方程的预期结果,而只能在两行或更多行的方程需要左对齐时才有效。
问题:在我尝试交叉引用方程式之前,一切都运行正常。事实上,如果我在环境\label
中为方程式赋予fleqn
,并尝试在其他地方使用 引用它\ref{}
,后者产生的数字与方程式本身附近显示的数字不同。
我已看到过关于类似问题的几个答案,但很少有涉及 beamer 的(因此出现了问题fleqn
),也没有一个能解决我的问题。
欢迎任何帮助!
以下是 MWE:
\documentclass[aspectratio=169]{beamer}
\usetheme{Antibes}
\usepackage{nccmath}
\begin{document}
\begin{frame}[fragile]
An equation outside of the \verb|fleqn| environment. I give it the label: \verb|\label{eq1}|.
\begin{equation}\label{eq1}
F = ma
\end{equation}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
Text on the side equation in \verb|fleqn| \\
(the equation has label: \verb|\label{eq2}|)
\end{flushright}
\end{minipage}
\hspace{0.5em}
\begin{minipage}{0.45\linewidth}
\begin{fleqn}
\begin{equation}\label{eq2}
\delta q = {\rm d}u + P\,{\rm d}v
\end{equation}
\end{fleqn}
\end{minipage}\\
\vspace{1.5em}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
Text on the side equation without \verb|fleqn| \\
(the equation has label: \verb|\label{eq3}|)
\end{flushright}
\end{minipage}
\hspace{1em}
\begin{minipage}{0.45\linewidth}
\begin{equation}\label{eq3}
\frac{\partial\rho}{\partial t} + \nabla\cdot\left(\rho\vec{v}\right) = 0
\end{equation}
\end{minipage}\\
\vspace{1em}
Note, in the latter case, the space between text and equation, that I'd like to fill.
\begin{itemize}
\item Here I reference the first equation, using \verb|\ref{eq1}|: Eq.~\ref{eq1}.
\item Here I reference the second equation, using \verb|\ref{eq2}|: Eq.~\ref{eq2}.
\item Here I reference the third equation, using \verb|\ref{eq3}|: Eq.~\ref{eq3}.
\end{itemize}
\end{frame}
\end{document}
答案1
使用包的不同方法varwidth
(这将使整个文本+方程式块居中):
\documentclass[aspectratio=169]{beamer}
\usetheme{Antibes}
\usepackage{varwidth}
\begin{document}
\begin{frame}[fragile]
An equation outside of the \verb|fleqn| environment. I give it the label: \verb|\label{eq1}|.
\begin{equation}\label{eq1}
F = ma
\end{equation}
\begin{equation}
\text{\begin{varwidth}{.4\textwidth}
\raggedleft
Text on the side equation in \\
(the equation has label: )
\end{varwidth}\quad
}
\delta q = {\rm d}u + P\,{\rm d}v
\label{eq2}
\end{equation}
Note, in the latter case, the space between text and equation, that I'd like to fill.
\begin{itemize}
\item Here I reference the first equation, using \verb|\ref{eq1}|: Eq.~\ref{eq1}.
\item Here I reference the second equation, using \verb|\ref{eq2}|: Eq.~\ref{eq2}.
\end{itemize}
\end{frame}
\end{document}
如果您喜欢固定宽度的迷你页面(这会使等式的左边缘居中):
\documentclass[aspectratio=169]{beamer}
\usetheme{Antibes}
\begin{document}
\begin{frame}[fragile]
An equation outside of the \verb|fleqn| environment. I give it the label: \verb|\label{eq1}|.
\begin{equation}\label{eq1}
F = ma
\end{equation}
\begin{equation}
\text{\begin{minipage}{.48\textwidth}
\raggedleft
Text on the side equation in \\
(the equation has label: )
\end{minipage}\quad
}
\delta q = {\rm d}u + P\,{\rm d}v
\hskip \textwidth minus \textwidth
\label{eq2}
\end{equation}
Note, in the latter case, the space between text and equation, that I'd like to fill.
\begin{itemize}
\item Here I reference the first equation, using \verb|\ref{eq1}|: Eq.~\ref{eq1}.
\item Here I reference the second equation, using \verb|\ref{eq2}|: Eq.~\ref{eq2}.
\end{itemize}
\end{frame}
\end{document}