我使用 Scientific Word 生成 Latex,从其 GUI 来看,它仅支持\fbox
在显示的方程周围放置一个框架。即,我从 GUI 中选择方程,然后单击添加框架的按钮。它生成的 Latex 会将其添加到fbox
内部\[...\]
,因此我无法控制这一点。
我能做的是在乳胶文件的前言中添加一些可以修复或改进其功能的内容。
问题是,\fbox
与等式左边相比,这似乎改变了等式右边的数学运算的大小。当我使用 执行相同操作时,\boxed
我得到了更好的结果,这正是我想要的。(但同样,GUI 生成\fbox
并且没有办法告诉 SW 改用boxed
)。
这是一个 MWE,很明显fbox
输出不正确。
起初我以为如果我把字体fboxsep
放大一点就可以解决这个问题,但这对字体大小没有任何影响。我还能向序言中添加其他内容来使结果看起来像这样吗\boxed
?
最后一件事,我不能仅仅\fbox
通过\boxed
使用一些智能文本替换宏来改变,因为 SW 将不再能够在屏幕上显示方程式,因为它不知道是什么\boxed
。
\documentclass[11pt]{article}%
\usepackage{amsmath}
\setlength{\fboxsep}{10pt}
\begin{document}
\[
\fbox{$x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right) }}$}%
\]
\[
\boxed{x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right) }}}%
\]
\end{document}
结果是
答案1
一种方法是明确切换到\displaystyle
within \fbox
。这样,\[...\]
就可以省略,除非它应该明确居中(最好使用\begin{center}...\end{center}
或\centering
(分组!))
我添加了一个\mathfbox
可以自动执行\[...\]
显示样式的命令。
屏幕截图显示了这三种方式。\mathfbox
输出是中间的那个!
\documentclass[11pt]{article}%
\usepackage{amsmath}
\setlength{\fboxsep}{10pt}
\newcommand{\mathfbox}[1]{%
\[%
\fbox{%
\ensuremath{\displaystyle{#1}}%
}% End of \fbox
\]%
}%
\begin{document}
\[
\fbox{%
$\displaystyle x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right)}}$}%
\]
\mathfbox{x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(1+t^2\right)}}}%
\[
\boxed{x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right) }}}%
\]
\end{document}
这样两个盒子看起来就一样了……我怀疑,这\boxed
和\fbox{\ensuremath{\displaystyle...}
更新,使用重新定义的\fbox
命令
\documentclass[11pt]{article}%
\usepackage{amsmath}
\usepackage{xstring}
\usepackage{letltxmacro}%
\setlength{\fboxsep}{10pt}
\begin{document}
\LetLtxMacro\LaTeXStandardFBox\fbox
\renewcommand{\fbox}[1]{%
\LaTeXStandardFBox{%
\expandarg
\StrSubstitute[1]{#1}{$}{$\displaystyle}%
}% End of \fbox
}%
\[
\fbox{$x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(1+t^2\right)}}$}%
\]
\let\fbox\LaTeXStandardFBox%
\[
\boxed{x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right) }}}%
\]
\end{document}
答案2
与往常一样,我的建议是,如果前端不支持基本构造,并且像 SW 一样基于较旧的 TeX 发行版,则放弃使用 LaTeX。
我建议的解决方案是一种 hack,在其他情况下可能会产生不好的结果。此外,\boxed
应该使用非常一般情况下是谨慎的(“从不”与“非常谨慎”的用法非常接近)。
\documentclass[11pt]{article}
\usepackage{amsmath}
\let\latexfbox\fbox
\renewcommand{\fbox}[1]{%
\latexfbox{\everymath{\displaystyle}#1}%
}
\begin{document}
\[
\fbox{$x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right) }}$}%
\]
\[
\boxed{x_1\left( t\right) =x_{20}\frac{t}{1+t^2}+\frac{1}{\sqrt{\left(
1+t^2\right) }}}%
\]
\end{document}