如何使用 \ref 自动产生括号、文本和引用编号?又名:(Siehe S. 3)

如何使用 \ref 自动产生括号、文本和引用编号?又名:(Siehe S. 3)

我在文档中引用时遇到了一点小麻烦。我不想\pageref{sample}显示“7”,而是显示(查看第 7 页)。目前我手动执行此操作,但我希望也自动执行该部分。我目前使用的代码是:

\documentclass[12pt,toc=bibliography,toc=listof,parskip=yes]{scrreprt}u sepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % Wird u.a. f\"ur das Trennen von W\"ortern  mit Umlauten genutzt.
\usepackage[english,ngerman]{babel} % deutsche Bezeichnungen und Worttrennung… 
    

\begin{document}

Important part \label{sample}
\\\ %to avoid the questionmarks
what i get:\pageref{sample}

what it want: (look p.\pageref{sample})

\end{document}

结果

我也尝试过:

\documentclass[12pt,toc=bibliography,toc=listof,parskip=yes]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[english,ngerman]{babel} 
\usepackage{cleveref}
\crefformat{page}{(Siehe S.)}   

\begin{document}

Important part \label{sample}
\\\
kinda what i want, but now with the number:\cpageref{sample}

\end{document}

搜索结果为“Siehe S.”,没有页码。

然后我尝试:

\documentclass[12pt,toc=bibliography,toc=listof,parskip=yes]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % Wird u.a. f\"ur das Trennen von W\"ortern  mit Umlauten genutzt.
\usepackage[english,ngerman]{babel} % deutsche Bezeichnungen und Worttrennung… 
\usepackage{cleveref}
\crefformat{page}{(Siehe S.\pageref{})}

\begin{document}

Important part  \label{sample}
\\\\
kinda what i want, but now with the number: \cpageref{sample}

\end{document}

但是,这只会给我问号(又名:“(Siehe S.??)”)。目前我没有更多的想法了 - 有人知道我该怎么做吗?如果重要的话,我会使用 MiKTeX 和 TeXmaker。

答案1

手册cleveref解释说,格式\crefformat

应包含三个参数,#1#2#3第一个参数是标签计数器的格式化版本(例如 )。其他两个用于标记使用包\theequation时形成超链接的交叉引用部分的开始和结束,并且必须按该顺序出现hyperref

因此一个可能的定义是:

\crefformat{page}{#2(\seename\ \pagename~#1)#3}

这里使用了一个稍微不同的定义:

\documentclass[12pt,toc=bibliography,toc=listof,parskip=yes]{scrreprt}
\usepackage[utf8]{inputenc}% Not needed since LaTeX 2018-04-01
\usepackage[T1]{fontenc} 
\usepackage[main=english,ngerman]{babel} 
\usepackage{cleveref}
\crefformat{page}{#2(\seename\ \shortpagename~#1)#3}
\newcaptionname{ngerman}{\shortpagename}{S.}% see KOMA-Script manual
\newcaptionname{english}{\shortpagename}{p.}% see KOMA-Script manual
\begin{document}

Important part \label{sample}

kinda what i want, but now with the number: \cpageref{sample}

\selectlanguage{ngerman}
Und in Deutsch wäre es: \cpageref{sample}

\end{document}

在此处输入图片描述

相关内容