Возможный дубликат:
Изменение внешнего вида чисел уравнения с помощью amsmath
Мне нужно иметь возможность выделять жирным шрифтом подписи уравнений, но в то же время мне нужно, чтобы ссылки на эти уравнения в остальном тексте имели обычный стиль.
Вот что я попробовал:
\let\theoldequation\theequation
\renewcommand*{\theequation}{\textbf{\theoldequation}} % bold equation numbers
и это (используя etoolbox
пакет)
\pretocmd{\theequation}{\textbf}{}{}
Выход:
Чтобы решить эту проблему, я много гуглил и смог найти только следующие варианты:
\renewcommand{\eqref}[1]{\textnormal{(\ref{#1})}}
и
\let\oldeqref\eqref
\renewcommand*{\eqref}{\textnormal{\oldeqref}} % bold equation numbers
и
\pretocmd{\eqref}{\textnormal}{}{}
и последний:
\patchcmd{\eqref}{\textbf}{\textnormal}{}{}
Но ни один не дал того, что мне требуется сделать. Можете ли вы дать решение этой проблемы?
решение1
Если вы используете amsmath
и \eqref
, вам необходимо переопределить \tagform@
и \eqref
так, чтобы метка и скобки были выделены жирным шрифтом:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\tagform@#1{\maketag@@@{\bfseries(\ignorespaces#1\unskip\@@italiccorr)}}
\renewcommand{\eqref}[1]{\textup{{\normalfont(\ref{#1}}\normalfont)}}
\makeatother
\begin{document}
\begin{equation}\label{eq:test}
a + b = c.
\end{equation}
See equation~\eqref{eq:test}
\end{document}
Если жирным шрифтом нужно выделить только метку, то можно сказать:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\tagform@#1{\maketag@@@{(\ignorespaces\textbf{#1}\unskip\@@italiccorr)}}
\renewcommand{\eqref}[1]{\textup{{\normalfont(\ref{#1}}\normalfont)}}
\makeatother
\begin{document}
\begin{equation}\label{eq:test}
a + b = c.
\end{equation}
See equation~\eqref{eq:test}
\end{document}
решение2
Переопределить \@eqnnum
. (РЕДАКТИРОВАТЬ: Как указывает Торбьёрн Т., это не работает, если автор использует amsmath
.)
\documentclass{article}
\makeatletter
\def\@eqnnum{{\normalfont\normalcolor\bfseries(\theequation)}}
\makeatother
\begin{document}
\begin{equation}\label{eq:test}
a^2 + b^2 = c^2
\end{equation}
See equation~\ref{eq:test}.
\end{document}