So behalten Sie den Anhang (wie er ist) im Inhaltsverzeichnis bei, schreiben die Überschrift im Bericht jedoch groß

So behalten Sie den Anhang (wie er ist) im Inhaltsverzeichnis bei, schreiben die Überschrift im Bericht jedoch groß

Ich verwende reportund muss die Kapitelüberschriften in Großbuchstaben schreiben (einschließlich des Anhangs), aber nicht im Inhaltsverzeichnis. Beispielsweise sollte im Dokument statt „Anhang A“ „ANHANG A“ und im Inhaltsverzeichnis „Anhang A“ stehen. Ich habe anscheinend die normalen Kapitel repariert, kann aber nicht herausfinden, wie ich den Anhang reparieren kann.

Ich kann einfach in ANHANG ändern \appendixname, aber dann wird es im Inhaltsverzeichnis in Großbuchstaben angezeigt (was ich lieber nicht hätte). Das Ändern der Definition \appendixfür die Berichtsklasse scheint den gleichen Effekt zu haben (glaube ich, weil es im Grunde nur eine Neudefinition ist \@chapapp):

\renewcommand{\appendix}{\par
   \setcounter{chapter}{0}%
   \setcounter{section}{0}%
   \gdef\@chapapp{APPENDIX}% modified from \appendixname
   \gdef\thechapter{\@Alph\c@chapter}}

Ich konnte das Problem mit den regulären Kapiteln beheben, indem ich \chapternamees so belassen und CHAPTER fest codiert habe, anstatt \@chapappFolgendes zu verwenden (was Teil der ursprünglichen Vorlage war – ich habe es nicht erstellt, daher verstehe ich nicht ganz, was das alles bewirkt):

\def\@chapter[#1]#2{
    \ifnum \c@secnumdepth >\m@ne
        \refstepcounter{chapter}%
        \typeout{CHAPTER\space\thechapter.} % originally used \@chapapp
        \addcontentsline{toc}{chapter}%
        {\@chapapp\space {\thechapter}: {#1}}
    \else
         \addcontentsline{toc}{chapter}{#1}%                     
    \fi
    \chaptermark{#1}%
    \addtocontents{lof}{\protect\addvspace{10\p@}}%
    \addtocontents{lot}{\protect\addvspace{10\p@}}%
    \if@twocolumn
        \@topnewpage[\@makechapterhead{#2}]%
    \else
        \@makechapterhead{#2}%
        \@afterheading
    \fi
}

Ehrlich gesagt verstehe ich nicht, warum \uppercasedas im Folgenden nicht funktioniert, aber es schreibt "Chapter" nicht groß \@chapapp(das war auch in der Originalvorlage so) undTrotzdemerscheint in der Stildatei nach dem obigen (die Kapitelüberschriften habenstetserschien in Großbuchstaben, nur nicht das Präfix „Kapitel x:“)

\def\@makechapterhead#1{%
    \vspace*{-20\p@}%
    {\parindent \z@ \raggedright \normalfont
    \interlinepenalty\@M
    \ifnum \c@secnumdepth >\m@ne
        \centering  \large\bfseries 
        \uppercase{\@chapapp\space \thechapter: #1}
    \fi
    \vskip 20\p@
    }
}

Antwort1

Eine Lösung ohne Hardcoding oder .clsdirektes Bearbeiten der Datei:

Der OP hatte mit seiner Annahme recht \@makechapterhead:

\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}

Es wird tatsächlich die Zeile mit (oder Anhang) \@chapappgedruckt Chapter, gefolgt von der Kapitelnummer.

Um diesen Großbuchstaben zu erhalten, muss man verwenden \MakeUppercase{\@chapapp}, nicht \uppercase.

Anstatt den report.clsCode zu bearbeiten, ist es besser, zu verwenden \xpatchcmd, nach der Zeile zu suchen \huge\bfseries\@chapapp..und diese mit durch den entsprechenden Code zu ersetzen \MakeUppercase.

Dies sollte jedoch erst nach erfolgen \appendix, also hängen Sie diesen Patch an \appendixusing an \xapptocmd{\appendix}{...}(siehe bitte den Code).

\documentclass{report}


\usepackage{xpatch}


\makeatletter

\xapptocmd{\appendix}{%
\xpatchcmd{\@makechapterhead}{%
  \huge\bfseries \@chapapp\space \thechapter
}{%
  \huge\bfseries \MakeUppercase{\@chapapp}\space \thechapter
}{\typeout{Patching \@makechapterhead succeeded}}{\typeout{Patching failed}}% Patching ends
}{\typeout{Appending succeeded}}{\typeout{Appending failed}}
\makeatother

\begin{document}

\chapter{First}

\appendix

\chapter{Appendix 1}

\end{document}

Bildbeschreibung hier eingeben

\chapter*Bitte beachten Sie, dass mein Code für ähnliche Anhänge nicht funktioniert .

verwandte Informationen