如何让 \cref 在 emacs 中打印“Fig.”?

如何让 \cref 在 emacs 中打印“Fig.”?

我在使用 emacs 的 AUCTeX + RefTeX 模式时遇到了麻烦。当在文件的前言中加载\cref时,pdf 将图片的引用显示为“第 1.3 节”,而不是“图 1a”(见下面的快照)。\usepackage{cleveref}main.tex

我已阅读过以下两篇讨论:链接-1链接-2,并且我已将以下几行添加到我的.emacs文件中,但没有注意到 emacs 的行为有任何变化。

;;emacs RefTeX
(setq reftex-ref-macro-prompt nil) ;skips picking the reference style

;code taken from SX "Cleveref: AUCTeX and RefTeX set-up"
(eval-after-load
    "latex"
  '(TeX-add-style-hook
    "cleveref"
    (lambda ()
      (if (boundp 'reftex-ref-style-alist)
      (add-to-list
       'reftex-ref-style-alist
       '("Cleveref" "cleveref"
         (("\\cref" ?c) ("\\Cref" ?C) ("\\cpageref" ?d) ("\\Cpageref" ?D)))))
      (reftex-ref-style-activate "Cleveref")
      (TeX-add-symbols
       '("cref" TeX-arg-ref)
       '("Cref" TeX-arg-ref)
       '("cpageref" TeX-arg-ref)
       '("Cpageref" TeX-arg-ref)))))

有人可以帮帮我吗?

=MWE=

\documentclass[10pt, a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[italian]{babel}
\usepackage{amsmath,amssymb} 
\usepackage{mathtools}
\usepackage{esdiff}
\usepackage[version=4]{mhchem}
\usepackage[a4paper]{geometry}
\usepackage{fullpage}
\usepackage{lipsum}

% FONT CHOICE
% Palatino for serif & math, Helvetica for ss, Courier for tt
\usepackage{mathpazo} % math & rm
\linespread{1.05}     % Palatino needs more leading (space between lines)
\usepackage[scaled]{helvet} % ss
\usepackage{courier} % tt
\normalfont

\usepackage{siunitx}
    \DeclareSIUnit\Molar{\textsc{m}}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}
\usepackage{cleveref}

\graphicspath{{./IMGS/}}

\title{sometitle}

\begin{document}
\begin{enumerate}
\item bla bla bla? [cfr. \cref{fig:rame}]
\end{enumerate}

\begin{figure}[ht]
  \centering
   \begin{subfigure}[b]{0.4\textwidth}
    \includegraphics[scale=.4]{a}   
     \label{fig:nacl} 
   \end{subfigure} \quad
   \begin{subfigure}[b]{0.4\textwidth}
    \includegraphics[scale=0.4]{b}
     \label{rame}
   \end{subfigure}
\label{fig:figure}
\caption{General caption}
 \end{figure}

\end{document}

=快照= 在 pdf 中,参考资料与图片的标题不对应

答案1

您遇到的问题与 emacs 无关,并且仅与 cleveref 间接相关。您需要执行以下操作:

  • \caption在主图中,交换和的顺序\label\caption语句必须位于\label声明之前。

  • \caption为两种环境分别提供语句subfigure。请注意,\caption语句必须位于\label语句之前。

  • \label修复第二个子图中指令的参数:它当前显示为rame,而 的参数为\creffig:rame我建议您将\label语句更改为\label{fig:rame}

最后,如果您需要\cref生成Fig.而不是fig。,请确保使用cleveref选项加载包capitalizecapitalise也可以)。

相关内容