Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Inhaltsverzeichnis einbinden

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.06.2009
    Beiträge
    197

    Inhaltsverzeichnis einbinden

    Hallo zusammen,

    bin ein ganz Frischer in dieser Gemeinde und habe folgendes Problem:
    habe in der documentclass book eine kleine Arbeit mit Inhaltsverzeichnis verfasst. Nun möchte ich ausschließlich das Inhaltsverzeichnis in ein zweites Latech-Dokument (wieder documentclass book) einbinden. Habe fast keine Idee wie dies erledigt werden könnte

    Statt ein zweites latech-dokument zu erstellen könnte ich doch das erste latech-dokument beliebig erweitern und mittels irgendeiner Umgebung sämtlichen Inhalt meiner Arbeit bis auf das Inhaltsverzeichnis verbergen, so dass dieser beim Kompilieren in ein Pdf nicht sichtbar gemacht wird?

    Gibt es einen solchen Befehl/Umgebung ?

    Vielen Dank für eure Antworten.

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    du kannst die toc-Datei deiner anderen Arbeit in dein Neues Arbeitsverzeichnis kopieren und mittels:
    Code:
    \makeatletter
    \def\tableofcontentsAlt{\@input{DATIENAME.toc}}
    \makeatother
    in deine Arbeit einbinden. Der Aufruf erfolgt dann mittels:
    Code:
    \tableofcontentsAlt

    Eine andere Möglichkeit ist das Paket pdfpages, mit dessen Hilfe du die Inhaltsverzeichnisseite einfach einbinden kannst.

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.06.2009
    Beiträge
    197
    Hallo Marco,

    vielen Dank erstmal für deine Antwort!
    Habe die toc-Datei in den Ordner kopiert, indem das zweite Latex-Dokument gespeichert ist und anschließend an der Stelle im Dokument an der das Inhaltsverzeichnis erscheinen soll die vier Zeilen Code:

    \makeatletter
    \def\tableofcontentsAlt{\@input{LaTeX6.toc}}
    \makeatother
    \tableofcontentsAlt

    eingefügt.
    Leider erhalte ich folgende Fehlermeldung:

    ! Undefined control sequence

    Könntest du mir bitte das Vorgehen noch etwas detaillierter erklären?

    Merci.

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von menuhin Beitrag anzeigen
    Habe die toc-Datei in den Ordner kopiert, indem das zweite Latex-Dokument gespeichert ist und anschließend an der Stelle im Dokument an der das Inhaltsverzeichnis erscheinen soll die vier Zeilen Code:

    \makeatletter
    \def\tableofcontentsAlt{\@input{LaTeX6.toc}}
    \makeatother
    \tableofcontentsAlt

    eingefügt.
    Leider erhalte ich folgende Fehlermeldung:

    ! Undefined control sequence
    mal abgesehen davon, daß Definitionen imho besser in der Präambel aufgehoben sind, schau mal, ob in Deiner LaTeX6.toc irgendwelche Befehle vorkommen, evtl nutzt Du ja unterschiedliche Pakete (die etwas in die TOC schreiben) in den unterschiedlichen Dokumenten ...

    Wenn Dich da nicht weiterbringt, erstelle bitte ein Minimalbeispiel -- und vergiss dabei Deine `LaTeX6.toc' nicht.

    BTW: ``Undefined Control Sequence'' gibt afaik grundsätzlich auch den Befehl an, der nicht definiert ist, etwa
    Code:
    ! Undefined control sequence.
    l.5 \foo
    woraus man dann gleich sehen könnte, daß `\foo' hier nicht definiert ist ... was das bei Dir sein könnte, geht aus Deinem Beitrag leider nicht hervor.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.06.2009
    Beiträge
    197
    Hallo Rainer,

    wenn ich ein ganz einfaches Inhaltsverzeichnis erstelle ohne dabei ein \usepackage zu verwenden kann diese toc.Datei problemlos mit dem von Marco vorgeschlagenen Code eingebunden werden.

    Sobald ich jedoch einige notwendige Packages

    1. \usepackage[T1]{fontenc}
    2. \usepackage[ngerman]{babel}
    3. \usepackage[top=23mm, bottom=20mm, right=23mm, left=23mm]{geometry}
    4. \usepackage{setspace}

    zur Erstellung des Inhaltsverzeichnisses verwende und dann die toc.Datei einbinde gibt es folgende Fehlermeldungen:

    ! Undefined control sequence.
    1.1 \select
    @langugage {ngerman}

    ! LaTex Error: Something's wrong--perhaps a missing \item
    See the LaTeX manual ...

    Trotz der Fehlermeldungen wird ein PDF erstellt, dass jedoch oben links
    "@langugage ngerman" enthält und den ersten Eintrag meines Inhaltsverzeichnisses überschreibt.

    Hier ein Minimalbsp., das jedoch die von mir verwendete Präambel vollständig enthält.

    Das Inhaltsverzeichnis:

    Code:
    \documentclass[german, 11pt, a4paper, oneside]{book}  
    
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    \usepackage[top=23mm, bottom=20mm, right=23mm, left=23mm]{geometry} %Seitenränder definieren
    \usepackage{setspace}
    \linespread{1.1}
    \usepackage{tocloft}
    \pagestyle{empty}
    
    \begin{document}
    
    \tableofcontents
    
    \part{Der Erste Teil}
    
    
    \end{document}
    Das Latex-Dok, in welches das Inhaltsverzeichnis eingebunden werden soll:

    Code:
    \documentclass[german, 11pt, a4paper, oneside]{book} %Option draft zeigt an welcher Stelle über den Rand geschrieben wird Option openany hat ähnlichen Effekt wie oneside
    \usepackage[T1]{fontenc} %Umlaute erkennen
    \usepackage[ngerman]{babel} %neue dt. Rechtschreibung. Wichtig, dass ngerman nach z.B. english, damit dt. Bezeichnungen z.B. Inhaltsverzeichnis statt Contents
    \usepackage{soul} %Unterstreichen & Laufweite
    \usepackage{graphics} %Graphik einfügen
    \usepackage[top=23mm, bottom=20mm, right=23mm, left=23mm]{geometry} %Seitenränder definieren
    \usepackage{setspace} %Zeilenabstand
    \usepackage{color}
    \definecolor{hellgrau}{gray}{0.6}
    \definecolor{hellergrau}{gray}{0.8}
    \usepackage[hang]{footmisc} %Korrektur Einzug Fusszeile
    \usepackage{fancyhdr}
    \usepackage{ifsym} %Aufzählungszeichen schwarzes Karo
    \usepackage{fancyvrb}
    \usepackage{tabularx}
    \usepackage{colortbl}
    \usepackage{array}
    \usepackage{longtable}
    \usepackage{multirow}
    \usepackage{tocloft}
    \setlength{\footnotemargin}{-0.8em}
    \linespread{1.1}
    \setlength\leftmargini{10pt} %Abstand zwischen linkem Seitenrand und Aufzählungszeichen
    \pagestyle{empty} %Seitenzahlen unterdrücken
    \addtolength{\skip\footins}{5mm plus 0mm}
    
    %Nummerierung im Inhaltsverzeichnis
    \renewcommand*\thepart{\Alph{part}.}
    \renewcommand*\thechapter{\Roman{chapter}.}
    \renewcommand*\thesection{\arabic{section}.}
    \renewcommand*\thesubsection{\alph{subsection})}
    
    % Inhaltsverzeichnis einbinden
    \makeatletter
    \def\tableofcontentsAlt{\@input{Inhaltsverzeichnis.toc}}
    \makeatother
    
    \begin{document}
    
    \tableofcontentsAlt
    
    \end{document}

    Vielen Dank im Voraus!

    Gruss, menuhin

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Babel fügt in die toc-Datei Befehle mit @ ein. Du musst daher \makeatletter ausführen bevor du die Datei lädst (wie es übrigens auch der Originalbefehl \@starttoc macht).

    Code:
    \makeatletter
    \def\tableofcontentsAlt{%
     \begingroup
     \makeatletter
     \@input{LaTeX6.toc}%
     \endgroup}
    \makeatother
    Ulrike Fischer

  7. #7
    Registrierter Benutzer
    Registriert seit
    30.06.2009
    Beiträge
    197
    Vielen Dank Ulrike für diesen entscheidenden Hinweis. Jetzt klappt alles wunderbar...wenn ich doch nur verstehen würde was hier eigentlich mache
    Bin jedenfalls froh, dass es funktioniert und das Verständnis wird sich dann nach und nach einstellen.

    Viele Grüße,

    menuhin

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •