防止方程式标签改变大小

防止方程式标签改变大小

\footnotesize每次我使用标签更改方程式字体大小(例如(3.12))右侧的字体大小也会改变。有没有办法改变公式字体大小而不改变其标签字体大小?或者反之亦然 - 改变标签字体大小而不改变公式字体大小。

我通常这样写下方程式:

\begin{minipage}[t]{\textwidth}
\footnotesize
\begin{equation}\label{eee013}
\begin{split}
f(x) = A e^{-\frac{(x-\textcolor{1}{\mu})^2}{2 \textcolor{1}{\sigma^2}}}
\end{split}
\end{equation}
\end{minipage}

答案1

\maketag@@@负责生成 中的方程编号的宏定义amsmath如下:

\def\maketag@@@#1{\hbox{\m@th\normalfont#1}}

您可以看到它设置了\normalfont字体大小,但并没有改变字体大小,因此在您的例子中,数字也是脚注大小。要将所有公式编号的大小改回文档字体大小,请在序言后添加以下几行\usepackage{amsmath}

\makeatletter
\def\maketag@@@#1{\hbox{\m@th\normalfont\normalsize#1}}
\makeatother

\normalsize当然,您也可以用任何其他尺寸命令来替换。

注意:请添加最小工作示例(MWE)下次你问问题时。特别是,你没有提到你正在使用amsmathand color/xcolor包,并且你定义了一种新的 color 1。这让你的代码更难阅读。

编辑:

这种方法的一个缺点是amsmath\eqref宏还使用 来格式化引用\maketag@@@。因此,如果您不想在 中排版这些引用\normalsize,您也可以重新定义\eqref。为此,请使用以下代码片段代替上面给出的代码片段:

\makeatletter
  \def\my@tag@font{\normalsize}
  \def\maketag@@@#1{\hbox{\m@th\normalfont\my@tag@font#1}}
  \let\amsmath@eqref\eqref
  \renewcommand\eqref[1]{{\let\my@tag@font\relax\amsmath@eqref{#1}}}
\makeatother

然后,您定义的所有内容\my@tag@font都将用于方程编号,但会被丢弃以供\eqref参考。

答案2

请随时发帖完全的文档显示了所有使用的软件包。我不得不根据片段中使用的命令做出一些猜测。

在此处输入图片描述

您可以添加\normalsize到用于设置 AMS 比对中的方程编号的命令中。

\documentclass{article}
\usepackage{color,amsmath}
\definecolor{1}{rgb}{1,0,0}
\makeatletter
\def\maketag@@@#1{\hbox{\m@th\normalfont\normalsize#1}}
\makeatother

\begin{document}
\centering

\begin{minipage}[t]{\textwidth}
\footnotesize
\begin{equation}\label{eee013}
\begin{split}
f(x) = A e^{-\frac{(x-\textcolor{1}{\mu})^2}{2 \textcolor{1}{\sigma^2}}}
\end{split}
\end{equation}
\end{minipage}

\begin{minipage}[t]{\textwidth}
\begin{equation}\label{eee013x}
\begin{split}
f(x) = A e^{-\frac{(x-\textcolor{1}{\mu})^2}{2 \textcolor{1}{\sigma^2}}}
\end{split}
\end{equation}
\end{minipage}

\end{document} 

请注意,将方程式放在小页面中会破坏大部分上面和下面的显示空间逻辑,它只在特殊情况下才需要。

答案3

我假设你正在使用amsmath-package. 您可以使用以下方式更改方程数字的格式和样式

\makeatletter
    \def\tagform@#1{\maketag@@@{\normalsize(#1)\@@italiccorr}}
\makeatother

这里我\normalsize在左括号之前添加了一个。这是一个完整的示例:

\documentclass{article}
\usepackage{amsmath}
\usepackage{color}

\begin{document}

the small equation, with small equation number
\footnotesize
\begin{equation}\label{eee013-a}
    \begin{split}
        f(x) = A e^{\cfrac{(x-\textcolor{red}{\mu})^2}{2 \textcolor{red}{\sigma^2}}}
    \end{split}
\end{equation}
\normalsize

for comparison: a normal equation
\begin{equation}\label{eee013-b}
    \begin{split}
        f(x) = A e^{\cfrac{(x-\textcolor{red}{\mu})^2}{2 \textcolor{red}{\sigma^2}}}
    \end{split}
\end{equation}

%changing the equation number to 'normalsize'
\makeatletter
    \def\tagform@#1{\maketag@@@{\normalsize(#1)\@@italiccorr}}
\makeatother

the small equation with 'normalsized' equation number
\footnotesize
\begin{equation}\label{eee013-c}
    \begin{split}
        f(x) = A e^{\cfrac{(x-\textcolor{red}{\mu})^2}{2 \textcolor{red}{\sigma^2}}}
    \end{split}
\end{equation}

\end{document}

截屏

相关内容