排版以下 MWE:
\documentclass[a4paper]{report}
\usepackage[all]{xy}
\usepackage{mathtools}
\begin{document}
\arabic{footnote}
$$\arabic{footnote}\xymatrix{\arabic{footnote}0\overset{\arabic{footnote}\addtocounter{footnote}{+1}\arabic{footnote}}{=}\arabic{footnote}H_1(U\cup V)\ar[r]^{\partial} & H_0(U\cap V}\arabic{footnote}.$$
\arabic{footnote}\addtocounter{footnote}{+1}\arabic{footnote}
\end{document}
产量:
为什么footnote
计数器在 内部发生变化xymatrix
,然后在 中发生变化\overset
?
答案1
最好避免在数学中使用脚注。
您的示例可以简化并显示对xy
每个单元格进行多次排版,确切地说是三次:
\documentclass[a4paper]{report}
\usepackage[all]{xy}
\usepackage{mathtools}
\newcounter{test}
\newcommand{\dotest}{\stepcounter{test}}
\begin{document}
\xymatrix{{}\dotest\thetest \ar[r] & X}
\end{document}
您可以通过将脚注从 中分离出来来避免此问题\xymatrix
。\xyfootnote
命令不能放在 里面\[..\]
,因为amsmath
不允许\label
在同一个等式中有多个命令。
\documentclass[a4paper]{report}
\usepackage[all]{xy}
\usepackage{mathtools}
\newcommand{\xyfootnote}[2]{%
\refstepcounter{footnote}\label{#1}%
\footnotetext{#2}%
}
\newcommand{\xyfootnotemark}[1]{\textsuperscript{\ref{#1}}}
\newcommand{\fnequal}[1]{\overset{\text{(\ref{#1})}}{=}}
\begin{document}
\xyfootnote{testA}{This is the text of the first footnote}%
\xyfootnote{testB}{This is the text of the second footnote}%
\[
\xymatrix{A\fnequal{testA}B \ar[r] & X\xyfootnotemark{testB}}
\]
\end{document}
可能更倾向于\xyfootnote
在里面\[...\]
;为此,请执行
\documentclass[a4paper]{report}
\usepackage[all]{xy}
\usepackage{mathtools}
\makeatletter
\newcommand{\xyfootnote}[2]{%
\refstepcounter{footnote}\ltx@label{#1}%
\footnotetext{#2}%
}
\makeatother
\newcommand{\xyfootnotemark}[1]{\textsuperscript{\ref{#1}}}
\newcommand{\fnequal}[1]{\overset{\text{(\ref{#1})}}{=}}
\begin{document}
\[
\xyfootnote{testA}{This is the text of the first footnote}%
\xyfootnote{testB}{This is the text of the second footnote}%
\xymatrix{A\fnequal{testA}B \ar[r] & X\xyfootnotemark{testB}}
\]
\end{document}