PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : /input funktioniert nicht?



Bhaldur
14-06-2009, 14:46
Tag zusammen,

ich möchte "eigentlich" vorgefertigte Umgebungen und /newcommands in einem anderen Dokument benutzen, aber irgendwie passiert gar nichts trotz /input Befehl. Vielleicht habe ich irgendetwas übersehen? Ich weis es nicht, wäre für einen Ratschlag allerdings sehr dankbar :)

Hier die Vorbereitung.



\documentclass[12pt,a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage{fancybox}

\begin{document}

\newsavebox{\doz1}
\newsavebox{\int2}
\newsavebox{\vol3}
\newsavebox{\abg4}

\newcounter{blattc}
\setcounter{blattc}{1}

\newcounter{afirst}
\setcounter{afirst}{1}

\newcounter{asecond}[blattc]
\setcounter{asecond}{1}

\newcommand{\Dozent}[1]
{{\sbox{\doz1}{#1}}
}

\newcommand{\Institut}[1]
{{\sbox{\int2}{#1}}
}

\newcommand{\Vorlesung}[1]
{{\sbox{\vol3}{#1}}
}

\newcommand{\Abgabe}[1]
{{\sbox{\abg4}{#1}}
}

\newenvironment{Blatt}[4]
{\begin{sloppypar}

\stepcounter{afirst}

\usebox{\int2}
\usebox{\vol3}
\usebox{\doz1} \hfill \usebox{\abg4}

\newline
\hrule
\newline

%Text

\begin{quote}}
{\end{quote}

\newline
\hrule
\newline

\end{sloppypar}}

\newenvironment{Aufgabe}
{\begin{sloppypar}

\noindent\textbf{Aufgabe \arabic{afirst}.\arabic{asecond} \stepcounter{asecond} }

\begin{quote}}
{\end{quote}
\end{sloppypar}}

\end{document}

Und dann eine Beispieldatei zur Verwendung:


\input{Aufgabenblaetter}
\begin{document}
\Dozent{Prof. Dr. \ldots}
\Institut{Institut für Analysis und Algebra}
\Vorlesung{Mathe}\Semester{SS09}\Datum{09.09.09}
\Abgabe{Nächste Woche}\Blattnummer{1}
\begin{Blatt}
\begin{Aufgabe} Die erste Aufgabe.\end{Aufgabe}
\begin{Aufgabe} Die zweite Aufgabe.\end{Aufgabe}
\end{Blatt}
\Datum{11.05.09}\Blattnummer{5}
\begin{Blatt}
\begin{Aufgabe} Aufgabenstellung.\end{Aufgabe}
\end{Blatt}
\end{document}

Also... kann mir jmd. verraten wo der Fehler liegt? :confused:

bischi
14-06-2009, 15:11
Dir ist schon bewusst, dass du beispielsweise zweimal ein \begin{document} hast (also nach dem Zusammensetzen)? Das kann ja nicht wirklich funktionieren ;)

MfG Bischi

PS: Input macht vereinfacht gesagt nichts anderes, als den Inhalt der externen Datei an die aktuelle Stelle der aktuellen Datei zu kopieren...

Bhaldur
14-06-2009, 15:16
Ach... das hatte ich nicht die gesamte Zeit so, stammt von meinem letzten "Test" zwecks Fehlersuche.

Wenn ich das im Dokument (wo ich auch \input verwende) wieder rausnehme, ändert sich leider gar nichts :(

bischi
14-06-2009, 15:20
Poste doch bitte nochmals das korrigierte Beispiel und sag auch gleich bei beiden Dateien, wie die heissen...

MfG Bischi

Bhaldur
14-06-2009, 15:23
Aufgaben.tex



\input{Aufgabenblaetter}

\Dozent{Prof. Dr. \ldots}
\Institut{Institut für Analysis und Algebra}
\Vorlesung{Mathe}\Semester{SS09}\Datum{09.09.09}
\Abgabe{Nächste Woche}\Blattnummer{1}
\begin{Blatt}
\begin{Aufgabe} Die erste Aufgabe.\end{Aufgabe}
\begin{Aufgabe} Die zweite Aufgabe.\end{Aufgabe}
\end{Blatt}
\Datum{11.05.09}\Blattnummer{5}
\begin{Blatt}
\begin{Aufgabe} Aufgabenstellung.\end{Aufgabe}
\end{Blatt}


Aufgabenblaetter.tex


\documentclass[12pt,a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage{fancybox}

\begin{document}

\newsavebox{\doz1}
\newsavebox{\int2}
\newsavebox{\vol3}
\newsavebox{\abg4}
\newsavebox{\blattnr5}

\newcounter{blattc}
\setcounter{blattc}{1}

\newcounter{afirst}
\setcounter{afirst}{1}

\newcounter{asecond}[blattc]
\setcounter{asecond}{1}

\newcommand{\Dozent}[1]
{{\sbox{\doz1}{#1}}
}

\newcommand{\Institut}[2]
{{\sbox{\int2}{#2}}
}

\newcommand{\Vorlesung}[3]
{{\sbox{\vol3}{#3}}
}

\newcommand{\Abgabe}[4]
{{\sbox{\abg4}{#4}}
}

\newcommand{\Blattnummer}[5]
{{\sbox{\blattnr5}{#5}}
}

\newenvironment{Blatt}
{\begin{sloppypar}

%\refstepcounter(
\stepcounter{afirst}

\usebox{\int2} \\
\usebox{\vol3} \\
\usebox{\doz1} \hfill \usebox{\abg4} \usebox{\blattnr5}

\newline
\hrule
\newline

%Text

\begin{quote}}
{\end{quote}

\newline
\hrule
\newline

\end{sloppypar}}

\newenvironment{Aufgabe}
{\begin{sloppypar}

\noindent\textbf{Aufgabe \arabic{afirst}.\arabic{asecond} \stepcounter{asecond} }

\begin{quote}}
{\end{quote}
\end{sloppypar}}
\end{document}

mechanicus
14-06-2009, 15:29
Hallo,

hast du dich unter einen neuen Namen angemeldet?
http://www.mrunix.de/forums/showthread.php?t=64855
Gruß
Marco

Bhaldur
14-06-2009, 15:33
Hach, lustig, ich bin nicht der einzige mit einem Problem bei dieser Aufgabe! :D

Wird jmd. von meiner Uni sein. Aber... der Thread nützt mir auch nicht viel :-/

*Nachtrag*

Kann es sein, dass ich die \begin und \end{document} aus der aufgabenblaetter.tex irgendwie rausnehmen muss? Diese dafür in aufgaben.tex stehen müssen? Allerdings bekomme ich bei diesem Versuch gleich eine Fehlermeldung.

bischi
14-06-2009, 15:36
Was du jetzt gerade machst:

Du kopierst "Aufgabenblaetter.tex" an den Anfang von "Aufgaben.tex". Ist das das, was du gerne möchtest? ;)

MfG Bischi

PS - das resultierende Aufgaben.tex:



\documentclass[12pt,a4paper]{article}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage{fancybox}

\begin{document}

\newsavebox{\doz1}
\newsavebox{\int2}
\newsavebox{\vol3}
\newsavebox{\abg4}
\newsavebox{\blattnr5}

\newcounter{blattc}
\setcounter{blattc}{1}

\newcounter{afirst}
\setcounter{afirst}{1}

\newcounter{asecond}[blattc]
\setcounter{asecond}{1}

\newcommand{\Dozent}[1]
{{\sbox{\doz1}{#1}}
}

\newcommand{\Institut}[2]
{{\sbox{\int2}{#2}}
}

\newcommand{\Vorlesung}[3]
{{\sbox{\vol3}{#3}}
}

\newcommand{\Abgabe}[4]
{{\sbox{\abg4}{#4}}
}

\newcommand{\Blattnummer}[5]
{{\sbox{\blattnr5}{#5}}
}

\newenvironment{Blatt}
{\begin{sloppypar}

%\refstepcounter(
\stepcounter{afirst}

\usebox{\int2} \\
\usebox{\vol3} \\
\usebox{\doz1} \hfill \usebox{\abg4} \usebox{\blattnr5}

\newline
\hrule
\newline

%Text

\begin{quote}}
{\end{quote}

\newline
\hrule
\newline

\end{sloppypar}}

\newenvironment{Aufgabe}
{\begin{sloppypar}

\noindent\textbf{Aufgabe \arabic{afirst}.\arabic{asecond} \stepcounter{asecond} }

\begin{quote}}
{\end{quote}
\end{sloppypar}}
\end{document}

\Dozent{Prof. Dr. \ldots}
\Institut{Institut für Analysis und Algebra}
\Vorlesung{Mathe}\Semester{SS09}\Datum{09.09.09}
\Abgabe{Nächste Woche}\Blattnummer{1}
\begin{Blatt}
\begin{Aufgabe} Die erste Aufgabe.\end{Aufgabe}
\begin{Aufgabe} Die zweite Aufgabe.\end{Aufgabe}
\end{Blatt}
\Datum{11.05.09}\Blattnummer{5}
\begin{Blatt}
\begin{Aufgabe} Aufgabenstellung.\end{Aufgabe}
\end{Blatt}


Fällt dir was auf? Was genau passiert mit Code "hinter" \end{document}?

mechanicus
14-06-2009, 15:40
Fällt dir was auf? Was genau passiert mit Code "hinter" \end{document}?
Ja mir ist was aufgefallen :D:D

Wäre es dann nicht klüger, dass ihr euch mal zusammenschließt und euch gemeinsam voran bringt :rolleyes:

Gruß
Marco

Bhaldur
14-06-2009, 15:42
Sehe deinen Punk ;)

Aber... gleich was ich anstelle, ich bekomme Fehlermeldungen wenn ich begin und end{dokument} auf alles ausweite.

(Ich kann es nicht aus aufgabenblaetter.tex rausnehmen, nicht ohne Fehlermeldung :confused:)

mechanicus
14-06-2009, 15:43
(Ich kann es nicht aus aufgabenblaetter.tex rausnehmen, nicht ohne Fehlermeldung :confused:)
Wie ist denn deine Fehlermeldung?

Gruß
Marco

Bhaldur
14-06-2009, 15:46
! LaTeX Error: Missing \begin{document}. beim Kompilieren von aufgabenblaetter.tex

...womit ich keine Chance sehe, dass dort rauszunehmen.

mechanicus
14-06-2009, 16:40
Hallo,

habe mir mal deinen Code genauer angesehen. Da läuft einiges schief:

Es ist ungünstig in definitionsnamen Zahlen zu verwenden. Besser auschreiben.
Die Syntax von newcommand scheint dir unklar zu sein. Schaue es dir nochmal na, ansonsten Frage.


Gruß
Marco

Bhaldur
15-06-2009, 01:32
Habe meinen Fehler (und ein paar andere) nun erkannt. Idiotisch... aufgabenblaetter.tex hätte natürlich gar nicht kompiliert werden müssen :D

Danke für die Hilfe!