我想在框架框中输入方程式。如果我先创建一个框架文本框环境,然后将方程式放入其中或使用该环境,效果是否相同\boxed{}
?
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\begin{document}
\framebox{$a^2+b^2=c^2$}
$\boxed{a^2+b^2=c^2}$
\end{document}
答案1
包amsmath
定义\boxed
:
\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
\framebox
并且\fbox
只是相同内部的不同接口\@frameb@x
,这实际上使得盒子\framebox
拥有更多的选择。
\framebox{$...$}
因此,和之间的主要区别$\boxed{...}$
在于\boxed
设置\displaystyle
,而在前一种变体中必须手动完成:\framebox{$\displaystyle ...$}
。
另一个不同之处在于,如果\mathsurround
不为零。当 TeX 进入和离开内联数学模式时,会设置此空间。它旨在将数学与周围文本分开。在框内,它没有意义,并通过 将其设置为零来\boxed
将其删除。\mathsurround
\m@th
一个测试文件,说明了差异:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
\begin{document}
\newcommand*{\vs}{\mathrel{\text{vs.}}}
\begin{align*}
\text{\ttfamily\string\framebox\{\$\dots\$\}} &\vs
\text{\ttfamily\string\boxed\{\dots\}}
\\
\framebox{$\frac{123}{456}$} &\vs \boxed{\frac{123}{456}}
\\
\setlength{\mathsurround}{1em}\framebox{$X$} &\vs
\setlength{\mathsurround}{1em}\boxed{X}
\end{align*}
\end{document}
模拟如下\boxed
:
\framebox{%
\setlength{\mathsurround}{0pt}%
$\displaystyle ...$%
}
答案2
对于这样的问题我只需加载包lua-visual-debug
。你可以清楚地看到它们都是相同的:
% arara: lualatex
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{blindtext}
\usepackage{lua-visual-debug}
\parindent0pt
\begin{document}
\blindtext
\framebox{$\displaystyle a^2+b^2=c^2$} % displaystyle needed here, as it is set in \boxed by default. It just changes the horizontal spacing of the powers a bit.
$\boxed{a^2+b^2=c^2}$
\blindtext
\end{document}
就间距和对齐而言,装箱是相等的。因此,两种方法类似。有关句法等价性,请参阅 Heiko 的回答。