答案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