更新

更新

使用 cleverefcapitalize选项时,我的所有引用都应大写。但这仅在我不添加新babel翻译时才有效。

运行以下示例将得到以下figura结果Figura

在此处输入图片描述

如果我注释掉我的行\addto\captionsbrazil{\crefname{figure}{figura}{figuras}},那么该capitalize选项将再次开始起作用:

在此处输入图片描述

capitalize当使用 babel 包时如何修复 cleveref选项?

我该如何向 cleveref 包维护者报告此错误?

\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}

相关问题:

  1. 如果与 amsthm 一起使用,cleveref 不会使用正确的大写名称?

更新

下列的@Mico建议不要使用,\addto\captionsbrazil因为默认情况下不会显示Figura其显示Fig.,而是需要使用它\addto\captionsbrazil来覆盖此Fig.缩写:

在此处输入图片描述

\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}

答案1

我建议您将该选项添加brazilian到加载包时使用的选项列表中cleveref。例如,如下所示:

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

如果您希望获得“Figura”而不是“Fig.”,只需将该选项添加noabbrev到您加载包的选项列表中cleveref

通过这种设置,代码中显示的两条\addto\captionsbrazil指令似乎不需要。

相关内容