
Quiero cambiar la alineación de los apéndices. Estoy usando
\documentclass[12pt]{report}
...
\usepackage{titletoc}
\usepackage[toc,titletoc]{appendix}
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} % for chapters
\renewcommand{\cftchapfont}{\uppercase}
\renewcommand{\cftchappagefont}{}
\renewcommand{\cfttoctitlefont}{\hfill\uppercase}
\renewcommand{\cftaftertoctitle}{\hfill}
\setlength{\cftbeforetoctitleskip}{-3em}
\renewcommand{\cftloftitlefont}{\hfill\uppercase}
\renewcommand{\cftafterloftitle}{\hfill}
\setlength{\cftbeforeloftitleskip}{-3em}
\renewcommand{\cftlottitlefont}{\hfill\uppercase}
\renewcommand{\cftafterlottitle}{\hfill}
\setlength{\cftbeforelottitleskip}{-3em}
Tengo que modificar un par de cosas más. Esto es lo que tengo.
APPENDICES................. 10
APPENDIX A ................ 13
APPENDIX B ................ 15
Esto es lo que necesito.
APPENDICES................. 10
APPENDIX A ............. 13
APPENDIX B ............. 15
Respuesta1
Una posibilidad es utilizar \titlecontents
desde eltitletoc
paquete.
Observaciones:
Observe que la
titletoc
opción para elappendix
paquete ya no es necesaria.\uppercase
es un comando TeX que no debería usarse en documentos LaTeX; se puede utilizar\MakeUppercase
en su lugar; sin embargo, ambos comandos reciben un argumento, por lo que el uso de\uppercase
(o\MakeUppercase
) como se hizo en el ejemplo proporcionado en la pregunta producirá errores.Tenga en cuenta también que algunas de las configuraciones originales fueron reemplazadas por algunas redefiniciones y parches en mi respuesta; en particular, utilicé una redefinición de
\l@chapter
usar los líderes de puntos y diseñar las entradas de los capítulos usando mayúsculas. Los comandos internos\@cftmaketoctitle
,\@cftmakeloftitle
y\@cftmakelottitle
fromtocloft
fueron parcheados (con la ayuda deletoolbox
paquete) para usar fuentes en mayúsculas para los títulos de ToC, LoF y LoT, respectivamente.
El código:
\documentclass{report}
\usepackage[toc]{appendix}
\usepackage{titletoc}
\usepackage{tocloft}
\usepackage{etoolbox}
\usepackage{textcase}
\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode
\advance\leftskip\@tempdima
\hskip -\leftskip
\MakeTextUppercase{#1}\nobreak\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill
\nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi}
\patchcmd{\@cftmaketoctitle}{\cfttoctitlefont\contentsname}{\cfttoctitlefont\MakeUppercase{\contentsname}}{}{}
\patchcmd{\@cftmakeloftitle}{\cftloftitlefont\listfigurename}{\cftloftitlefont\MakeUppercase{\listfigurename}}{}{}
\patchcmd{\@cftmakelottitle}{\cftlottitlefont\listtablename}{\cftlottitlefont\MakeUppercase{\listtablename}}{}{}
\makeatother
\renewcommand{\cfttoctitlefont}{\hfill}
\renewcommand{\cftaftertoctitle}{\hfill}
\setlength{\cftbeforetoctitleskip}{-3em}
%
\renewcommand{\cftloftitlefont}{\hfill}
\renewcommand{\cftafterloftitle}{\hfill}
\setlength{\cftbeforeloftitleskip}{-3em}
%
\renewcommand{\cftlottitlefont}{\hfill}
\renewcommand{\cftafterlottitle}{\hfill}
\setlength{\cftbeforelottitleskip}{-3em}
\begin{document}
\tableofcontents
\chapter{Test Regular Chapter}
\begin{appendices}
\titlecontents{chapter}[10em]
{\addvspace{10pt}}
{\contentslabel[\MakeUppercase{\appendixname~\thecontentslabel}]{8em}\MakeUppercase}
{\hspace*{-8em}}{\titlerule*[.754em]{.}\contentspage}
\chapter{First Test Appendix}
\chapter{Second Test Appendix}
\end{appendices}
\end{document}
Como comentario final (y solo como sugerencia), creo que sería mejor usar letras minúsculas en lugar de mayúsculas para las entradas del ToC; Esto también tendría una ventaja adicional: la implementación sería considerablemente más fácil.