奇怪的“未定义的控制序列”消息

奇怪的“未定义的控制序列”消息

这是我第一次使用它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

就像 的那个一样~

相关内容