Archiv verlassen und diese Seite im Standarddesign anzeigen : 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:
\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.
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.
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.
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ß.
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:
\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}
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 (http://www.mrunix.de/forums/showthread.php?t=66921).
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.
Tut mir Leid. Hier nun mehr Info.
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.
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:
! Undefined control sequence.
l.9 \multirow
{4}{*}{$\left.\rule{0pt}{6ex}\right\}$}&\\&bisschen Text \\&\\
?
Hier mal das "ReqPack":
%%% 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:
\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:
\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}
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.
Deine Fehlermeldung sagt, dass das Paket multirow nicht eingebunden war. Das MB funktioniert einwandfrei.
Du hast nicht einfach nur multirow im Originaldokument vergessen einzubinden?
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.
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.
u_fischer
30-04-2012, 22:38
Mal abgesehen vom konkreten Problem, das anscheinend gelöst ist: Verwende nicht \include in der Prämbel. Nimm dort \input.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.