是否有一个技巧可以使方程式fbox
适合empheq
,即使它们太宽,或者在这种情况下不必手动输入尺寸的数值?
我想用方框围住一组方程式,但它们太宽了,结果得到了这样的结果:
平均能量损失
\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 loads
amsmath, so it is unnecessary to load both of them). I loaded empheq with the
重载option – which simplifies the typing, and defined a
widebox 命令加载,在我看来,它的结果看起来更好。
\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}