如何在使用 \setcounter{chapter}{0} 后引用章节

如何在使用 \setcounter{chapter}{0} 后引用章节

我正在尝试创建附录的参考。该appendix软件包正在像我一样重置章节和部分,我在使用它时开始注意到这个错误...

因此我使用来\setcounter重置chaptersection计数器,但不能使用调用\chapter{}\chapter*{}因为我手动创建了标题。

当我尝试引用附录时,\ref返回的是最后一节(附录节之前)的编号,而不是所需附录的编号。

我需要的是\ref输出附录一封信。

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}

\newcommand{\apx}[1]{
    \clearpage
    \stepcounter{chapter}
    \begin{center}
        {\Huge #1}
    \end{center}
}

\begin{document}
\chapter{ch1}
\section{sec11}
The first appendix is Appendix~\ref{apxA} % 2.2 instead of A
\section{sec12}
\chapter{ch2}
The second appendix is Appendix~\ref{apxB} % 2.2 instead of B
\section{sec21}
\section{sec22}


% Appendicis

\setcounter{chapter}{0}% 
\setcounter{section}{0}%

\apx{appendix A} \label{apxA}
\blindtext
\apx{appendix B} \label{apxB}
\blindtext

\end{document}

答案1

我应该用\refstepcounter而不是\stepcounter。为什么是两个不同的命令,奇怪……

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}

\newcommand{\apx}[1]{
    \clearpage
    \refstepcounter{chapter} % <--------------
    \begin{center}
        {\Huge #1}
    \end{center}
}

\begin{document}
\chapter{ch1}
\section{sec11}
The first appendix is Appendix~\ref{apxA} % A
\section{sec12}
\chapter{ch2}
The second appendix is Appendix~\ref{apxB} % B
\section{sec21}
\section{sec22}


% Appendicis

\setcounter{chapter}{0}
\setcounter{section}{0}
\renewcommand{\thechapter}{\Alph{chapter}} % <--------------

\apx{appendix A} \label{apxA}
\blindtext
\par
\thechapter
\apx{appendix B} \label{apxB}
\blindtext
\par
\thechapter

\end{document}

感谢帮助!

相关内容