
Ich verwende es biblatex
zum ersten Mal. Wenn ich das Dokument schnell kompiliere, läuft es problemlos. Danach führe ich den BibTeX-Befehl aus und es funktioniert auch. Danach versuche ich erneut eine Schnellkompilierung, um das PDF mit der Bibliografie zu erstellen, aber ich erhalte diese Art von Fehlern für alle zitierten Quellen in meiner .bib-Datei:
! Undefined control sequence.
<to be read again> \edef \lbx@tempa {{wen-mei}z
w.hwu}
l.90 \end{document}
Dies ist meine Haupt-LaTeX-Datei
% El documento está pensado para ser impreso en hojas por ambos lados (twoside)
% openright causa que los capítulos empiecen en hoja impar
\documentclass[12pt,letterpaper,twoside,openright]{report}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc} %Uso de tildes si desarrolla en Linux
\usepackage[backend=bibtex]{biblatex}
\addbibresource{mybib_test.bib}
\usepackage{listings}
\begin{document}
\pagenumbering{arabic}
\include{capitulo_01_test} % 1. Introducción
% ------------ Comienza la bibliografía ---------------
\printbibliography
\end{document}
Dies ist die zweite Tex-Datei mit dem Namen capitulo_01_test.tex
\cite{brasnett2007} \cite{chapman2007} \cite{duda1972} \cite{kirk2010} \cite{vanginkel2004}.
Wenn ich \usepackage{listings} aus meiner Haupt-Tex-Datei lösche, ist das Problem behoben. Aber warum? Und ich brauche das Listings-Paket.
Dies ist meine Bibtex-Datei
% This file was created with JabRef 2.6.
% Encoding: UTF-8
@INPROCEEDINGS{brasnett2007,
author = {P. Brasnett and M. Z. Bober},
title = {Robust Visual Identifier Using the Trace Transform},
booktitle = {Visual Information Engineering Conference (VIE 2007)},
year = {2007},
pages = {25-27}
}
@BOOK{chapman2007,
title = {Using OpenMP: Portable Shared Memory Parallel Programming},
year = {2007},
author = { Barbara Chapman and Gabriele Jost and Ruud van van der Pas},
publisher = "The MIT Press",
address = "Massachusetts, Estados Unidos"
}
@ARTICLE{duda1972,
author = {Richard O. Duda and Peter E. Hart},
title = {Use of the Hough Transformation to Detect Lines and Curves in Pictures},
journal = {Communications of the ACM},
year = {1972},
volume = "15",
number = "1",
pages = "11--15"
}
@BOOK{kirk2010,
title = {Programming Massively Parallel Processors: A Hands-on Approach},
year = {2010},
author = {David B. Kirk and {Wen-mei} W. Hwu},
publisher = "Morgan Kaufmann",
address = "Massachusetts, Estados Unidos"
}
@TECHREPORT{vanginkel2004,
author = {Michael van Ginkel and Cris L. Luengo Hendriks and Lucas J. van Vliet},
title = {A short introduction to the Radon and Hough transforms and how they relate to each other},
institution = {Quantitative Imaging Group, Delft University of Technology},
year = {2004},
address = {Delft, Holanda},
}
Ich habe gehört, es könnte beispielsweise das „-“ zwischen Wen-mei sein, aber ich habe es mehrmals geändert und es hat nicht funktioniert.
Als ich nur Bibtex verwendet habe, hatte ich dieses Problem nicht.
Hinweis (Bearbeiten): Ich habe die Frage bearbeitet, um dem Vorschlag von cfr zu folgen, und habe herausgefunden, dass \usepackage{listings}
die Kompilierung kein Problem darstellt, wenn ich den Teil in meiner Haupt-.tex-Datei lösche. Irgendeine Idee, warum?
Antwort1
Es handelt sich um einen Fehler, der eine falsche Einstellung listings
hinterlässt . Ich konnte den Grund nicht finden, warum der Fehler nur bei Spanisch als Sprache auftritt, aber das Problem liegt sicherlich an dieser falschen Einstellung.\lccode
~
Sie lösen Ihr Problem durch Hinzufügen
\lccode`~=0
nach
\usepackage{listings}
Mit anderen Worten: Die Präambel sollte
\documentclass[12pt,letterpaper,twoside,openright]{report}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc} %Uso de tildes si desarrolla en Linux
\usepackage[backend=bibtex]{biblatex}
\addbibresource{mybib_test.bib}
\usepackage{listings}
\lccode`~=0
Der falsche Code in listings.sty
ist die Definition von\lst@CCPut
884 \def\lst@CCPut#1#2{%
885 \ifnum#2=\z@
886 \expandafter\@gobbletwo
887 \else
888 \lccode`\~=#2\lccode`\/=#2\lowercase{\lst@CCPut@~{#1/}}%
889 \fi
890 \lst@CCPut#1}
wo Zeile 888 sein sollte
\begingroup\lccode`\~=#2\lccode`\/=#2\lowercase{\endgroup\lst@CCPut@~{#1/}}%
Es gibt auch noch eine weitere falsche Einstellung, listings
die korrigiert werden sollte; in \lst@RestoreCatcodes
der falschen Zuordnung
\lccode`\/=`\/
durchgeführt wird, die entfernt oder widerrufen werden sollte durch
\lccode`\/=0
genau wie das für ~
.