\addcontentsline nicht im Inhaltsverzeichnis

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: \addcontentsline nicht im Inhaltsverzeichnis

von Besserwisser » Di 7. Mai 2013, 08:27

von Krabby.Linux » Di 7. Mai 2013, 07:56

pdfpages hat bei mir nur fehler erzeugt. Ich schau heute im Laufe des Tages sobald ich Zugang zu meinem Notebook habe nochmal genau nach!

von Noch so einer » Di 7. Mai 2013, 07:40

Wenn Du das gleich von Anfang an gefragt hättest, hätte man Dir gleich von Anfang an mit pdfpages antworten können.

von Krabby.Linux » Di 7. Mai 2013, 07:30

WoW, danke! Das ist das wonach ich gesucht hatte.

In meinem Fall ist das mit den Links nicht sinnlos, ich will am Ende mit einem Programm einfach PDF Seiten in den Anhang packen. Mit Latex kriege ich da Probleme. Ich habe im Anhang einige DINA4 und DINA3 Seiten, die mit eingebunden werden sollen (alles pdfs) aber wegen den Rändern usw. können die pdfs nicht ganzsseitig dargestellt werden.

Ich würde schon gerne auf die "nicht existierende" Seite verlinken können, so dass nachher im fertigen Dokument auf die Seite gesprungen wird!

Oder wie kann ich sonst ganzseitig pdfs in DINA4 UND DINA3 einbinden? Ohne Header/Footer. Seitenzahl kann auch weg wenns sein muss!

von Noch so einer » Mo 6. Mai 2013, 20:39

Ausprobiert hast Du das aber nicht, bevor Du gefragt hast, oder?
\documentclass{book}
\usepackage{blindtext}
\usepackage{scrlfile}

\BeforeClosingMainAux{% siehe KOMA-Script-Anleitung
  \addcontentsline{toc}{part}{Zeichnungen}
  \addcontentsline{toc}{chapter}{Zeichnung - Zylinderhalterung}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Gestell}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Zylinder}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Ventilblöcke}\label{hier}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Podest}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Gesamtaufbau}\stepcounter{page}
}

\begin{document}
\tableofcontents
\blinddocument
Siehe auch Seite~\pageref{hier}.
Und, um sicher zu sein, dass ich nicht versehentlich ein Beispiel für etwas
erzeugt, was gar nicht der Problemfall ist, wird der Problemfall jetzt
erzwungen:
\clearpage

% Num, um zu beweisen, dass wir beim Problemfall sind.
\addcontentsline{toc}{chapter}{Das kommt nie an}
\end{document}
Mit \ref kannst Du natürlich nicht darauf verweisen, weil Du ja keine Kapitelnummer dafür hast. Wenn Du eine solche brauchst, dann geht aber auch das ziemlich normal. Man muss dazu aber natürlich die Kapitelnummern auch hochzählen und sollte die dann auch ins Verzeichnis aufnehmen:
\documentclass{book}
\usepackage{blindtext}
\usepackage{scrlfile}

\BeforeClosingMainAux{% siehe KOMA-Script-Anleitung
  \addcontentsline{toc}{part}{Zeichnungen}
  \refstepcounter{chapter}\label{Zylinder}
  \addcontentsline{toc}{chapter}{\numberline{\thechapter}Zylinderhalterung}
  \stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Gestell}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Zylinder}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Ventilblöcke}\label{hier}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Podest}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Gesamtaufbau}\stepcounter{page}
}

\begin{document}
\tableofcontents
\blinddocument
Siehe auch Seite~\pageref{hier} oder Kapitel~\ref{Zylinder}.
Und, um sicher zu sein, dass ich nicht versehentlich ein Beispiel für etwas
erzeugt, was gar nicht der Problemfall ist, wird der Problemfall jetzt
erzwungen:
\clearpage

% Num, um zu beweisen, dass wir beim Problemfall sind.
\addcontentsline{toc}{chapter}{Das kommt nie an}
\end{document}
Mit Link (hyperref) darauf zu verweisen, wäre hingegen witzlos, da es ja die entsprechenden Seiten nicht gibt. Wenn, dann sollte man stattdessen mit \href auf die entsprechende externe Datei verlinken, also beispielsweise für obiges etwas in der Art:
\documentclass{book}
\usepackage{blindtext}
\usepackage{scrlfile}
\usepackage{hyperref}

\BeforeClosingMainAux{% siehe KOMA-Script-Anleitung
  \addcontentsline{toc}{part}{Zeichnungen}
  \refstepcounter{chapter}\label{Zylinder}
  \addcontentsline{toc}{chapter}{\numberline{\thechapter}Zylinderhalterung}
  \stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Gestell}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Zylinder}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Ventilblöcke}\label{hier}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Podest}\stepcounter{page}
  \addcontentsline{toc}{chapter}{Zeichnung - Gesamtaufbau}\stepcounter{page}
}

\begin{document}
\tableofcontents
\blinddocument
Siehe auch Seite~\pageref{hier} oder \href[page=\pageref*{Zylinder}]{http://hiergibts.alles/DateimitAnhang.pdf}{Kapitel~\ref*{Zylinder}}.
Und, um sicher zu sein, dass ich nicht versehentlich ein Beispiel für etwas
erzeugt, was gar nicht der Problemfall ist, wird der Problemfall jetzt
erzwungen:
\clearpage
\appendix

% Num, um zu beweisen, dass wir beim Problemfall sind.
\addcontentsline{toc}{chapter}{Das kommt nie an}
\end{document}
BTW: Der Status "Rückfrage" ist für Helfer reserviert. Bitte beachten!

von Krabby.Linux » Mo 6. Mai 2013, 15:57

Sorry, dass ich diese Frage nochmal öffne.

Es hat ja alles toll geklappt mit dem Vorschlag von "Noch so einer", aber es hat sich noch eine neue Frage ergeben....

Es stehen nun die Einträge mit der korrekten Seitenzahl im Inhaltsverzeichnis. Wie kann ich nun aber auf diese Seite ein \ref bzw \autoref setzen? Ich hab ja kein Label das ich auf einer Seite Positionieren kann. Die Seite existiert ja auch nur theoretisch (später im Druck).

Vielen Dank

von Krabby.Linux » Fr 3. Mai 2013, 14:03

Wow, perfekt. Danke für die tolle Antwort. Passt zu 100%!

von Noch so einer » Fr 3. Mai 2013, 08:00

Das Problem ist, dass \addtocontents und damit auch das darauf aufbauende \addcontentsline nicht \immediate\write, sondern \write verwendet. Während \immediate\write direkt etwas schreibt, wird bei \write das Schreiben in die Datei bis zum nächsten \shipout verzögert. Das ist auch gut so, weil aufgrund der asynchronen Ausgaberoutine erst dann die Seitenzahlen feststehen. In Deinem Fall ist es aber von Nachteil, weil ja nichts mehr ausgegeben wird, also auch kein \shipout mehr erfolgt.

Die Lösung ist trotzdem geradezu herrlich einfach und lautet scrlfile. Ja, wie so oft bietet das KOMA-Script-Paket mal wieder eine Lösung, die auch mit anderen Klassen verwendbar ist. Hier ein Beispiel:
\documentclass{book}
\usepackage{blindtext}
\usepackage{scrlfile}

\BeforeClosingMainAux{% siehe KOMA-Script-Anleitung
  \addcontentsline{toc}{part}{Zeichnungen}
  \addcontentsline{toc}{chapter}{Zeichnung - Zylinderhalterung}\stepcounter{page} 
  \addcontentsline{toc}{chapter}{Zeichnung - Gestell}\stepcounter{page} 
  \addcontentsline{toc}{chapter}{Zeichnung - Zylinder}\stepcounter{page} 
  \addcontentsline{toc}{chapter}{Zeichnung - Ventilblöcke}\stepcounter{page} 
  \addcontentsline{toc}{chapter}{Zeichnung - Podest}\stepcounter{page} 
  \addcontentsline{toc}{chapter}{Zeichnung - Gesamtaufbau}\stepcounter{page}
}

\begin{document}
\tableofcontents
\blinddocument
Und, um sicher zu sein, dass ich nicht versehentlich ein Beispiel für etwas
erzeugt, was gar nicht der Problemfall ist, wird der Problemfall jetzt
erzwungen:
\clearpage

% Num, um zu beweisen, dass wir beim Problemfall sind.
\addcontentsline{toc}{chapter}{Das kommt nie an}
\end{document}
Wenn Du bereits eine KOMA-Script-Klasse verwendest, kannst Du Dir sogar das Laden von scrlfile sparen. Das machen die Klassen nämlich bereits. Da KOMA-Script immer wieder so schöne Lösungen bietet, würde ich Dir ohnehin die Verwendung einer KOMA-Script-Klasse empfehlen.

Und bitte die gezeigte Anweisung in der KOMA-Script-Anleitung wirklich nachlesen!

von Krabby.Linux » Do 2. Mai 2013, 18:09

Danke für deine Antwort!

mit:

\clearpage

\addtocounter{page}{1}
\addtocontents{toc}{Zeichnung - Zylinderhalterung} \addtocounter{page}{1}
\addtocontents{toc}{Zeichnung - Gestell} \addtocounter{page}{1}
\addtocontents{toc}{Zeichnung - Zylinder}\addtocounter{page}{1}
\addtocontents{toc}{Zeichnung - Ventilblöcke} \addtocounter{page}{1}
\addtocontents{toc}{Zeichnung - Podest}\addtocounter{page}{1}
\addtocontents{toc}{Zeichnung - Gesamtaufbau}


Passiert nichts. Es steht nichts im Inhaltsverzeichnis!

Eine Idee wodran das liegen kann?

von u_fischer » Do 2. Mai 2013, 17:56

Du musst direkt \addtocontents statt \addcontentsline verwenden und dann die Daten manuell eintragen.

Nach oben