如何在乳胶中的彩色框中保存方程式编号

如何在乳胶中的彩色框中保存方程式编号

我希望自定义 latex 中方程编号的外观。例如,以下方程编号保存在黑框中。如何实现这种样式?

在此处输入图片描述

答案1

标签格式amsmath

\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}

你可以重新定义它。

\documentclass{article}
\usepackage{xcolor}
\usepackage{amsmath}
\makeatletter
\def\tagform@#1{\maketag@@@{\colorbox{black}{\color{white}\ignorespaces#1\unskip\@@italiccorr}}}
\makeatother
\counterwithin{equation}{section}
\begin{document}
\section{title}
\begin{equation}
a+b=c
\end{equation}
\begin{align}
a+b&=c\\
b&=c+d
\end{align}
\end{document}

在此处输入图片描述

答案2

我认为您不希望\eqref打印一个里面有白色数字的黑色框。

\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}

\makeatletter
% detach \eqref and \tag making
% https://tex.stackexchange.com/a/261647/4427
\renewcommand{\eqref}[1]{\textup{\eqreftagform@{\ref{#1}}}}
\let\eqreftagform@\tagform@

\def\tagform@#1{%
  \maketag@@@{\colorbox{black}{\color{white}\ignorespaces#1\unskip\@@italiccorr}}%
}
\makeatother

\counterwithin{equation}{section}

\begin{document}

\section{Test}

We want to test some numbering
\begin{equation}\label{test}
1=1
\end{equation}
We see from~\eqref{test} that
\begin{align}
11&=1+10 \\
100&=50+50
\end{align}

\end{document}

在此处输入图片描述

如果没有重新定义,\eqref你会得到

在此处输入图片描述

如果您确实要\eqref打印黑框,我建议减小其尺寸以保持行距正确:将\makeatletter\makeatother之间的代码更改为

\makeatletter
\renewcommand{\eqref}[1]{\textup{\footnotesize\tagform@{\ref{#1}}}}
\def\tagform@#1{%
  \maketag@@@{\colorbox{black}{\color{white}\ignorespaces#1\unskip\@@italiccorr}}%
}
\makeatother

在此处输入图片描述

相关内容