我想以下面的方式修改\ autoref命令:如果\ autoref命令和標籤在同一頁面上,它的行爲就像\ autoref *(即,no超鏈接)。否則,它通常會表現出來。調整 autoref的行爲有點像 vref
感謝, 毗溼奴
我想以下面的方式修改\ autoref命令:如果\ autoref命令和標籤在同一頁面上,它的行爲就像\ autoref *(即,no超鏈接)。否則,它通常會表現出來。調整 autoref的行爲有點像 vref
感謝, 毗溼奴
如果您可以使用\myautoref
代替\autoref
,下面的工作,你希望:
\documentclass{article}
\usepackage{lipsum}
\usepackage[pdftex,colorlinks]{hyperref}
\makeatletter
\def\[email protected]#1#2#3{%
\ifx#1\relax\protect\[email protected]
\else\expandafter#2#1\fi}
\def\pagenum#1{\expandafter\[email protected]\csname
[email protected]#1\endcsname\@secondoffive{#1}}%
\def\myautoref#1{\def\refnum{\pagenum{#1}}%
\ifnum\refnum=\thepage\relax\autoref*{#1}%
\else\autoref{#1}\fi}
\makeatother
\begin{document}
\section{First}\label{first}
\lipsum[1-3]
\myautoref{first}
\lipsum[4-8]
\myautoref{first}
\end{document}
我必須解決一個similaire問題,並發現了一些短(更容易爲我瞭解):
\usepackage{ifthen}
\newcommand{\myautoref}[1]{
\ifthenelse%
{\equal{\pageref{#1}}{\thepage}}%
{\autoref*{#1}}%
{\autoref{#1}}
}
我仍然遇到的一個小問題是\ thepage返回當前對象(節,子節或子節)的頁面數量,而不是返回此文本將出現的頁面上。 – rac2030 2011-03-19 20:27:10
在此提出您的問題 http://tex.stackexchange.com/ – 2010-11-05 16:07:52