Bibtex Latex-Workshop Faltando endcsname inserido

Bibtex Latex-Workshop Faltando endcsname inserido

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á babelna spanishopçã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 ~ne compilá-lo para ser ñ. Infelizmente, fora da babel espanhola, o ~personagem também insere um (tipo particular de) espaço, e natbib(especialmente no chicagoestilo) 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}

informação relacionada