这是我第一次使用它biblatex
。当我对文档进行快速编译时,编译没有问题,之后我运行 BibTeX 命令,它也能正常工作。之后我再次尝试快速编译以生成带有参考书目的 pdf,但我的 .bib 文件上所有引用的来源都出现以下类型的错误:
! Undefined control sequence.
<to be read again> \edef \lbx@tempa {{wen-mei}z
w.hwu}
l.90 \end{document}
这是我的主要 LaTeX 文件
% 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}
这是第二个 tex 文件,名为 capitulo_01_test.tex
\cite{brasnett2007} \cite{chapman2007} \cite{duda1972} \cite{kirk2010} \cite{vanginkel2004}.
当我从主 tex 文件中删除 \usepackage{listings} 时,问题就消失了。但为什么呢?我需要 listings 包。
这是我的 bibtex 文件
% 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},
}
我听说可以是文美之间的“-”,但我改了好几次,还是不行。
当我刚使用 bibtex 时,我没有遇到这个问题。
注意(编辑):我根据 cfr 的建议编辑了这个问题,我发现如果我删除\usepackage{listings}
主 .tex 文件上的部分,编译就不会有问题。知道为什么吗?
答案1
这是 中的一个错误,listings
它留下了一个错误\lccode
。~
我找不到为什么这个错误只在西班牙语为语言时出现的原因,但问题肯定出在那个糟糕的设置上。
您可以通过添加来解决您的问题
\lccode`~=0
后
\usepackage{listings}
换句话说,序言应该是
\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
中的错误代码listings.sty
是\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}
第 888 行应该在哪里
\begingroup\lccode`\~=#2\lccode`\/=#2\lowercase{\endgroup\lst@CCPut@~{#1/}}%
还有另一个错误设置遗留,listings
需要纠正;在\lst@RestoreCatcodes
错误的分配中
\lccode`\/=`\/
执行,应由
\lccode`\/=0
就像 的那个一样~
。