编辑:本页底部提到的解决方案非常适合标签输出。但现在我正在努力解决 \crefname 和计数器之间的距离问题。我希望 fig. 和数字之间的距离更小一些,而不是空格。我希望 fig\,1 而不是 fig.~1,但似乎我迷失在 cref 手册的代码中了。
我结合使用了varioref
和cleveref
来hyperref
使用 - 我想说 - 更“复杂”的引用行为。它使我能够简单地使用\vref{labelname}
来获取输出
第 1 页上的表 1
我的 MWE 如下所示:
\documentclass{scrreprt}
\usepackage[T1]{fontenc}%Kodierung
\usepackage[utf8]{inputenc}%%Kodierung
\usepackage[english,ngerman]{babel}%language
\usepackage[format=plain,indention=1em,labelfont=bf,font=footnotesize,justification=justified,position=bottom]{caption} %schönere Captions durch den \caption-Befehl
%%%%%%%%%%
%REFERENCES
%%%%%%%%%%
\usepackage[ngerman]{varioref}
\usepackage[linktocpage=true,bookmarksopen,hidelinks,ngerman,hyperfootnotes=false]{hyperref}%Hyperrefpaket
\usepackage[ngerman,nameinlink,sort]{cleveref}
\renewcommand*babel\reftextfaraway[1]{auf S.\,\pageref{#1}}%
\addto\extrasngerman{\renewcommand{\reftextfaraway}[1]{auf S.\,\pageref{#1}}} %Short page labels
\begin{document}
\chapter{Chapter 1}
\begin{table}
\caption{Text}
\label{text}
\end{table}
\newpage
\vref{text}
\end{document}
现在,我想要的是:当我使用“ref”命令时,我想改变表格或图形或文本中任何名称的方式。而不是
第 1 页上的图 1
我想要得到(最好是德语,但我猜这可以通过通用触发器或 babel 来实现)
第 1 页图 1
通过研究,我已经弄清楚了如何通过添加此代码来修改浮点数本身中的标签(因为我正在使用 babel 包,所以需要这样做):
\addto\captionsngerman{\renewcommand{\figurename}{Abb.}}
\addto\captionsngerman{\renewcommand{\tablename}{Tab.}}
另外,我在论坛上找到了一种修改页面标签输出的方法,但我无法更改引用命令的文本输出。我试过
\addto\captionsngerman{\renewcommand{\crefname}{Abb.}}
但是,这只是给我一个缺少控制序列的错误。
答案1
正如所讨论的这cleveref
(第 12 页),使用(不要重新定义)\crefname
和\Crefname
宏:
\addto\captionsngerman{
% Second argument is singular, third is plural
\crefname{figure}{abb.}{abb.}
\Crefname{figure}{Abb.}{Abb.}
}