如何使上下文框架的字母自动获得比例大小?

如何使上下文框架的字母自动获得比例大小?

我正在使用一种方法(我不知道确切的名称,可能是气泡表格式)创建问题表,如下所示:

替代文本

我的问题是如何改善外观,使框架字母根据上下文获得成比例的大小。如果框架字母必须用作指数,则它必须更小。如果它用作积分或总和中的下标,它也必须更小。

以下是“规范化”之后的代码片段:-)

\documentclass[dvipsnames,dvips,cmyk]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{bera}


\fboxsep=2pt
\fboxrule=0.8pt

\newcommand{\boxy}[1]{\ensuremath{\,\fbox{\;\,{\color{red}\bf#1}\,\;}\,}}

\newcommand{\ltr}[1]{{\color{red}\bf#1}}

\begin{document}
\noindent%
Each letter \ltr{A}, \ltr{B}, \ltr{C}, etc in the equations represents a numeral (from 0 to 9) or the minus sign ($-$).


\[
\int_{\boxy{A}}^{\boxy{B}}f(x)\,\textrm{d}x=\frac{1-\boxy{P}}{\boxy{Q}+\boxy{R}}
\]

\[
-2 x^{\boxy{XYZ}}-\boxy{W}\sqrt{\boxy{V}+1}
\]

\[
\sum_{i=\boxy{A}}^{\boxy{BC}}=\tan\left(\boxy{D}-\boxy{E}\right)
\]
\end{document}

答案1

使用该\text命令,它采用正确的字体设置:

\documentclass{article}
\usepackage{xcolor}
\usepackage{amsmath}
\fboxsep=2pt
\fboxrule=0.8pt

\newcommand\boxy[1]{\text{\,\fbox{\;\,{\color{red}$\mathbf{#1}$}\,\;}\,}}

\newcommand{\ltr}[1]{{\color{red}\bf#1}}

\begin{document}
\noindent%
Each letter \ltr{A}, \ltr{B}, \ltr{C}, etc in the equations 
represents a numeral (from 0 to 9) or the minus sign ($-$).
%
\[
\int\limits_{\boxy{A}}^{\boxy{B}}f(x)\,\textrm{d}x=\frac{1-\boxy{P}}{\boxy{Q}+\boxy{R}}
\]
%
\[
-2 x^{\boxy{XYZ}}-\boxy{W}\sqrt{\boxy{V}+1}
\]
%
\[
\sum_{i=\boxy{A}}^{\boxy{BC}}=\tan\left(\boxy{D}-\boxy{E}\right)
\]
\end{document}

答案2

您将需要使用\mathpalette:将您的定义替换\boxy

\makeatletter
\newcommand{\boxy}[1]{\ensuremath{\mathpalette\boxy@helper{#1}}}
\newcommand{\boxy@helper}[2]{\,\fbox{\;\,{\color{red}$\m@th#1\mathbf{#2}$}\,\;}\,}
\makeatother

请注意,我对您的宏做了另一项更改:我在中使用了$s 和,并且我添加了以确保您不会获得额外的水平空间。\mathbf\fbox\m@th

相关内容