如何使用 empheq 包让 fbox 自动适应宽方程

如何使用 empheq 包让 fbox 自动适应宽方程

是否有一个技巧可以使方程式fbox适合empheq,即使它们太宽,或者在这种情况下不必手动输入尺寸的数值?

我想用方框围住一组方程式,但它们太宽了,结果得到了这样的结果:

Mathematica 图形

平均能量损失

\documentclass[12pt,notitlepage]{article}%
\usepackage{amsmath}
\usepackage{empheq}
\usepackage{siunitx}
\begin{document}

\begin{empheq}[box=\fbox]{align*}
\frac{v}{r}  & =2.651e^{-0.055268t}+0.4867e^{-56.5025t}+7.849e^{-0.4218t}
\left(  \cos\left(  2.2873t+\SI{80.15}{\degree}\right)  +\sin\left(  2.2873t+
\SI{80.15}{\degree}\right)  \right)  \\
%
\frac{p}{r}  & =-0.4348e^{-0.055268t}+\overset{\text{compare to g=0
below}}{\overbrace{168.36e^{-56.5025t}}}+1.543e^{-0.4218t}\left(  \cos\left(
2.2873t-\SI{98.95}{\degree}\right)  +
\sin\left(  2.2873t-\SI{98.95}{\degree}\right)  \right)  \\
%
\frac{r}{r}  & =e^{-0.055268t}+e^{-56.5025t}+e^{-0.4218t}\left(
\cos2.2873t+\sin2.2873t\right)  \\
%
\frac{\phi}{r}  & =133.09e^{-0.055268t}-50.4e^{-56.5025t}+11.22e^{-0.4218t}
\left(  \cos\left(  2.2873t-\SI{199.39}{\degree}\right)  
+\sin\left(  2.2873t-\SI{199.39}{\degree}\right)  \right)
\end{empheq}

\end{document}

我见过几个相关的问题,但对我来说太复杂了。我希望有一个简单的有没有办法只告诉 Latex 将框设置为所需的宽度?除了fbox这种情况外,我是否应该使用其他方法?

答案1

不是真正自动的,但结果似乎接近你想要的。但我愿意在我的文档中这样做,无论花多少钱。

\documentclass[12pt,notitlepage]{article}
\usepackage[pass,showframe]{geometry}
\usepackage{amsmath,empheq}
\usepackage{siunitx}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}

\begin{empheq}[box=\mbox]{align*}
\tikzmark{A}
\frac{v}{r}  & =2.651e^{-0.055268t}+0.4867e^{-56.5025t}+7.849e^{-0.4218t}
\left(  \cos\left(  2.2873t+\SI{80.15}{\degree}\right)  +\sin\left(  2.2873t+
\SI{80.15}{\degree}\right)  \right)  \\
%
\frac{p}{r}  & =-0.4348e^{-0.055268t}+\overset{\text{compare to g=0
below}}{\overbrace{168.36e^{-56.5025t}}}+1.543e^{-0.4218t}\left(  \cos\left(
2.2873t-\SI{98.95}{\degree}\right)  +
\sin\left(  2.2873t-\SI{98.95}{\degree}\right)  \right)  \\
%
\frac{r}{r}  & =e^{-0.055268t}+e^{-56.5025t}+e^{-0.4218t}\left(
\cos2.2873t+\sin2.2873t\right)  \\
%
\frac{\phi}{r}  & =133.09e^{-0.055268t}-50.4e^{-56.5025t}+11.22e^{-0.4218t}
\left(  \cos\left(  2.2873t-\SI{199.39}{\degree}\right)  
+\sin\left(  2.2873t-\SI{199.39}{\degree}\right)  \right)\tikzmark{B}
\end{empheq}
\begin{tikzpicture}[remember picture,overlay]
\draw ([shift={(-.2em,3.5ex)}]pic cs:A) rectangle ([shift={(1.6em,-2.5ex)}]pic cs:B);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

不建议:

一个解决方案是改变边距和 _after empheq。下面我应用了我怎样才能更改部分文本的边距?调整边距:

在此处输入图片描述

然而,我会推荐下面的解决方案alignat*

笔记:

  • 包裹showframe 仅用于显示页边距。实际使用时不需要它。
  • 这绝对是一个不是自动解决,现在我知道为什么在使用环境时必须调整边距以使其不对称ChangeMargin

建议的解决方案:

虽然这确实不是真正回答你的问题,我建议你重新格式化方程式,以便通过对齐适当的点更容易被人类理解:

在此处输入图片描述

笔记:

  • 我还通过可选参数在方程式之间添加了一些垂直空间\\
  • \llap被使用,以便\overset不影响对齐。

代码:

\documentclass[12pt,notitlepage]{article}%
\usepackage{amsmath}
\usepackage{empheq}
\usepackage{siunitx}
\usepackage{showframe}

% https://tex.stackexchange.com/questions/588/how-can-i-change-the-margins-for-only-part-of-the-text
\def\ChangeMargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}%
\let\endChangeMargin=\endlist%

\begin{document}

\begin{ChangeMargin}{-10.0em}{-20.0ex}%
\begin{empheq}[box=\fbox]{align*}
\frac{v}{r}  & =2.651e^{-0.055268t}+0.4867e^{-56.5025t}+7.849e^{-0.4218t}
\left(  \cos\left(  2.2873t+\SI{80.15}{\degree}\right)  +\sin\left(  2.2873t+
\SI{80.15}{\degree}\right)  \right)  \\
%
\frac{p}{r}  & =-0.4348e^{-0.055268t}+\overset{\text{compare to g=0
below}}{\overbrace{168.36e^{-56.5025t}}}+1.543e^{-0.4218t}\left(  \cos\left(
2.2873t-\SI{98.95}{\degree}\right)  +
\sin\left(  2.2873t-\SI{98.95}{\degree}\right)  \right)  \\
%
\frac{r}{r}  & =e^{-0.055268t}+e^{-56.5025t}+e^{-0.4218t}\left(
\cos2.2873t+\sin2.2873t\right)  \\
%
\frac{\phi}{r}  & =133.09e^{-0.055268t}-50.4e^{-56.5025t}+11.22e^{-0.4218t}
\left(  \cos\left(  2.2873t-\SI{199.39}{\degree}\right)  
+\sin\left(  2.2873t-\SI{199.39}{\degree}\right)  \right)
\end{empheq}
\end{ChangeMargin}
\end{document}

代码:Recommended

\documentclass[12pt,notitlepage]{article}%
\usepackage{amsmath}
\usepackage{empheq}
\usepackage{siunitx}
\usepackage{showframe}

\begin{document}

\begin{empheq}[box=\fbox]{alignat*=5}
\frac{v}{r}   &={} &2.651 e^{-0.055268t}   &+{} &0.4867e^{-56.5025t}                                                    &+{} &7.849e^{-0.4218t} &f(\SI{80.15}{\degree}) \\
\frac{p}{r}   &={} &-0.4348 e^{-0.055268t} &+{} &\overset{\llap{$\scriptstyle\text{compare to g=0 below}$}}{\overbrace{168.36e^{-56.5025t}}} &+{} &1.543e^{-0.4218t} &f(\SI{98.95}{\degree}) \\[2ex]
\frac{r}{r}   &={} &e^{-0.055268t}         &+{} &      e^{-56.5025t}                                                    &+{} &e^{-0.4218t}      &f(\SI{0}{\degree})     \\[2ex]
\frac{\phi}{r}&={} &133.09 e^{-0.055268t}  &-{} &  50.4e^{-56.5025t}                                                    &+{} &11.22e^{-0.4218t} &f(\SI{199.39}{\degree})
\end{empheq}
where
\[ f(x) = \cos\left(  2.2873t + x\right) + \sin\left(  2.2873t+
x\right)  \]

\end{document}

答案3

您必须删除 4 个方程中太长而无法放入边距的 3 个。这可以使用包multlined中的环境来完成\ mathtools(它由 empheq, and it loadsamsmath, so it is unnecessary to load both of them). I loaded empheq with the重载option – which simplifies the typing, and defined awidebox 命令加载,在我看来,它的结果看起来更好。

\documentclass[12pt,notitlepage]{article}%
%\usepackage{amsmath}
\usepackage[showframe, nomarginpar]{geometry}
\usepackage[overload]{empheq}
\usepackage{siunitx}
\newcommand*{\widebox}[2][1em]{\setlength{\fboxsep}{7pt}\fbox{\hspace{#1}$\displaystyle #2$\hspace{#1}}}
\begin{document}


\begin{align*}[box=\widebox]%\small
\frac{v}{r}  & = \begin{multlined}[t]
 2.651e^{-0.055268t}+0.4867e^{-56.5025t}\\+7.849e^{-0.4218t}
\left(  \cos\left(  2.2873t+\SI{80.15}{\degree}\right)  +\sin\left(  2.2873t+
\SI{80.15}{\degree}\right)  \right)
\end{multlined} \\[6pt]
%
\frac{p}{r}  & =\begin{multlined}[t]-0.4348e^{-0.055268t}+\overset{\text{compare to g=0
below}}{\overbrace{168.36e^{-56.5025t}}} \\ +1.543e^{-0.4218t}\left(  \cos\left(
2.2873t-\SI{98.95}{\degree}\right)  +
\sin\left(  2.2873t-\SI{98.95}{\degree}\right)  \right)
\end{multlined}  \\[6pt]
%
\frac{r}{r}  & =e^{-0.055268t}+e^{-56.5025t} +e^{-0.4218t}\left(
\cos2.2873t+\sin2.2873t\right)\\[6pt]
%
\frac{\phi}{r}  & = \begin{multlined}[t]133.09e^{-0.055268t}-50.4e^{-56.5025t}\\+11.22e^{-0.4218t}
\left(  \cos\left(  2.2873t-\SI{199.39}{\degree}\right)
+\sin\left(  2.2873t-\SI{199.39}{\degree}\right)  \right)
\end{multlined}
\end{align*}
\end{document} 

在此处输入图片描述

相关内容