我有以下代码:
\framebox{
\begin{align*}
Something here
\end{align*}
}
这会产生以下错误:
- 缺失
\endgroup
插入 - 缺失
}
插入 - LaTeX 错误:
\begin{document}
结束于\end{align*}
- 缺失
$
插入 - 显示数学应该以
$$
- 额外的
\endgroup
- 太多
}
了
我是 Latex 新手,不明白为什么会发生这种情况。这是 Latex 错误吗?我怎样才能将方程式放入框中?
答案1
不是错误,是用户错误。\framebox
类似于\mbox
并且是单行(水平模式)构造,align
是需要处于垂直模式的显示构造。 有几种用于盒装垂直材料的包:例如 mdframed 和 tcolorbox,或者简单地使用
\fbox{\parbox{5cm}{\begin{align}....\end{align}}}
答案2
好的,这是一个例子:首先使用包 \usepackage{amsmath,mathtools}
\begin{align}
\Aboxed{Nu_\text{m} &= \frac{\alpha_m \, L}{\lambda} \text{ \quad .}} \\
\Aboxed{Nu_\text{m} &= \frac{\alpha_m \, L}{\lambda} \text{ \quad .}}
\end{align}
删除 * 并放入\Aboxed
。
输出:
这是我的完整代码:
\documentclass[
german,
paper=a4,
]{scrbook} %KOMA-
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
\Aboxed{Nu_\text{m} &= \frac{\alpha_m \, L}{\lambda} \text{ \quad .}} \\
\Aboxed{Nu_\text{m} &= \frac{\alpha_m \, L}{\lambda} \text{ \quad .}}
\end{align}
\end{document}
答案3
我猜你想把方程式括起来,但这不能做到,因为\framebox
不支持换行(直接)。
通过预先构建对齐,您可以避免猜测框的宽度。
\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}% only for the example
\newsavebox{\boxedalignbox}
\newenvironment{boxedalign*}
{\begin{equation*}\begin{lrbox}{\boxedalignbox}$\begin{aligned}}
{\end{aligned}$\end{lrbox}\fbox{\usebox{\boxedalignbox}}\end{equation*}}
\begin{document}
\lipsum*[2]
\begin{boxedalign*}
a &= b(x+y)\\
&= bx+by
\end{boxedalign*}
\lipsum[3]
\end{document}
答案4
empheq. Needless to load
使用amsmath , as it loads
mathtools可以很容易地为任何方程环境获取任何自定义框,它可以加载amsmath
。
\documentclass{article}
\usepackage{empheq}
\usepackage[svgnames]{xcolor}
\newcommand\mybox[2][black]{\fboxrule=1pt\fboxsep=1.2ex\fcolorbox{#1}{white}{\enspace#2\enspace}}
\begin{document}
\begin{empheq}[box={\mybox[IndianRed]}]{align}
(x + y)^3 & =x^3 + 3x^2y + 3xy^2 + y^3t\\%
x^3 + y^3 & = (x + y)(x^2-xy + y^2)
\end{empheq}
\end{document}