PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler --> undefined control sequence, kvoptions --> zusätzl. Seite wird erzeugt



Luna84
02-07-2010, 06:04
Guten Morgen!
Bei der Erstellung meiner Diplomarbeit krieg ich einfach 4 Fehler nicht los. Ich verwende eine Vorlage, in der statt scrreport eine andere Klasse definiert ist.
Außerdem bekomme ich etliche Warnungen aufgrund von verwendeter packages, wo eine neuere Version verlangt wird, aber anscheinend nur eine alte zur Verfügung steht (obwohl ich schon package-updates gemacht habe).
Die Log-Datei ist angehängt. Die Fehler im speziellen lauten:

LaTeX Warning: You have requested, on input line 3566, version
`2009/07/21' of package kvoptions,
but only version
`2007/10/18 v3.0 Keyval support for LaTeX options (HO)'
is available.

! Undefined control sequence.
l.3568 \DeclareLocalOptions
{%
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.3569 a
4paper,a5paper,b5paper,letterpaper,legalpaper,exec utivepaper%
You're in trouble here. Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.

Package hyperref Warning: Option `a4paper' is no longer used.

LaTeX Warning: You have requested, on input line 76, version
`2010/02/22' of package kvoptions,
but only version
`2007/10/18 v3.0 Keyval support for LaTeX options (HO)'
is available.

! Undefined control sequence.
l.99 \ProcessLocalKeyvalOptions
*
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! LaTeX Error: Missing \begin{document}.

Das Problem ist jetzt, dass VOR der eigentlichen ersten Seite (Titelseite) zwei Seiten erzeugt werden; die kann ich natürlich im Nachhinein löschen, aber die Nummerierung beginnt dann natürlich mit Seite (iii) statt mit (i).

Viell. kann mir ja noch jmd. helfen. Irgendwie hat es wohl mit dem kvoptions-package zu tun. Kenne mich da aber nicht aus.

Hier noch ein Minimalbeispiel
\ifx\Options\undefined\def\Options{}\fi
\documentclass[ngerman,a4paper,12pt,twoside\Options]{lfb3report} %,twoside vor \Options!

\usepackage{makeidx}
\makeindex

\usepackage{nomencl}

\makenomenclature

\includeonly{title}

\begin{document}
% *** Deckblatt, Kurzref. Inhaltsverzeichnis, Symbolverzeichnis, usw. ***
\pagenumbering{roman}
\include{title}

% *** Sicherstellen, dass arabic erst auf nächster Seite gilt ***
\clearpage
\pagenumbering{arabic}

% *** Literaturverzeichnis anlegen ***
\include{bibliogr}

% *** Index ***
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex

\end{document}

Wär super klasse, wenn mir jemand weiterhelfen könnte.

Karlo
02-07-2010, 06:35
Guten Morgen :)

Was ist das für eine Dokumentklasse, etwas direkt von der Uni? Er vermisst bei mir die lfb3report.cls und im Netz ist nichts zu finden...

lg
karlo

ps: noch gibt es sie - die Diplomstudenten ;)

sommerfee
02-07-2010, 06:54
Das Problem ist IMHO hier zu finden:



C:\Program Files\MiKTeX 2.8\tex\latex\hyperref\hyperref.sty
C:\Program Files\MiKTeX 2.8\tex\generic\oberdiek\ltxcmds.sty
C:\Program Files\MiKTeX 2.8\LfBtexmf\texmf\tex\generic\oberdiek\kvsetkeys. sty


Deine Pakete unter dem ersten Pfad sind aktuell, aber da gibt es noch ein Verzeichnis "LfBtexmf" innerhalb deines TeX-Baumes, wo die ganzen Pakete nochmal in älterer Version vorhanden sind. Das kann so nicht klappen.

Ich kenne "LfBtex" nicht, sehe das aber so, daß "LfBtexmf" ein kompletter TeX-Baum sein soll. Ich würde in diesem Falle so vorgehen:

Den Inhalt von C:\Program Files\MiKTeX 2.8\LfBtexmf\texmf in ein lokales Verzeichnis verschieben (z.B. "C:\LfBtexmf") und dort dann alles löschen, was schon im MikTeX-Baum vorhanden ist. Anschließend MikTeX dieses Verzeichnis als zusätzliches Verzeichnis bekannt geben.

Woher kommt LfBtex? Da muß es doch eine Art Installationsanleitung dazu geben; so wie es bei dir installiert ist, ist es definitiv falsch.

Liebe Grüße,
Axel

Luna84
02-07-2010, 07:40
Danke für die schnellen Antworten.
Das liegt alles an der Vorlage, die ich bekommen habe. Um lfb3report anzuwenden, musste ich eben den Ordner "texmf" einbinden. In der Anleitung dafür steht:

Wichtig! In diesme Verzeichnis muss als nächses in der Verzeichnisstruktur tex folgen.
also nicht: C:\Programme\MikTex\LfBtexmf\tex
oder : C:\Programme\MikTex\LfBtexmf\latex

--> versteh ich jetzt nur nicht; sind die Beispiele jetzt so, wie es sein soll oder so, wie es nicht sein soll? Ich versuch gerade noch die Option von Sommerfee

Komischerweise finde ich einen Ordner "LfBtexmf" gar nicht, sonder nur den Ordner "texmf". Dieser ist hier eingebunden:

C:\Programme\MiKTeX 2.8\miktex\texmf --> ist das jetzt richtig oder falsch laut dem Hinweis weiter oben??

Danke.

u_fischer
02-07-2010, 08:22
1 .Du solltest lokale Bäume nicht unter C:\Programme oder C:\Program Files installieren. Das sind persönliche Daten. C:\Eigene Dateien oder ein persönlicher Ordner wie C:\MeineTeXBaeume ist besser.


2. Wenn du dem Rat von Axel folgst und deinen Baum verschiebst, musst du anschließend nichts daraus löschen. Es müsste reichen, wenn in miktex-settings, Tab "Roots" der lokalen Baum hinter dem Hauptbaum landet. Dann werden die aktuellen Pakete aus dem Hauptbaum zuerst gefunden und auch benutzt.

Luna84
02-07-2010, 08:27
Also nur, damit ich das jetzt richtig verstanden habe:

Ich nehme den Ordner "texmf" und speichere ihn unter C/EigeneDateien od. ähnliches.
Dann binde ich den unter "Roots" ein?

Die Einbindung von C\Programme\Miktex2.8 muss aber auch weiterhin eingebunden sein.

Ist das so richtig?

u_fischer
02-07-2010, 08:51
Fast. (Nachtrag: Vielleicht auch "genau". Ich bin mir nicht ganz sicher, ob ich deinen letzten Satz richtig verstehe).

Du nimmst den Ordner "C:\Program Files\MiKTeX 2.8\LfBtexmf\texmf" mitsamt seinen Inhalt. Alles zusammen ist ein "texmf"-Baum und der Ordner selbst ist die Wurzel (Root) des Baumes.
Diese Wurzel und damit der Baum ist bei dir wahrscheinlich als Root angemeldet. Du solltest sie also erstmal abmelden. Dann verschiebst du den Baum an eine andere Stelle, das heißt du löschst ihn aus C:\Program Files\MiKTeX 2.8. Zuletzt meldest du die Wurzel neu an.

Der Baum heißt übrigens nicht "texmf-Baum" wegen des Namens des letzten Ordners! Der Name der Wurzel könnte auch mit "blub" enden, und wenn du die die Namen der Roots in miktex ansiehst, siehst du, dass eigentlich keiner der Standard-Bäume eine texmf im Namen hat. Ein Ordner ist ein texmf-Baum, wenn er eine bestimmte innere Struktur hat. Du kannst beliebig viele Bäume haben, du solltest sie aber besser nicht schachteln.

boxleitnerb
28-08-2010, 22:01
Ich erlaube mir mal, diesen Thread wiederzubeleben, da ich exakt dasselbe Problem habe (selbes Institut, selbe Uni, selbe Vorlage) :D

Ich habe meinen texmf-Ordner unter C:\Latex gespeichert, miktex ist unter C:\Programme\Miktex 2.8\
Eingebunden ist texmf als root, die Reihenfolge kann ich nicht verändern (up, down ausgegraut).

Interessant:
Es lief früher immer! Ich wollte die Vorlage für meine Diplomarbeit recyclen und hab inzwischen den Rechner neu aufgesetzt, nun mit Miktex 2.8 statt 2.7. Hier scheint der Fehler zu liegen, denn:

Ich habe am Zweitrechner bei meinen Eltern noch Miktex 2.7 draufgehabt und heute früh lief es ohne zu murren und ohne Fehler! Dumm wie ich war hab ich auf 2.8 aktualisiert und exakt ab da kamen die 4 vom Threadersteller beschriebenen Fehler. Sonst wurde absolut nichts geändert.

Wer kann mir bitte helfen? Alternativ könnte ich mir wieder 2.7 besorgen, wenn das klappen sollte, aber ich wüsste trotzdem gern die Ursache der Probleme.

Edit:
Hab mal Miktex 2.7.2904 Basic installiert und siehe da - keine Fehler! Aber ich bekomme auch die eine Seite vor der Titelseite mit dem Inhalt:

a4paper,a5paper,b5paper,letterpaper,legalpaper,exe cutivepaper
*

Wenn ich die noch wegkriege, wäre ich happy!

Edit 2:
aux Dateien gelöscht, neu kompiliert, Seite ist weg :D
Dennoch wüsste ich gerne, was das Problem mit 2.8 sein könnte.

Aber auch so lernen wir: Never touch a running system ;)

sommerfee
29-08-2010, 07:01
aber ich wüsste trotzdem gern die Ursache der Probleme.

Minimalbeispiel nehmen (z.B. das Beispiel aus Beitrag #1), übersetzen, anschließend die log-Datei hier (als Anhang) posten, damit wir dort reinschauen können. So können wir nur raten.

boxleitnerb
29-08-2010, 10:52
Kann ich Miktex 2.8 parallel zu 2.7 installieren? Dann kann ich die Logs von beiden Durchläufen mal posten.

Das ist mein Minimalbeispiel (das andere läuft bei mir nicht, weil die Vorlage und der tex-Baum des TE neuer sind als meine):


\ifx\Options\undefined\def\Options{}\fi
\documentclass[ngerman,dvips,a4paper,12pt,\Options]{lfb2report}

\usepackage{makeidx}
\makeindex % makeindex aktivieren


\usepackage{nomencl}

\begin{document}


\pagenumbering{roman}
\include{Titel}

\clearpage
\pagenumbering{arabic}

\end{document}

Log (Miktex 2.7):
http://www.file-upload.net/download-2783507/main.log-2.7.txt.html

Log (Miktex 2.8):
http://www.file-upload.net/download-2783505/main.log-2.8.txt.html

Ich hab jetzt nur 2.7 und 2.8 parallel installiert (jeweils Basic), dasselbe Minimalbeispiel durchlaufen lassen. Bei 2.7 bekomme ich 0 Fehler, bei 2.8 sind es 4 Fehler:


! Undefined control sequence.
l.3568 \DeclareLocalOptions
{%
! LaTeX Error: Missing \begin{document}.
! Undefined control sequence.
l.99 \ProcessLocalKeyvalOptions
*
! LaTeX Error: Missing \begin{document}.

sommerfee
29-08-2010, 13:13
Interessanter als die Fehler sind vermutlich:


LaTeX Warning: You have requested, on input line 694, version
`2009/04/10' of package pdftexcmds,
but only version
`2007/12/12 v0.3 LuaTeX support for pdfTeX utility functions (HO)'
is available.



LaTeX Warning: You have requested, on input line 3517, version
`2009/07/21' of package kvoptions,
but only version
`2007/10/18 v3.0 Keyval support for LaTeX options (HO)'
is available.


Daß bei dieser Dokumentenklasse (mir völlig unverständlicherweise) fremde (und veraltete) Pakete beiliegen, wissen wir ja schon. Also muß man dafür sorgen, daß er aktuelle Versionen nimmt, indem man die aktuellen Versionen all dieser Pakete installiert hat.

Bei deinem MikTeX 2.8 scheint das Oberdiek-Paket nicht installiert zu sein, so daß das aktuelle hyperref auf die veralteten Pakete aus dem Murks zurückgreift. Die Installation des Oberdiek-Paketes müsste also Abhilfe bringen.

Liebe Grüße,
Axel

boxleitnerb
29-08-2010, 13:45
Also ich hab mal geschaut:
Das Oberdiek Paket ist installiert. Jedenfalls finde ich dazu entsprechende Dateien, wenn ich in Miktex 2.8 danach suche.

sommerfee
30-08-2010, 13:48
Dann gilt es zu klären, warum er das oberdiek-Paket aus dem Murks nimmt und nicht dasjenige von MikTeX. Suchreinfolge falsch?

Man könnte auch mal versuchen, oberdiek, hyperref und all die Pakete, die in der Dokumentenvorlage rein gar nichts zu suchen haben, aus der Dokumentenvorlage zu löschen. Dann wird man ja sehen, ob wirklich alles auch in MikTeX vorhanden ist, was gebraucht wird.

Liebe Grüße,
Axel

u_fischer
30-08-2010, 14:54
Dann gilt es zu klären, warum er das oberdiek-Paket aus dem Murks nimmt und nicht dasjenige von MikTeX?

Weil oberdiek im lokalen Baum falsch installiert ist. Dateien, die unter tex\generic gehören, befinden sich in tex\latex und damit weiter vorne in der Suchreihenfolge.