2009-04-04 12 views
17

Wie wird das Wort "Anhang" im Inhaltsverzeichnis angezeigt? Gerade jetzt toc sieht wie folgt aus:Wie man "Anhang" in Latex in Toc erscheinen lässt?

1 ......
2 ......
.
.
A .....
B .....

ich es sein möchte:

1 ......
2 .....
.
.
Anhang A .....
Anhang B .....

Meine Latex-Quelldatei Struktur ist wie folgt:

\ begin {document}
\ tableofcontents
\ include {...}
\ include {...}
\ Anhang
\ include {...}
\ include {...}
\ end {document}

+0

das ist wirklich nicht Programmierung bezogen, sorry! –

+2

Welche Art von Latexfragen sind dann gültig? – chriss

+7

@Johannes: Ich stimme nicht zu. SO hat LaTeX-Probleme durchgehend als programmtechnisch behandelt. Dies ist angemessen, da TeX und LaTeX Turing-vollständige Sprachen sind. – dmckee

Antwort

11

Dies wird wahrscheinlich am einfachsten erreicht, indem die appendix package oder die memoir class verwenden.

Wenn Sie keine vorgefertigte Lösung verwenden möchten, müssen Sie die Sektionsbefehle hacken. Als ich das für meine Dissertation tun musste, klonte ich die report Klasse und redigierte, bis ich die Ränder Dame glücklich machte. Was Sie suchen, ist die Definition des \addcontentsline Makros.

+0

Mit * Anhang * -Paket, gibt es eine Möglichkeit, entweder '[Seite]' Option für * Anhänge * Umgebung zu verwenden, oder verschwenden Sie nicht eine ganze Seite für nur "Anhänge" Titel? Das Problem ist, dass wenn ich '[page]' (oder '\ appendixpage') überspringe, ich TOC vermasselt habe, d. H." Anhänge "kommt nach" Anhang A ". Ich denke, das ist relevant: http://stackoverflow.com/questions/2661774/problem-mit-adding-appendix-in-latex – mlt

+0

@ Mlt Es ist so lange, dass ich mich nicht erinnern kann. – dmckee

10

Es gibt eine Reihe von Möglichkeiten, dieses Problem zu lösen. Leider habe ich zu diesem Zeitpunkt nur einen Hack für dich. Ein Problem besteht darin, dass wenn wir die Abschnittsnummer "A" mit dem Wort "Anhang" neu definieren, die Formatierung des Inhaltsverzeichnisses durcheinander bringt. Stattdessen habe ich einen neuen Schnittbefehl definiert, der den Abschnitt ohne Nummer druckt und "Anhang X" manuell einfügt.

Art hässlich, aber zumindest funktioniert es ohne Markup :)

 
\documentclass{article} 

\makeatletter 
\newcommand\[email protected][1]{% 
    \refstepcounter{section}% 
    \[email protected]*{Appendix \@Alph\[email protected]: #1}% 
    \addcontentsline{toc}{section}{Appendix \@Alph\[email protected]: #1}% 
} 
\let\[email protected]\section 
\[email protected]@macro\appendix{\let\section\[email protected]} 
\makeatother 

\begin{document} 

\tableofcontents 

\section{goo} 
\label{a} 
This is sec~\ref{a} 

\section{har} 
\label{b} 
This is sec~\ref{b} 

\appendix 
\section{ji} 
\label{c} 
This is app~\ref{c} 
\subsection{me} 
does this look right? 

\end{document} 
+0

Wie benutze ich diesen Hack mit '\ asbuk' mit' fontspec'? Ich brauche russische Anhangszahlen. – Adobe

+0

Adobe, ich kann hier keinen Code einfügen. Ich habe meine Lösung in der separaten Antwort veröffentlicht. Hoffe das wird dir helfen. –

+0

Will, das funktioniert wie Magie! Allerdings bekomme ich einen seltsamen Nebeneffekt: Die Referenzen (wenn Sie sie hinzufügen) werden in einen neuen Abschnitt Appndix B * umgewandelt. Irgendeine Idee, wie man es los wird? – Ufos

5

Für meine Diplomarbeit ändern zu müssen, habe ich die folgenden:

\appendix 
\addcontentsline{toc}{section}{Appendix~\ref{app:scripts}: Training Scripts} 
\section*{Sample Training Scripts 
\label{app:scripts} 
Blah blah appendix content blah blah blah. 

ich eine Linie auf die manuell hinzugefügt TOC so würde ich "Anhang X: ..." in meinem Inhaltsverzeichnis erscheinen lassen. Dann habe ich den eigentlichen Abschnitt Befehl aus dem Inhaltsverzeichnis mit einem Sternchen ausgeschlossen.

1

Das Anhangspaket ist wirklich gute und einfache Lösung. Meine Antwort kann hilfreich sein, wenn Sie den Kapitelnummerierungsstil ändern möchten, z. B. mit kyrillischem Alphabet oder lateinischen Ziffern.Der Appendices-Numerierungsstil ist im Befehl \ @ resets @ pp fest codiert (ich habe hier in Quellen nachgesehen http://hal.in2p3.fr/docs/00/31/90/21/TEX/appendix.sty). Ich löste es, indem ich diesen Befehl einfach zu meinem eigenen neu definierte. Fügen Sie einfach diesen Code in Ihre Präambel:

\makeatletter 

    \renewcommand{\@[email protected]}{\par 
     \@ppsavesec 
     \stepcounter{@pps} 
     \setcounter{section}{0} 

     \[email protected]@pp 
      \setcounter{chapter}{0} 
      \renewcommand\@chapapp{\appendixname} 
      \gdef\thechapter{\Asbuk{chapter}} % changed 
     \else 
      \setcounter{subsection}{0} 
      \gdef\thechapter{\Asbuk{section}} % changed 
     \fi 

     \[email protected] 
      \[email protected]@pp 
       \renewcommand{\theHchapter}{\[email protected]\Asbuk{chapter}} % changed 
      \else 
       \renewcommand{\theHsection}{\[email protected]\Asbuk{section}} % changed 
      \fi 

      \def\[email protected]{\appendixname}% 
     \fi 
    \restoreapp 
} 

\makeatother 

Als Ergebnis

Appendix A 
Appendix B 
Appendix C 
... 

wechselt zu

Appendix A 
Appendix Б 
Appendix В 
... etc 

ich kein Latex-Experte bin, und ich kann nicht garantieren, Dieser Code wird nichts anderes stören.

0

Basierend auf @Will Robertson's Antwort, der folgende Code definiert die gleiche Sache, aber für Kapitel und behebt auch die Tatsache, dass chapter* nicht zum Header hinzugefügt wird, wenn Sie das fancyhdr Paket verwenden.

Mit diesem in der Lage sind alle Probleme gelöst.

\makeatletter 
\newcommand\[email protected][1]{% 
    \refstepcounter{chapter}% 
    \def\[email protected]{Appendix \@Alph\[email protected]: #1} 
    \[email protected]*{\[email protected]}% 
    \markboth{\MakeUppercase{\[email protected]}}{\MakeUppercase{\[email protected]}} 
    \addcontentsline{toc}{chapter}{\[email protected]}% 
} 
\let\[email protected]\chapter 
\[email protected]@macro\appendix{\let\chapter\[email protected]} 
\makeatother 
Verwandte Themen