PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Package ucs Error



chrissen
02-04-2012, 11:40
Hallo zusammen. Offenbar, wenn ich die Fehlermeldung richtig verstehe, habe ich versehentlich in den letzten Tagen in mein LateX-Dokument oder in die Bibliographie ein "non-breaking hyphen" (geschützen Bindestrich = U+2011) eingefügt: Zumindest erscheint folgende Fehlermeldung, wenn ich nach LateX- und BibteX-Kompilierung das zweite Mal LateX kompilieren möchte:



! Package ucs Error: Unknown Unicode character 8209 = U+2011,
(ucs) possibly declared in uni-32.def.
(ucs) Type H to see if it is available with options.

See the ucs package documentation for explanation.
Type H <return> for immediate help.
...

l.5277 \newpage
\addcontentsline{toc}{section}{Index}\printindex\e nd{document}
?


Wie kann ich herausfinden, wo ich diesen Unicode Character verwendet habe, um ihn zu löschen? Ich wäre für jeden Tipp sehr dankbar.

u_fischer
02-04-2012, 11:52
Verwende nicht ucs/utf8x.

http://tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc

Abgesehen davon: mit inputenc kannst du die Definition ändern, so dass du die Stelle besser sehen kannst. Hier z.B. beim Euro:


\documentclass{scrbook}
\usepackage{xcolor}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{20AC}{\textcolor{red}{Hal lo hier bin ich}}
\begin{document}

abcde € blub blub
\end{document}

chrissen
02-04-2012, 12:37
Vielen Dank für die schnelle Antwort. Allerdings funktioniert es immernoch nicht. Ich habe den Unicode-Charakter durch XXXX ersetzen lassen, finde dieses aber nirgends im Text. Meine Präambel sieht nun so aus


\documentclass[12pt,a4paper]{article}


\usepackage[polutonikogreek,ngerman]{babel}
\usepackage[paper=a4paper,left=30mm,right=30mm,top=30mm,bottom =30mm]{geometry}
\usepackage{ucs}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{verbatim}
\usepackage[hyperref=true,indexing=cite, style=klassphilbib]{biblatex}
\usepackage{index}
\usepackage[breaklinks]{hyperref}
\bibliography{.../bibliographie}
\usepackage{setspace}
\onehalfspacing
\newcommand*{\fn}[1]{\footnote{#1}}
\newcommand{\gr}{\foreignlanguage{polutonikogreek} }
\DeclareUnicodeCharacter{2011}{\textcolor{red}{XXX X}}
\begin{titlepage}
\title{...}
\author{...}
\date{...}
\end{titlepage}
\makeindex\begin{document}\maketitle\thispagestyle {empty}\newpage\setcounter{page}{1}\tableofcontent s\newpage

\section{Einleitung}


Die Fehlermeldung bleibt die Gleiche. Siehe oben.

Da die LateX-Kompilation beim ersten Mal problemlos durchläuft und erst nach der Bibtex-Kompilation beim zweiten Mal hängen bleibt, und zwar auch erst am ganz am Ende bei der Erstellung des Verzeichnisses, muss ich da nicht eher das Problem in der BibteX-Datei suchen?

u_fischer
02-04-2012, 12:43
\usepackage{ucs}


Ich schrieb: Verwende nicht ucs. Schon gar nicht, wenn biblatex benutzt. Siehe auch "1.5.4 Incompatible Packages" in der biblatex-Doku.

chrissen
02-04-2012, 13:05
Danke für den Tipp!

Ich habe jetzt (durch Ausschlussverfahren) die Fehlerquelle gefunden. In der BibteX-Datei fand sich dieser Eintrag:


@antprim{OlProl,
Author = {Olympiodorus},
Date-Added = {2012-04-01 16:59:30 +0200},
Date-Modified = {2012-04-02 09:48:49 +0200},
Editor = {A. Busse},
Location = {Berlin},
Shortauthor = {Olymp.},
Shorttitle = {prol.},
Title = {Olympiodori prolegomena et in categorias commentarium, in:
Commentaria in Aristotelem Graeca 12.1., S. 1--25},
Year = {1902}}

und der erste(!) Bindestrich in den Seitenangabe war dieser ominöse U+2011 (wie auch immer der da hinkam), den habe ich einfach durch einen normalen ersetzt, und alles funktioniert wieder.

Kann/sollte ich dennoch einfach diesen \usepackage{ucs}-Befehl rausnehmen, obwohl bislang alles fehlerlos lief und nun auch wieder fehlerlos läuft?

u_fischer
02-04-2012, 13:39
Kann/sollte ich dennoch einfach diesen \usepackage{ucs}-Befehl rausnehmen

Nun, ich sagte ja schon, du sollst es nicht verwenden. Es ist nicht kompatible zu biblatex (und anderen Dingen) und es kann dir leicht passieren, dass später, kurz vor Toresschluss, plötzlich auf eines der Probleme stößt.

Lass es nur drin, wenn du ohne ucs Fehler bekommst und wirklich keine Zeit hast, sie zu korrigieren.