
Eu sou muito novo no látex trabalhando em linux com textlive e vscode com a extensão Latex-Workshop, me custou um pouco de tempo fazendo funcionar junto, mas no final está funcionando bem, exceto que continuo recebendo o erro no título "Faltando endcsname inserido" em uma entrada específica no meu bibfile:
@article{llavearticulo,
author = {Arthur B Cummings and David Eftekhary and Frank G House},
title = {The accurate determination of college students
coefficients of friction},
journal = {Journal of Sketchy Physics},
volume = {13},
year = {2003},
number = {2},
pages = {46--129}
}
É apenas um artigo fictício de um curso de látex. MWE:
\documentclass[12pt]{report}
\usepackage[a4paper, margin=2.54cm, head=1.27cm, foot=1.27cm]{geometry}
\usepackage[spanish]{babel}
\usepackage{natbib}
\usepackage{fancyhdr}
\usepackage{import}
\usepackage{hyperref}
\usepackage{xcolor}
\usepackage[table]{xcolor}
\usepackage{pdflscape}
\usepackage{ulem}
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{cellspace}
\usepackage{graphicx}
\usepackage[spanish]{cleveref}
\usepackage{url}
\graphicspath{{./images}}
\newcommand{\mychapter}[2]{
%\setcounter{chapter}{#1}
%\setcounter{section}{0}
\chapter*{#1 #2}
\addcontentsline{toc}{chapter}{#1 #2}
\refstepcounter{chapter}
}
\fancypagestyle{plain}{
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\pagestyle{plain}
\renewcommand{\contentsname}{Índice general}
\renewcommand{\listfigurename}{Índice de cuadros}
\renewcommand{\listtablename}{Índice de figuras}
\title{My title}
\author{My myself}
\date{}
\begin{document}
\maketitle
Otras formas de citas
\begin{itemize}
\item \cite[p.12]{llavearticulo}
\item \cite[e.g.][p.12]{llavearticulo}
\item \cite[e.g.][]{llavearticulo}
\item \cite[][]{llavearticulo}
\item \citep{llavearticulo}
\item \cite*{llavearticulo}
\item \citep*{llavearticulo}
\end{itemize}
\newpage
\bibliography{sources}
\bibliographystyle{chicago}
\end{document}
Verificando os arquivos gerados o arquivo main.bbl apresenta o erro na linha antes do final:
\begin{thebibliography}{}
\bibitem[\protect\citeauthoryear{Cummings, Eftekhary, and House}{Cummings et~al.}{2003}]{llavearticulo}
Cummings, A.~B., D.~Eftekhary, and F.~G. House (2003).
\newblock The accurate determination of college students coefficients of friction.
\newblock {\em Journal of Sketchy Physics\/}~{\em 13\/}(2), 46--129.
\end{thebibliography}
Já procurei questões anteriores mas as únicas remotamente semelhantes eram aquelas que usavam chaves com caracteres estranhos no arquivo bib ou usavam sublinhado em algum campo.
Responder1
Como uma abertura à parte: no futuro, faça um trabalho melhor aparando seu MWE. A maioria dos pacotes que você carregou não são usados no documento, e se você fizer alguns cortes preliminares (comentando cada pacote um por um e vendo se isso afeta o problema), você pode ter chegado à conclusão de que o seguinte é um exemplo muito mais mínimo
\documentclass[12pt]{report}
\usepackage[spanish]{babel}
\usepackage{natbib}
\title{My title}
\author{My myself}
\date{}
\begin{document}
\maketitle
Otras formas de citas
\begin{itemize}
\item \cite[p.12]{llavearticulo}
\item \cite[e.g.][p.12]{llavearticulo}
\item \cite[e.g.][]{llavearticulo}
\item \cite[][]{llavearticulo}
\item \citep{llavearticulo}
\item \cite*{llavearticulo}
\item \citep*{llavearticulo}
\end{itemize}
\newpage
\bibliography{sources}
\bibliographystyle{chicago}
\end{document}
e que o culpado está babel
na spanish
opção.
O problema é que o babel-spanish cria vários atalhos para permitir a digitação rápida de caracteres acentuados usando o conjunto de caracteres ASCII padrão. Entre isso está a capacidade de digitar ~n
e compilá-lo para ser ñ
. Infelizmente, fora da babel espanhola, o ~
personagem também insere um (tipo particular de) espaço, e natbib
(especialmente no chicago
estilo) o utiliza para fazer parte da formatação dos itens bibliográficos.
Duas soluções possíveis
Se você não usa as abreviações do babel (com base no MWE que você postou, parece que você digita o documento em Unicode e pode digitar caracteres
ñ
diretamente), a coisa mais fácil é desativar completamente as abreviações no babel. Você faz isso adicionando opções apropriadas ao arquivo\uspackage[...]{babel}
. Experimente, por exemplo,\usepackage[spanish, es-noshorthands, shorthands=off]{babel}
Se você de fato usa taquigrafias babel, você também pode desativar a taquigrafia ofensiva antes que sua bibliografia seja impressa. Tente substituir as últimas linhas do seu código por
\newpage
\shorthandoff{~} % <- turns off the ~ short hand
\bibliography{sources}
\bibliographystyle{chicago}
\end{document}