我正在写一本书,其中包含一些章节。在某些章节中,需要准备一个或多个附录。准备这种风格的代码很简单,如下所示
\documentclass{book}
\usepackage{appendix}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{one}
\lipsum[4-10]
\chapter{two}
\lipsum[4-10]
\begin{appendices}
\chapter{app2.1}
\lipsum[4-10]
\chapter{app2.2}
\lipsum[4-10]
\end{appendices}
\chapter{three}
\begin{appendices}
\chapter{app3.1}
\lipsum[4-10]
\end{appendices}
\chapter{four}
\lipsum[4-10]
\chapter{five}
\lipsum[4-10]
\begin{appendices}
\chapter{app5.1}
\lipsum[4-10]
\chapter{app5.2}
\lipsum[4-10]
\end{appendices}
\end{document}
显然,附录是Appendix A
、Appendix B
等,与章节号无关。但我想根据章节号重命名它们,例如、、Appendix 2.A
等。我该如何更改代码?Appendix 2.B
Appendix 3.A
答案1
为了使附录以这种方式运行,您应该使用子附录和章节。
\documentclass{book}
\usepackage{appendix}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{one}
\lipsum[4-10]
\chapter{two}\label{test}
\lipsum[4-10]
\begin{subappendices}
\section{app2.1}
\lipsum[4-10]
\section{app2.2}
\lipsum[4-10]
\end{subappendices}
\chapter{three}
\begin{subappendices}
\section{app3.1}
\lipsum[4-10]
\end{subappendices}
\chapter{four}
\lipsum[4-10]
\chapter{five}
\lipsum[4-10]
\begin{subappendices}
\section{app5.1}
\lipsum[4-10]
\section{app5.2}
\lipsum[4-10]
\end{subappendices}
\end{document}
此版本使用 etoolbox 修改附录包。
\documentclass{book}
\usepackage{appendix}
\usepackage{etoolbox}
\usepackage{lipsum}
\makeatletter
\patchcmd{\l@chapter}{\setlength\@tempdima{1.5em}}{\setlength\@tempdima{2.3em}}{}{1}
\pretocmd{\appendices}{\edef\currentchapter{\thechapter}\setcounter{@ppsaveapp}{0}}{}{2}
\apptocmd{\appendices}{\renewcommand{\thechapter}{\currentchapter.\Alph{chapter}}}{}{3}
\makeatother
\begin{document}
\tableofcontents
\chapter{one}
\lipsum[4-10]
\chapter{two}\label{test}
\lipsum[4-10]
\begin{appendices}
\chapter{app2.1}
\lipsum[4-10]
\chapter{app2.2}
\lipsum[4-10]
\end{appendices}
\chapter{three}
\begin{appendices}
\chapter{app3.1}
\lipsum[4-10]
\end{appendices}
\chapter{four}
\lipsum[4-10]
\chapter{five}
\lipsum[4-10]
\begin{appendices}
\chapter{app5.1}
\lipsum[4-10]
\chapter{app5.2}
\lipsum[4-10]
\end{appendices}
\end{document}