我需要一个弹出窗口出现在文内引用上方。弹出窗口应显示引用所在的页码(即,读者可以检查所引用的文章是否确实如我的论文所述)。我使用此页面上的一个代码实现了此目的(pdfcomment 包中的 pdftooltip:在工具提示中使用 LaTeX 代码)。
但是,我现在无法再点击文内引用了。点击文内引用通常会带我到参考列表中的相应参考。
弹出式解决方案似乎用一层薄膜“屏蔽”了文内引用,使其不再可点击。你能帮忙吗?
示例文本:
"According to \cite{RefWorks:1172} \tooltip[black]{\cite{RefWorks:1172}}[blue!50]{See:Page 2, paragraph 2} patients would rather prefer it if all technologies designed to support their daily living in Smart environments are non-obtrusive."
第一个引文仍然可以点击,它会带你到参考文献列表。第二个有弹出窗口,但无法点击。
你好,Christian H。
感谢您回复我的问题。您可能已经从之前的那个错误猜到了我是新手(我经常在网站上查阅提示,但从未发过帖子)。
好的,这是“代码”。我希望这就是你的意思?这不是我的,而是从我之前的帖子中提到的网站剪切粘贴的。
再次感谢。
\usepackage{media9}[2014/03/25]
\usepackage{xcolor} %Package already included elsewehere on this page
\usepackage{calc}
\usetikzlibrary{calc}
\ExplSyntaxOn
\let\tpPdfLink\mix_pdflink:nn
\let\tpPdfAnnot\mix_pdfannot:nnnn\def\tpPdfLastAnn{\g_mix_pdflastann_tl}
\let\tpPdfXform\mix_pdfxform:n\def\tpPdfLastXform{\g_mix_pdflastxform_tl}
\ExplSyntaxOff
\makeatletter
\NewDocumentCommand{\tooltip}{sO{blue}mO{yellow!20}m}{{%
\leavevmode%
\tpPdfLink{%
/Subtype/Screen%
/AA<<%
/E<</S/JavaScript/JS(%
var fd=this.getField('tip.\thetcnt');%
\IfBooleanF{#1}{%
if(typeof(click\thetcnt)=='undefined'){%
var click\thetcnt=false;%
var fdor\thetcnt=fd.rect;var dragging\thetcnt=false;%
}%
}%
if(fd.display==display.hidden){%
fd.delay=true;fd.display=display.visible;fd.delay=false;%
}%
this.dirty=false;%
)>>%
/X<</S/JavaScript/JS(%
\IfBooleanTF{#1}{fd.display=display.hidden;}{%
if(!click\thetcnt&&!dragging\thetcnt){fd.display=display.hidden;}%
if(!dragging\thetcnt){click\thetcnt=false;}%
}%
this.dirty=false;%
)>>%
\IfBooleanTF{#1}{%
/PC<</S/JavaScript/JS(this.dirty=false;)>>%
}{%
/U<</S/JavaScript/JS(click\thetcnt=true;this.dirty=false;)>>%
/PC<</S/JavaScript/JS (%
var fd=this.getField('tip.\thetcnt');%
try{fd.rect=fdor\thetcnt;}catch(e){}%
fd.display=display.hidden;this.dirty=false;%
)>>%
}%
/PO<</S/JavaScript/JS(this.dirty=false;)>>%
>>%
}{{\color{#2}#3}}%
\sbox\tiptext{\fcolorbox{black}{#4}{#5}}%
\edef\twd{\the\wd\tiptext}%
\edef\tht{\the\ht\tiptext}%
\edef\tdp{\the\dp\tiptext}%
\measureremainder{\whatsleft}%
\tipshift=0pt%
\ifdim\whatsleft<\twd\setlength\tipshift{\whatsleft-\twd}\fi%
\tpPdfXform{\tiptext}%
\raisebox{\heightof{#3}}[0pt][0pt]{\makebox[0pt][l]{\hspace{\tipshift}%
\tpPdfAnnot{\twd}{\tht}{\tdp}{%
/Subtype/Widget/FT/Btn/Ff 65536/T (tip.\thetcnt)/F 3%
/MK<</TP 1/I \tpPdfLastXform/IF<</S/A/FB true/A [0.0 0.0]>>>>%
\IfBooleanF{#1}{%
/AA <<%
/U <<%
/S/JavaScript/JS(%
var fd=event.target;%
var mX=this.mouseX;var mY=this.mouseY;%
var drag=function(){%
var nX=this.mouseX;var nY=this.mouseY;%
var dX=nX-mX;var dY=nY-mY;%
var fdr=fd.rect;%
fdr[0]+=dX;fdr[1]+=dY;fdr[2]+=dX;fdr[3]+=dY;%
fd.rect=fdr;mX=nX;mY=nY;%
};%
if(!dragging\thetcnt){%
dragging\thetcnt=true;Int=app.setInterval("drag()",1);%
}%
else{app.clearInterval(Int);dragging\thetcnt=false;}%
this.dirty=false;%
)%
>>%
>>%
}%
}%
\xdef\@anim@fields{\@anim@fields\space\tpPdfLastAnn}%
}}%
\stepcounter{tcnt}%
}}
\makeatother
\newsavebox\tiptext\newcounter{tcnt}
\newlength{\whatsleft}\newlength{\tipshift}
\newcommand{\measureremainder}[1]{%
\begin{tikzpicture}[overlay,remember picture]
\path let \p0 = (0,0), \p1 = (current page.east) in
[/utils/exec={\pgfmathsetlength#1{\x1-\x0}\global#1=#1}];
\end{tikzpicture}%
}
请问有人能建议我如何解决这个问题吗?谢谢。