继续cleveref——同时使用缩写和完整形式的引用?\namecref
,如何获得和的完整形式的输出,同时像往常一样\nameCref
保持和的缩写形式?\cref
\Cref
例子:
\documentclass[ngerman]{article}
\pagestyle{empty}
\usepackage[ngerman]{babel}
\usepackage[ngerman,capitalize]{cleveref}
\begin{document}
\begin{figure}
Irgendein Diagramm% German for “Some diagram”
\caption{Bezeichnung des Diagramms}% German for “name of the diagram”
\label{fig}
\end{figure}
Betrachen wir \cref{fig}. %%% German for “Let us consider Fig. 1.”, which is fine.
Diese \namecref{fig} beschreibt \ldots %%% German for “This Fig./Figure describes …”. We'd like to have an unabbreviated form here: “Diese Abbildung beschreibt …” (German for “This figure describes …”). “Diese Abb. beschreibt …” (German for “This Fig. describes …”) looks strange.
\end{document}
生产
我们尊敬的 Abb。 1. 这个阿姨。描述…
我们希望有一个更愉快的
我们尊敬的 Abb。 1. 本图片说明…
反而。
如果可能的话,我们不想更改部分\begin{document}…\end{document}
,即所使用的命令的名称,例如\namecref
、\cref
和其他,因为这样会形成一个庞大的 LaTeX 文档——一本厚厚的书。理想情况下,唯一的变化应该发生在序言中,或者,在最坏的情况下,\namecref
可以用其他内容替换,因为书中只有少数几个例子\namecref
(而不是很多例子\cref
和Cref
)。
答案1
您可以暂时切换到长格式:
\documentclass[ngerman]{article}
\pagestyle{empty}
\usepackage[ngerman]{babel}
\usepackage[ngerman,capitalize]{cleveref}
\makeatletter
\DeclareRobustCommand{\namecref}[1]{%
\begingroup
\crefname{figure}{Abbildung}{Abbildungen}%
\crefname{subfigure}{Abbildung}{Abbildungen}%
\@setnamecref{cref}{#1}{}{}%
\endgroup
}%
\makeatother
\begin{document}
\begin{figure}
Irgendein Diagramm
\caption{Bezeichnung des Diagramms}\label{fig}
\end{figure}
Betrachen wir \cref{fig}. %%% “Betrachen wir Abb. 1.” is fine.
Diese \namecref{fig} beschreibt \ldots %%% We'd like to have an unabbreviated form here: “Diese Abbildung beschreibt …”. “Diese Abb. beschreibt …” looks strange.
Betrachen wir \cref{fig}. %%% “Betrachen wir Abb. 1.” is fine.
\end{document}