我使用fancyref
默认前缀(chap:
,fig:
等等)。当引用的对象位于不同的页面上时,我对生成引用的方式并不完全满意。对于表格和图形,该包会生成类似第 42 页(第 84 页图 42),这是可以接受的。当引用整个章节时,该包使用相同的文本(第 4 章至第 50 页)。在我看来,这并不完全正确——章节不是放在第 50 页,而是从第 50 页开始,可能跨越任意数量的页面。我更希望命令\fref{}
在引用章节和部分时使用不同的文本,例如第 4 章AB第 50 页同时,图表的引用不应该改变。可以吗?
平均能量损失
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[german]{fancyref}
\usepackage{lipsum}
\begin{document}
\section{Einleitung}
\label{sec:A}
%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
Ze Figure
\caption{A Figure}
\label{fig:Foo}
\end{figure}
\lipsum[1-10]
\section{Überleitung}
\label{sec:B}
\lipsum[1-10]
\section{Weiterleitung}
Wie in \fref{sec:A} bereits erw"ahnt\ldots
% This reads "auf Seite 1", should be "ab Seite 1"
Wie in \fref{fig:Foo} zu erkennen ist\ldots
% This reads "auf Seite 1", which is acceptable and should not be changed
\end{document}
答案1
您可以重新定义vario
章节交叉引用的格式,以使其与章节匹配plain
。
例如:
\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\usepackage[german]{fancyref}
\usepackage{lipsum}
\frefformat{vario}{\fancyrefseclabelprefix}{%
\frefsecname\fancyrefdefaultspacing#1}
\Frefformat{vario}{\fancyrefseclabelprefix}{%
\Frefsecname\fancyrefdefaultspacing#1}
\begin{document}
\section{Einleitung}
\label{sec:A}
%\usepackage{graphics} is needed for \includegraphics
\begin{figure}[htp]
Ze Figure
\caption{A Figure}
\label{fig:Foo}
\end{figure}
\lipsum[1-10]
\section{Überleitung}
\label{sec:B}
\lipsum[1-10]
\section{Weiterleitung}
Wie in \fref{sec:A} bereits erw"ahnt\ldots
% This reads "auf Seite 1", should be "ab Seite 1"
Wie in \fref{fig:Foo} zu erkennen ist\ldots
% This reads "auf Seite 1", which is acceptable and should not be changed
\end{document}
如果我正确理解了你的问题,就会产生所需的输出: