부록 패키지 ToC 제어

부록 패키지 ToC 제어

부록의 정렬을 변경하고 싶습니다. 나는 사용하고있다

\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}

다른 몇 가지 사항을 수정해야 합니다. 이것이 내가 가진 것입니다.

APPENDICES................. 10
APPENDIX A ................ 13
APPENDIX B ................ 15

이것이 나에게 필요한 것입니다.

APPENDICES................. 10
   APPENDIX A ............. 13
   APPENDIX B ............. 15

답변1

한 가지 가능성은 \titlecontents다음에서 사용하는 것입니다.titletoc패키지.

비고:

  • titletoc패키지 에 대한 옵션 은 appendix더 이상 필요하지 않습니다.

  • \uppercaseLaTeX 문서에서 사용하면 안되는 TeX 명령입니다. 대신 사용할 수 있습니다 \MakeUppercase. 그러나 이 두 명령 모두 인수를 받기 때문에 질문에 제공된 예에서 수행된 대로 \uppercase(또는 )를 사용하면 오류가 발생합니다.\MakeUppercase

  • 또한 내 대답의 일부 재정의 및 패치에 대해 원래 설정 중 일부가 대체되었음을 확인하십시오. 특히 \l@chapter점선 리더를 사용하고 대문자를 사용하여 장 항목의 스타일을 지정하기 위해 의 재정의를 사용했습니다. 내부 명령 \@cftmaketoctitle, \@cftmakeloftitle\@cftmakelottitlefrom 은 각각 ToC, LoF 및 LoT 제목에 대문자 글꼴을 사용하도록 tocloft패치되었습니다(패키지의 도움으로 ).etoolbox

코드:

\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}

여기에 이미지 설명을 입력하세요

마지막으로 (그리고 단지 제안으로서) ToC 항목에 대문자 글꼴 대신 작은 대문자를 사용하는 것이 더 낫다고 생각합니다. 이는 추가적인 이점도 제공합니다. 구현이 훨씬 더 쉬울 것입니다.

관련 정보