Atualizar

Atualizar

Ao usar a capitalizeopção intelligentef, todas as minhas referências devem estar em maiúsculas. Mas isso só funciona se eu não adicionar novas babeltraduções.

Executar o exemplo a seguir resulta em figuraem vez de Figura:

insira a descrição da imagem aqui

E se eu comentar minha linha \addto\captionsbrazil{\crefname{figure}{figura}{figuras}}, a capitalizeopção começará a funcionar novamente:

insira a descrição da imagem aqui

Como corrigir a capitalizeopção intelligentef ao usá-la com o pacote babel?

Como posso relatar isso como um bug para os mantenedores do pacote smartef?

\documentclass[english,12pt,a4paper,twoside]{abntex2}
\usepackage{listings}
\usepackage[nameinlink,capitalise]{cleveref}

\addto\captionsbrazil{\crefname{figure}{figura}{figuras}}
\addto\captionsbrazil{\Crefname{figure}{Figura}{Figuras}}

\begin{document}
\chapter{Hi}

See the \Cref{acode,afigure}.

\Cref{afigure}.

\Cref{acode}.

\begin{lstlisting}[caption=Code,label=acode]
Code
\end{lstlisting}

\begin{figure}[!htb]
\caption{Figure}
\label{afigure}
Figure
\end{figure}

Something...

\end{document}

Perguntas relacionadas:

  1. smartef não usa o nome correto em letras maiúsculas se usado com amsthm?

Atualizar

Seguindo@Micosugestão de não usar \addto\captionsbrazilnão funciona porque por padrão ao invés de mostrar Figuraseus shows Fig., então preciso usar \addto\captionsbrazilpara substituir esta Fig.abreviatura:

insira a descrição da imagem aqui

\documentclass[english,12pt,a4paper,twoside]{abntex2}
\usepackage{listings}
\renewcommand\lstlistingname{Listagem}
\usepackage[nameinlink,capitalise,brazilian]{cleveref}

\begin{document}
\chapter{Hi}

See the \Cref{acode,afigure}.

\Cref{afigure}.

\Cref{acode}.

\begin{lstlisting}[caption=Code,label=acode]
Code
\end{lstlisting}

\begin{figure}[!htb]
\caption{Figure}
\label{afigure}
Figure
\end{figure}

Something...

\end{document}

Responder1

Sugiro que você adicione a opção brazilianà lista de opções empregadas ao carregar o cleverefpacote. Ou seja, algo assim:

\documentclass[english,12pt,a4paper,twoside]{abntex2}
\usepackage{listings}
\renewcommand\lstlistingname{Listagem}
\usepackage[nameinlink,capitalise,brazilian]{cleveref}

Se preferir obter "Figura" em vez de "Fig.", basta adicionar a opção noabbrevà lista de opções com a qual você carrega o cleverefpacote.

Com esta configuração, as duas \addto\captionsbrazilinstruções mostradas no seu código não parecem ser necessárias.

informação relacionada