
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}
이것은 capitulo_01_test.tex라는 두 번째 tex 파일입니다.
\cite{brasnett2007} \cite{chapman2007} \cite{duda1972} \cite{kirk2010} \cite{vanginkel2004}.
기본 텍스트 파일에서 \usepackage{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},
}
예를 들어 Wen-mei 사이의 "-"가 될 수 있다고 들었는데 여러 번 변경했는데 작동하지 않았습니다.
제가 bibtex를 사용할 때는 이런 문제가 없었습니다.
\usepackage{listings}
참고(편집): cfr의 제안에 따라 질문을 편집했으며 기본 .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
에 대한 것과 같습니다 ~
.