Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Undefined control sequence bei include

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.04.2012
    Beiträge
    6

    Undefined control sequence bei include

    Guten Abend,
    ich habe mehrere einzelne .tex-Dateien und will diese in einer zusammenfassen. Das ganze hat bisher mit \include auch sehr gut funktioniert.
    Allerdings erhalte ich jetzt (bei einer neuen *.tex-Datei, die angehängt werden soll) den "undefinded control sequence"-Fehler.

    Erstelle ich aber aus der angehängten *.tex ein eigenes PDF-Dokument, so wird dieses ohne Fehler erzeugt.

    Der Fehler muss also durch das \include auftreten.

    Aufbau meiner zusammenfassenden Datei:
    Code:
    \documentclass[a4paper,twoside,11pt]{scrartcl}
    
    \include{ReqPack}
    \include{PDFSetup}
    \include{Layout}
    \include{Colors}
    \include{Commands}
    
    \begin{document}
    \include{FrontPages}
    \include{P180412}
    \include{P200412}
    \include{P250412}
    \include{P270412}
    \end{document}
    Ich hoffe mir kann jemand bei meinem Problem helfen.

    PS: Ich arbeite mit TeXworks und pdfLaTeX.

  2. #2
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Eine Datei, die du mit include oder input einbindest, hat keine eigene Präambel, kein \begin{document} und \end{document} und kann somit auch nicht als eigenständiges Dokument kompiliert werden. Ich frage mich also, was du damit meinst, dass du daraus ein eigenens pdf-Dokument erzeugst.
    Oder hast du ein eigenständiges kompilierbares Dokument und versuchst dieses per include einzubinden? Das kann nicht gutgehen. Aber das hättest du ja schon beim ersten gemerkt und nicht erst jetzt...
    Ansonsten ist \input idiotensicherer als \include und sollte daher vorgezogen werden, falls man nicht die Sonderfunktionen von \include braucht.

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.04.2012
    Beiträge
    6
    ich hab natürlich, um es kompilieren zu können, \begin{document} und \end{document} herumgesetzt und auch alle Pakete eingebunden die ich in der zusammenfassenden Datei verwende.

    Ich dachte (vereinfacht) \include funktioniert so, dass einfach die Dokumente an die entsprechende Stelle des Aufrufs "hineinkopiert" werden. Ist das etwa nicht so?
    Von \input habe ich noch nichts gehört.
    Wichtig ist mir, dass alle sections usw. im Inhaltsverzeichnis auftauchen und ich eine durchgehende Seitennummerierung und ein konsistenstes Seitenlayout habe.
    Wenn dies damit erhalten bleibt, werde ich es mal ausprobieren.

    Danke schonmal.

  4. #4
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Genau so, wie du es dir für \include gedacht hast, funktioniert \input.
    \include macht außerdem eine neue Seite auf, erstellt eine neue Serie von Hilfsdateien und noch andere Sachen, die ich auch nicht weiß.

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.04.2012
    Beiträge
    6
    Problem bleibt weiterhin bestehen.
    Aber danke. Der Seitenumbruch bei \include ist mir bis jetzt nicht aufgefallen, da alle "Unter"-Dokumente bis jetzt die Seiten sehr gut ausfüllen ^^

    Aber leider kommt die Meldung immernoch.

    Was ich noch vermute ist, dass es an zwei neuen Paketen liegt, die ich für das neue "Unter"-Dokument benötige, da "undefined control sequence" bei Befehlen aus den neuen Paketen auftritt. Habe aber auch schon alle "zusätzlichen" Dateien wie *.aux, *.toc, etc. gelöscht, damit auf jeden Fall nochmal alles kompiliert werden muss.

    Hier zur Übersicht die eingebunden Pakete:
    Code:
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{dsfont}
    \usepackage{graphicx}
    \usepackage{color}
    \usepackage[bottom=2.5cm]{geometry}
    \usepackage{amsmath}
    \usepackage{amssymb}    % neues Paket
    \usepackage{multirow}     % neues Paket
    \usepackage{fancyhdr}
    \usepackage[pdftex]{hyperref}

  6. #6
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Sorry, aber so ist es extrem schwierig, dir zu helfen. Es fehlen einfach sämtliche relevante Informationen, nämlich das, was in dem include-File steht, mit dems nicht mehr klappt.
    Ausserdem nennst du nichtmal die vollständige Fehlermeldung.

    Mach bitte ein vollständiges, lauffähiges Minimalbeispiel. Wie das geht, steht u.a. hier.

  7. #7
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Und wenn du das Unterdokument vollständig ins Hauptdokument reinkopierst, funktioniert es?
    Wenn der Fehler dann weiterhin auftritt, steht dir ja nichts im Weg beim Erstellen eines Minimalbeispiels. Dann haben wir viel mehr Chancen, dir zu helfen.
    Andernfalls sage uns wenigstens die genaue Fehlermeldung. Im Wortlaut. Da steht ja vor und hinter "undefined control sequence" noch hochrelevante, wenn auch nicht allgemeinverständliche Information.

  8. #8
    Registrierter Benutzer
    Registriert seit
    30.04.2012
    Beiträge
    6
    Tut mir Leid. Hier nun mehr Info.
    Zitat Zitat von rstuby Beitrag anzeigen
    Und wenn du das Unterdokument vollständig ins Hauptdokument reinkopierst, funktioniert es?
    Nein.
    Aber in einem seperaten Dokument, in dem ich nur die Pakte einbinde und den Inhalt der "fehlerhaften" Datei reinkopieren funktioniert es.
    Zitat Zitat von rstuby Beitrag anzeigen
    Andernfalls sage uns wenigstens die genaue Fehlermeldung. Im Wortlaut. Da steht ja vor und hinter "undefined control sequence" noch hochrelevante, wenn auch nicht allgemeinverständliche Information.
    Vollständige Fehlermeldung:
    Code:
    ! Undefined control sequence.
    l.9 \multirow
                 {4}{*}{$\left.\rule{0pt}{6ex}\right\}$}&\\&bisschen Text \\&\\
    ?
    Hier mal das "ReqPack":
    Code:
    %%% ReqPack %%%
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{dsfont}
    \usepackage{graphicx}
    \usepackage{color}
    \usepackage[bottom=2.5cm]{geometry}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{multirow}
    \usepackage{fancyhdr}
    \usepackage[pdftex]{hyperref}
    Minimalbeispiel:
    Code:
    \documentclass[a4paper,twoside,11pt]{scrartcl}
    
    \include{ReqPack}
    
    \begin{document}
    \section{XX}
    \subsection{XXX}
    \begin{tabular}{rl}
    \multirow{4}{*}{$\left.\rule{0pt}{6ex}\right\}$}&\\&bisschen Text \\&\\
    \multirow{2}{*}{$\left.\rule{0pt}{3ex}\right\}$}&hier\\&auch
    \end{tabular}
    \end{document}
    Alles in einem funktioniert:
    Code:
    \documentclass[a4paper,twoside,11pt]{scrartcl}
    
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{dsfont}
    \usepackage{graphicx}
    \usepackage{color}
    \usepackage[bottom=2.5cm]{geometry}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{multirow}
    \usepackage{fancyhdr}
    \usepackage[pdftex]{hyperref}
    
    \begin{document}
    \section{XX}
    \subsection{XXX}
    \begin{tabular}{rl}
    \multirow{4}{*}{$\left.\rule{0pt}{6ex}\right\}$}&\\&bisschen Text \\&\\
    \multirow{2}{*}{$\left.\rule{0pt}{3ex}\right\}$}&hier\\&auch
    \end{tabular}
    \end{document}
    Geändert von Malanox (30-04-2012 um 22:02 Uhr)

  9. #9
    Registrierter Benutzer
    Registriert seit
    30.04.2012
    Beiträge
    6
    Ich habe etwas weiter getestet.

    Es liegt am "\include{ReqPack}"!

    Wenn ich alle Pakete, die ich in dieser File einbinde, einfach in die Präambel schreibe. Funktioniert auch das includen des neuen Unterdokuments.

    Aber woran das liegt habe ich noch nicht rausgefunden.
    Ich würde diese Gruppierung gerne beibehalten.

    Werde es vorübergehend so "umgehen", bis das Problem gelöst ist.

  10. #10
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Deine Fehlermeldung sagt, dass das Paket multirow nicht eingebunden war. Das MB funktioniert einwandfrei.
    Du hast nicht einfach nur multirow im Originaldokument vergessen einzubinden?

  11. #11
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Edit: Eben erst deine neue Antwort gesehen.

    Verwende unbedingt \input{ReqPack} statt \include{ReqPack}. Wie rstuby schon geschrieben hat, macht include mehr als nur einen "Wegweiser" aufzustellen für eine "Umleitung" des Kompilers. input hingegen ist genau das was du willst: Es leitet einfach nur auf das ausgelagerte Dokument um wie wenn der Code im Hauptdokument stehen würde.

  12. #12
    Registrierter Benutzer
    Registriert seit
    30.04.2012
    Beiträge
    6
    Zitat Zitat von Xenara Beitrag anzeigen
    Deine Fehlermeldung sagt, dass das Paket multirow nicht eingebunden war. Das MB funktioniert einwandfrei.
    Du hast nicht einfach nur multirow im Originaldokument vergessen einzubinden?
    Ich hatte statt der Original und der Testkopie aus irgendeinem Grund noch eine dritte "ReqPack.tex" herumliegen. Und ich habe anscheinend an der falschen herumgebastelt.

    Funktioniert auf jeden Fall jetzt.

    Vielen Dank für die Mühe und dem Hinweis auf \input.

  13. #13
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Mal abgesehen vom konkreten Problem, das anscheinend gelöst ist: Verwende nicht \include in der Prämbel. Nimm dort \input.

Stichworte

Lesezeichen

Berechtigungen

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