因此,我尝试对类似 的内容进行装箱$\frac{1}{10}$
,但当我这样做时$\boxed{1}{10}$
,它会将分数置于显示样式中。但是,这对于我的论文格式来说并不理想。我该如何避免这种情况?我找不到任何类似的问题,我尝试了所有我知道的和能找到的装箱命令。
编辑:如何在数学环境中执行此操作,例如:$\frac{1-\left(\frac{3}{8}\right)^\infty}{10}={\frac{1}{10}}.$
另外,有人可以解释一下为什么它不能将上述内容转换为乳胶吗?
当我真正使用 \fbox 时,会发生以下情况:
$\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\fbox{\frac{1}{10}}.$
答案1
您的代码
$\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\fbox{\frac{1}{10}}.$
打印错误消息
! Missing $ inserted.
<inserted text>
$
l.7 ...}{8}\right)^\infty}{10}=\fbox{\frac{1}{10}}
.$
是的,如果 LaTeX 用户不了解 TeX 本身,那么这对他们来说就不够清楚。我尝试更详细地解释这一点。
LaTeX 宏\fbox
将其参数放入\hbox
原始宏中,即\fbox{text}
执行(除了其他操作之外)\hbox{text}
。TeX\hbox
原始宏打开组,启动内部水平模式,text
从中读取并创建水平列表,关闭组并从创建的水平列表中创建一个框并将其放入当前构建的列表中。重要的是:它打开内部水平模式。它(粗略地说)是一种文本模式,不会在段落中拆分成行。它不是数学模式。TeX 中的模式使用堆栈原理打开和关闭。
LaTeX 宏的\frac{A}{B}
作用(粗略地说){A\over B}
是\over
TeX 原语,只能在数学模式下使用。即您的代码\fbox{\frac{1}{10}}
执行以下操作:
\hbox{{1\over 10}}
可以1
在内部水平模式下打印。然后扫描\over
了,但不能在内部水平模式下使用。TeX 建议$
在此处插入以打开数学模式。错误消息中说。现在,扫描$\over 10}
了。}
此处与打开不匹配,{
因为插入了$
。我们可以看到第二条错误消息:
! Extra }, or forgotten $.
\frac #1#2->{\begingroup #1\endgroup \over #2}
这里还有更多类似的错误。
正确的代码应该是:
$\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\fbox{$\frac{1}{10}$}.$
如第一条评论所述。您可以在此处查看模式的堆栈原理。第一个$
打开数学模式,第二个\fbox{$\frac{1}{10}$}
展开为
\hbox{$1\over 10$}
并\hbox
打开内部水平模式,然后$
打开下一个数学模式并关闭$
它,创建数学列表,将其转换为水平列表并返回到由 打开的内部水平模式\hbox
。然后\hbox
完成水平列表,关闭内部水平模式并返回到外部数学模式,即创建的框作为单个元素插入到当前构建的数学列表中。
答案2
确实,amsmath
定义\boxed
为总是使用\displaystyle
。
重新定义它以便使用当前的数学风格并不困难。
\documentclass{article}
\usepackage{amsmath}
% from amsmath.sty
%\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
% now we redefine it
\makeatletter
\renewcommand{\boxed}[1]{\mathpalette\boxed@{#1}}
\newcommand{\boxed@}[2]{\fbox{\m@th$#1#2$}}
\makeatother
\begin{document}
$\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\boxed{\frac{1}{10}}.$
\[
\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\boxed{\frac{1}{10}}.
\]
$x_{\boxed{y}}$
\end{document}
这是不同的版本,其中规则和内部材料之间的脚本样式分离较小。
\documentclass{article}
\usepackage{amsmath}
% from amsmath.sty
%\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
% now we redefine it
\makeatletter
\renewcommand{\boxed}[1]{\mathpalette\boxed@{#1}}
\newcommand{\boxed@}[2]{%
\begingroup
\boxed@sep{#1}% set \fboxsep according to the style
\fbox{\m@th$#1#2$}%
\endgroup
}
\newcommand{\boxed@sep}[1]{% fix the lengths to suit
\settowidth{\fboxsep}{$\m@th#1\mspace{1mu}\nonscript\mspace{3mu}$}%
}
\makeatother
\begin{document}
$\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\boxed{\frac{1}{10}}.$
\[
\frac{1-\left(\frac{3}{8}\right)^\infty}{10}=\boxed{\frac{1}{10}}.
\]
$x_{\boxed{y}}$
\end{document}