PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler nach Neuinstallation



gomdol
26-05-2009, 01:49
Ich habe mein sehr in die Jahre gekommenes MiK- und Latex rundum erneuert, dass heißt die neuesten Versionen installiert (auch das neue KOMA Script 3).

Während normale bibtex-stile (plainnat ect...) ohne Probleme durchlaufen, wird folgende Fehlermeldung bei einem selbst erstellten bibtex-stil ausgegeben:



(fehler-bib.bbl
! Extra }, or forgotten \endgroup.
\par ...m \@noitemerr {\@@par }\fi \else {\@@par }
\fi
l.19


Der bibtex-stil ist bei mir seit Jahren ohne Probleme unverändert im Einsatz.
Hat es etwas mit dem neuen KOMA-Script zu tun? Denn in der log Datei folgt nach dem Fehler:



I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.


Was kann ich nun tun, weiß jemand Rat? Der fehler kommt für jeden bibtex-Eintrag....

Minimalbeispiel:


\documentclass{scrartcl}
\usepackage{natbib}

\begin{document}

\citet{boden2005}

\bibliographystyle{tryout}
\bibliography{testlit}

\end{document}


Im Dateianhang sind: tryout.bst; testlit.bib; und log-Datei.

Xanth
26-05-2009, 02:35
Hallo Gomdol,

genau dieses Problem habe ich seit meinem heute durchgeführten MiKTeX-Update auch. Ich verwende scrreprt, natbib und einen mit makebst erstellten (und danach noch modifizierten) bibtex-stil. Zusätzlich auch noch einige andere Pakete.
Vermutlich haut irgendwas am Zusammenspiel von natbib und bibtex-style nicht hin.
Zumindest läuft bei mir, natbib mit z.B. plainnat, babelbib mit babalpha und plain ohne natbib problemlos und ohne Fehler für jeden bibtex-Eintrag. Lediglich bei natbib mit selbsterstelltem bibtex-stil tritt der Fehler bei mir auf. Ich habe auch mal andere Pakete auskommentiert, allerdings tritt der Fehler immer dann auf, wenn natbib und der selbsterstellte stil verwendet werden.
Wie man das Problem abstellt ist mir leider auch noch unklar, aber zumindest gibt es schon mal nen Verdächtigen.

Gruß,
Xanth

u_fischer
26-05-2009, 09:22
Die von deinem bst + dem Minimalbeispiel erzeugte bbl enthält
\bibAnnoteFile{boden2005}, und die dazugehörigen Definitionen
\providecommand{\bibAnnoteFile}[1] und
\providecommand{\bibAnnote}[2].

natbib definiert die beiden Befehle auch, aber mit einer anderen Zahl von Argumenten: \providecommand{\bibAnnoteFile}[2]. Also explodiert das Ganze. Ich würde entweder den bst so ändern, dass er \renewcommand statt \providecommand für die beiden benützt. Oder einfach nach dem Laden die entsprechenden \renewcommands ausführen.




\renewcommand{\bibAnnoteFile}[1]{%
\IfFileExists{#1}{\begin{quotation}\noindent\texts c{Key:} #1\\
\textsc{Annotation:}\ \input{#1}\end{quotation}}{}}

\renewcommand{\bibAnnote}[2]{%
\begin{quotation}\noindent\textsc{Key:} #1\\
\textsc{Annotation:}\ #2\end{quotation}}




Ulrike Fischer

Xanth
26-05-2009, 11:29
Danke Ulrike,

bei mir klappt es mit der vorgeschlagenen Änderung des bst.
Schade bloß das die aktuelle Version von natbib nicht kompatibel zu einem früher mit makebst erstelltem bst ist. Kommt ja immerhin beides vom gleichen Autor.

Gruß,
Xanth

gomdol
26-05-2009, 20:08
Auch von mir vielen Dank Ulrike,

die .bst Datei zu ändern funktioniert wunderbar. Es scheint jawohl eine neuere natbib-Version schuld zu sein. Denn jahrelang hatte ich keine Probleme damit.

gruß
andreas