附录中交叉引用小节的问题

附录中交叉引用小节的问题

我在使用 AER-AEA 文档类交叉引用附录中的子部分时遇到了问题。以下是示例:

\documentclass[AER]{AEA}
\newtheorem{proposition}{Proposition}

\begin{document}

\begin{proposition}\label{Prop1}
Interesting proposition.
\end{proposition}

Proof of Proposition~\ref{Prop1} is in Appendix~\ref{appendix_A1}.\\

\appendix
\section{Appendix}
\subsection{Proof of Proposition~\ref{Prop1}}\label{appendix_A1}
Proof is here.

\end{document}

此代码提供:

命题 1 的证明在附录 A.A1 中。

但我想得到:

命题 1 的证明在附录 A1 中。

答案1

AEA 类

\renewcommand\thesubsection{\thesection\@arabic\c@subsection}

\appendix命令中,即在前面加上\thesection,这是\@Alph\c@section有效的。

通过删除 的特定代码,可以将参考格式\p@subsection更改为仅使用。\thepropositionsubsection

请注意,期刊编辑可能会拒绝此更改。

编辑:一些解释

该宏\g@addto@macro在现有的宏代码中添加了附加代码,因此如果已使用\g@addto@macro{\appendix}{foo}则会导致打印。foo\appendix

由于这是一个名称中\g@addto@macro带有 - 字母的宏,因此需要宏对来允许宏名称。@\makeatletter...\makeatother@

这个\AtBeginDocument钩子“保证”我们对本地的更改是\appendix在文档开头完成的,\AtBeginDocument在类或包提供的所有其他钩子之后,所以我们的更改是这个命令链中的最后一个。

\documentclass[AER]{AEA}
\newtheorem{proposition}{Proposition}


\makeatletter
\AtBeginDocument{
\g@addto@macro{\appendix}{\renewcommand{\p@subsection}{}}
}
\makeatother


\begin{document}

\begin{proposition}\label{Prop1}
Interesting proposition.
\end{proposition}

Proof of Proposition~\ref{Prop1} is in Appendix~\ref{appendix_A1}.\\

\appendix
\section{Appendix}
\subsection{Proof of Proposition~\ref{Prop1}}\label{appendix_A1}
Proof is here.

\end{document}

在此处输入图片描述

相关内容