使用带有 titlesec 和 titletoc 的附录包时,无法获取目录中 A 之前的附录

使用带有 titlesec 和 titletoc 的附录包时,无法获取目录中 A 之前的附录

我正在写论文,附录中章节字母前必须写上“Anexo”。我尝试使用\usepackage[titletoc]{appendix},但没有成功。还尝试使用 titlesec 和 titletoc 中的注释命令,但即使这样,我也无法让它工作。

这是我的 MWE:

\documentclass[12pt]{report}

\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel} % pone el idioma en español

\usepackage[titletoc]{appendix}

\renewcommand{\appendixname}{Anexos}
\addto\captionsspanish{\renewcommand{\appendixname}{Anexo}}

\usepackage{titlesec} 
\titleformat{\chapter}[display] 
{\large\bfseries\centering}{\MakeUppercase\chaptertitlename\ \thechapter}{1em}{\MakeUppercase}{} % Cambios en Capitulo

\titleformat{\section}{\large\bfseries}{\thesection.}{1em}{}

\usepackage{titletoc}

\titlecontents{chapter}[0em]
{\vspace{0em}}
{\normalfont\normalsize\contentslabel[\thecontentslabel.]{2em}\uppercase}
{\hspace*{-2em}\uppercase}
{\titlerule*[.75em]{.}\contentspage}

\titlecontents{section}[2em]
{\vspace{0em}}
{\normalfont\normalsize\contentslabel[\thecontentslabel.]{2em}}
{\hspace*{-2em}}
{\titlerule*[.75em]{.}\contentspage}

\usepackage[]{hyperref} % Opción para que aparesca el indice en el pdf

\begin{document}

\tableofcontents

\chapter{text}

\section{text}

\appendix

\chapter{text}
\end{document}

输出如图所示,我需要打印“Anexo A”:

在此处输入图片描述

编辑 1:我尝试添加一些代码来手动将“Anexo #:”添加到 titletoc 代码中,但没有得到很好的结果:

\appendix

\titlecontents{chapter}[0em]
{\vspace{0em}}
{\normalfont\normalsize\contentslabel[Anexo \thecontentslabel:]{2em}\uppercase}
{\hspace*{-2em}\uppercase}
{\titlerule*[.75em]{.}\contentspage}

\chapter{text}
\chapter{text}

结果:

在此处输入图片描述

有没有办法将章节标题向右移动,以使该解决方案可行?

答案1

大量借鉴了网站上另外两个答案

下面的操作似乎可以实现你想要的效果:

\documentclass[12pt]{report}
\usepackage{etoolbox}
\usepackage[spanish]{babel} % pone el idioma en español
\newlength{\toclabelwidth}
\setlength{\toclabelwidth}{2em}
\addto\captionsspanish{\renewcommand{\appendixname}{Anexo}}
\usepackage{titlesec,titletoc}
\setcounter{tocdepth}{3}
\titleformat{\chapter}[display] 
{\large\bfseries\centering}{\MakeUppercase\chaptertitlename\ \thechapter}{1em}{\MakeUppercase}{} % Cambios en Capitulo
\titleformat{\section}{\large\bfseries}{\thesection.}{1em}{}
\makeatletter
\appto\appendix{\addtocontents{toc}{\setlength{\toclabelwidth}{5em}\gdef\protect\@chapapp{\protect\appendixname}}}
\appto\contentsfinish{\gdef\@chapapp{\chaptername}}
\makeatletter
\usepackage{titletoc}
\titlecontents{chapter}
[\toclabelwidth]
{\normalfont\renewcommand\chaptername{}}
{\contentslabel[\@chapapp~\thecontentslabel\quad]{\toclabelwidth}\MakeUppercase}
{}
{\titlerule*[.75em]{.}\contentspage}
\makeatother
\titlecontents{section}
[4em]
{}
{\normalfont\normalsize\contentslabel[\thecontentslabel.]{2em}}
{\hspace*{-2em}}
{\titlerule*[.75em]{.}\contentspage}


\begin{document}

\tableofcontents

\chapter{text}

\section{text}
\subsection{text}

\appendix

\chapter{text}
\section{appendix}
\subsection{appendix}
\end{document}

代码输出

相关内容