自定义编号和引用方程式的字体样式

自定义编号和引用方程式的字体样式

我正在排版一堆证明,我想遵循一个惯例,即每当我引入一个前提时,它都会使用粗体字体进行编号(例如(1)),但当我在文本中引用它时,它使用普通字体书写(例如 (1))。但是,我在方程式方面遇到了问题。我弄清楚了如何自定义方程式标签的样式以使其加粗,但当我使用该\ref引用引用该方程式时,它也是加粗的。这是一个最小的例子:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation}
2 + 2 = 4
\refstepcounter{equation}\tag*{\textbf{(\theequation)}}
\label{foo}
\end{equation}

Reference to equation \ref{foo} is now in bold but I want it to be (1).

\end{document}

上述代码产生:

结果

如何使用普通(非粗体)字体进行引用?

答案1

可以借助 更改标记形式,但这不会直接帮助这里,因为当前标记形式也会影响引用,而这正是您不希望看到的。可以只在显示的方程式中更改标记形式,然后将其恢复为默认形式,但我对mathtools入侵并不像使用 那样放心。mathtoolsamsmath

\documentclass[twocolumn]{article} % twocolumn for smaller snapshot

\usepackage{amsmath}

\makeatletter
\renewcommand{\eqref}[1]{\textup{(\ignorespaces\ref{#1}\unskip\@@italiccorr)}}
\def\maketag@@@#1{\hbox{\m@th\normalfont\bfseries#1}}
\makeatother

\begin{document}

\begin{align}
2 + 2 &= 4 \label{foo} \\
1 + 3 &= 4 \label{bar} \tag{test 1} \\
2 + 3 &= 5 \label{baz} \tag*{test 2} \\
3 + 3 &= 6 \label{bla} \tag{$*$}
\end{align}
Compare \ref{foo} and \eqref{foo};
\ref{bar} and \eqref{bar};\\
\ref{baz} and \eqref{baz};
\ref{bla} and \eqref{bla}
\end{document}

在此处输入图片描述

请注意,星号当然不是粗体;如果您需要这样的东西,您必须自己将其变为粗体。

答案2

您使用的是amsmath,因此您可以使用 命令\eqref{foo}代替\ref{foo}。这将生成括号中不加粗的方程编号。除此以外,方程环境中也不需要任何东西\label{foo}

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation}
  2 + 2 = 4
  \label{foo}
\end{equation}

Reference to equation \eqref{foo}.

\end{document}

在此处输入图片描述

相关内容