Seite 1 von 1
missing item in .ind-Datei?
Verfasst: Mo 25. Feb 2013, 22:15
von Rabe
Hallo liebe Forumsteilnehmer/-innen,
ich habe ein längeres Dokument in dem ich u.a. die Pakete hyperref, xwatermark und makeidx nutze.
pdfLatex, BibTex, MakeIndex, pdfLatex funktioniert. Beim nächsten pdfLatex-Lauf bekomme ich folgende Fehlermeldung:
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.70 \item h
yphenation, \hyperpage{20}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
[1
] [2] [3])
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 163.
[1
]
Package atveryend Info: Executing hook `AfterLastShipout' on input line 163.
(...\latexkurs.xwm)
Ich will noch anmerken, dass ich die Titelseite auf 0 gesetzt habe. Danach folgen Römische Zahlen, arabische, römische, Buchstaben, buchstaben und noch eine Seite, die auf -1 gesetzt. Die erste Seite und die letzte Seite sind auf 0 bzw. -1 gesetzt um Verwechslungen zu vermeiden. (Nach meinen Recherchen brauche ich den Zinnober vor allem für xwatermark, welches nur arabische ziffern an Anfang und Ende des dokuments verträgt).
In der Paketdokumetation zu atveryend finde ich nichts, was mich weiterbringt. Die ind-datei habe ich kontrolliert, mir fällt nichts auf.
Hat jemand einen Rat für mich?
Ich bemühe mich um ein Minimalbeispiel und hänge bei Bedarf gewünschte Dateien an.
Verfasst: Di 26. Feb 2013, 07:52
von Besserwisser
Die Fehlermeldung kann alle möglichen Ursachen haben. Ohne vollständiges Minimalbeispiel wird es schwierig, dazu etwas zu sagen. Zur Fehlersuche kannst Du den Index einmal in eine wirklich minimale Datei einladen. Normalerweise ist die ind-Datei nichts anderes als eine tex-Datei. Daher beispielsweise:
\documentclass{article}
\usepackage[…]{inputenc}% noch die richtige Codierung hier angeben ist wichtig!
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\begin{document}
\input{foo.ind}% Dateinamen ersetzen
\end{document}
Wenn das funktioniert, ist der Index selbst korrekt und der Fehler liegt irgendwo davor.
Index ist korrekt
Verfasst: Di 26. Feb 2013, 09:11
von Rabe
Der Index ist korrekt. Die Prüfung mit folgendem Code funktioniert. Vielen Dank an Besserwisser!
\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\begin{document}
\input{foo.ind}
\end{document}
Ich bin jetzt dran ein Minimalbeispiel zu erstellen.
Minimalbeispiele
Verfasst: Di 26. Feb 2013, 10:52
von Rabe
Ich habe nun gleich zwei Minimalbeispiele.
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,german,ngerman]{babel}
\usepackage{makeidx}
\makeindex
\usepackage{ltxkeys}
\usepackage{xcolor}
\usepackage[printwatermark=true]{xwatermark}
\newwatermark[allpages,angle=60,color=gray!25,fontsize=60pt]{--Entwurfsexemplar--}
%\author{Rabe}
%\title{Name}
%\date{\today}
\begin{document}
%\maketitle[0]
\setcounter{page}{0}
Titel
\newpage
\pagenumbering{Roman}
Vorbemerkung
\newpage
\pagenumbering{arabic}
Hallo\index{foo}
\pagenumbering{roman}
\appendix
Der Anhang wird nur gemacht, wenn noch Zeit übrig ist.
\newpage
\pagenumbering{Alph}
Literaturverzeichnis
\newpage
\pagenumbering{alph}
\printindex
\newpage
\pagenumbering{arabic}
\setcounter{page}{-1}
%\pagestyle{empty}
Schlussbemerkung
\end{document}
Hier bekomme ich eine Fehlermeldung.
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.5 \end{theindex}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
[1
])
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 38.
[-1
]
Package atveryend Info: Executing hook `AfterLastShipout' on input line 38.
Ich habe hier erst pdfLatex, Bibtex, Makeindex laufen lassen, dann alle Pakete in der Präambel auskommentiert bis weitere Fehrlermeldungen kamen. Danach habe ich die per \input eingefügten Teildateien rausgeschmissen und in der Präambel weiter auskommentiert. Zwischendrin habe ich immer wieder die Läufe durchgeführt (ohne Hilfsdateien zu löschen).
Keine Fehlermeldung erhalte ich, wenn ich entweder das xwatermark-Paket auskommentiere oder die pagenumbering-Befehle.
Das nächste Minimalbeispiel läuft bei mir.
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,german,ngerman]{babel}
\usepackage{makeidx}
\makeindex
\usepackage{ltxkeys}
\usepackage{xcolor}
\usepackage[printwatermark=true]{xwatermark}
\newwatermark[allpages,angle=60,color=gray!25,fontsize=60pt]{--Entwurfsexemplar--}
\begin{document}
Titel
\setcounter{page}{0}
\newpage
\pagenumbering{Roman}
Vorbemerkung
Verzeichnisse\index{verzeichnis}
\pagenumbering{arabic}
\chapter{kapitel}
Hauptteil\index{hauptteil}
\pagenumbering{roman}
\appendix
Anhang\index{anhang}
\newpage
\pagenumbering{Alph}
Literatur\index{literatur}
\newpage
\pagenumbering{alph}
Index\index{index}
\printindex
\newpage
\pagenumbering{arabic}
\setcounter{page}{-1}
\pagestyle{empty}
Abschlussbemerkung
\end{document}
Keine Fehlermeldung.
Kann mir jemand den Unterschied erklären? Ist mein Vorgehen falsch?
Verfasst: Di 26. Feb 2013, 11:40
von u_fischer
Das ist ein Bug in xwatermark: Die Index-Umgebung definiert \item um. xwatermark benutzt intern aber die center-Umgebung, die wiederum auf \trivlist aufbaut, und selbst \item benutzt. Beim shipout wird dann \center mit der falschen \item-Definition aufgerufen.
Nachtrag: Hier ein Beispiel, das das Problem ohne Index usw. demonstriert:
\documentclass{article}
\usepackage{xcolor}
\usepackage[printwatermark=true]{xwatermark}
\newwatermark[firstpage]{--Entwurfsexemplar--}
\newenvironment{test}{%
\renewcommand\item{}}{\clearpage}
\begin{document}
\begin{test}
abc
\end{test}
\end{document}
"Problem gelöst:xwm & makeidx mögen sich nicht"
Verfasst: Di 26. Feb 2013, 12:05
von Rabe
Danke für die Lösung des Problems.
Ich kann also entweder xwatermark benutzen oder makeidx. Beide zusammen mögen sich nicht
Kann ich die Hinweise,dass makeidx item umbenennt und xwatermark item indirekt benutzt in den jeweiligen Paketdokumentationen finden?
Ja oder nein antworten genügt. Ich bin im Umgang mit den Paketdokus noch ungeübt.
Eine Frage, die nicht unbedingt zu beantworten. Bei der ich mich aber über eine Antwort freuen würde.
Wenn ich unbedingt ein Wasserzeichen und ein Stichwortverzeichnis möchte,: Was lohnt sich am ehesten? Muss ich mich nach anderen Wassrzeichenpaketen umsehen? Oder kann ich xwatermark auf die geänderte \item-Definition umpolen? Oder kann ich den Index anders erstellen?
Re: "Problem gelöst:xwm & makeidx mögen sich nicht&
Verfasst: Di 26. Feb 2013, 12:16
von u_fischer
Rabe hat geschrieben:Danke für die Lösung des Problems.
Ich kann also entweder xwatermark benutzen oder makeidx. Beide zusammen mögen sich nicht
Genau.
Kann ich die Hinweise,dass makeidx item umbenennt und xwatermark item indirekt benutzt in den jeweiligen Paketdokumentationen finden?
Nein. Es ist ja ein Bug. Der Autor von xwatermark hat da einfach nicht dran gedacht: Schreibe ihn an, er muss das korrigieren.
Wenn ich unbedingt ein Wasserzeichen und ein Stichwortverzeichnis möchte,: Was lohnt sich am ehesten? Muss ich mich nach anderen Wassrzeichenpaketen umsehen?
Ja, solange in xwatermark der Bug nicht korrigiert ist. \item-Umdefinitionen haben alle index-Pakete.
Mail an xwatermark-Paketautor
Verfasst: Di 26. Feb 2013, 14:29
von Rabe
Vielen Dank für die professionelle Hilfe.
Ich habe dem Autor des xwatermark-Paketes eine Mail geschickt und ihm das Problem geschildert, so gut ich es konnte.
Der Autor hat mir inzwischen geantwortet und möchte das Paket bis nächste Woche richten.
Verfasst: Do 7. Mär 2013, 17:26
von Rabe
Laut Autor besteht das Problem nicht im xwatermark-Paket selbst, sondern das xwatermark-Paket, hat den Fehler vom atbegshi-Paket geerbt.
Problem gelöst
Verfasst: Di 4. Jun 2013, 15:26
von Rabe
Dank Updates der Pakete kein Problem mehr.
makeidx und xwatermark sind miteinander verwendbar.