在此上一个问题我能够使用我创建的宏来收集标签。
现在我遇到了相反的问题。当我使用宏时,我想拉出那个漂亮的 GDI 弹出界面。
这是MWE:
\documentclass{article}
\usepackage{graphicx}
\newcommand{\myFig}[2]{
\begin{figure}
\centering
Lame figure
\caption{#1}\label{#2}
\end{figure}
}
\newcommand{\fig}[1]{Figure~\ref{#1} (p.~\pageref{#1})}
\begin{document}
\myFig{caption is here}{myLabel}
I am able to reference figure~\ref{myLabel} as usual,
but want to get the popup using my new macro like this \fig{myLabel}.
\end{document}
代码可以运行,但我没有看到漂亮的弹出窗口。我该如何获取它?
答案1
这是你必须做的:
显示“选项界面”(选项 -> 选项界面)
在“选项界面”中,双击“收集”项(
Gather.ini
打开)找到线条
PAGE="Ref-TeX" PAGE_CAPTION="Ref" // Change Mode from TeX to ? to disable this item PAGE_MODE_FILTER="TeX|DTX;INS;STY;AUX" PAGE_SORTED=0 PAGE_CASE_SENSITIVE=1 PAGE_IGNORE_COMMENTS=1 PAGE_IGNORE_VERBATIM=1 PAGE_ON_ACTIVATE_MACRO="GlobalMark;" PAGE_ON_SHOW_MACRO="GlobalMark;" ITEM="\ref{?}"
并在其后插入行
ALT="\fig{?}"
按下Shift+Ctrl+F9即可重新加载文件。
现在,在“选项界面”中,双击“活动字符串”项(
ActiveStrings.ini
打开)找到线条
STRING="\?ref{" ENABLED=0 MODE_FILTER="TeX|INS;STY;AUX" MACRO="[Relax;]" DBL_CLICK_ENABLED=1 DBL_CLICK_MODE_FILTER="TeX|INS;STY;AUX" DBL_CLICK_MACRO="[Exe('%b\Macros\Active Strings\ArgStart.edt');"+ "GDIShow;GDISetPage('Label');]"
并在其后插入以下几行
STRING="\fig{}" ENABLED=1 MODE_FILTER="TeX|INS;STY;AUX" MACRO="[Exe('%b\Macros\Active Strings\Ref.edt');]" DBL_CLICK_ENABLED=1 DBL_CLICK_MODE_FILTER="TeX|INS;STY;AUX" DBL_CLICK_MACRO="[Exe('%b\Macros\Active Strings\ArgEnd.edt');"+ "Exe('%b\Macros\Active Strings\Ref.edt');]" STRING="\fig{?},," ENABLED=1 MODE_FILTER="TeX|INS;STY;AUX" MACRO="[Exe('%b\Macros\Active Strings\Ref-cont.edt');]" STRING="\fig{?,," ENABLED=0 MODE_FILTER="TeX|INS;STY;AUX" MACRO="[Exe('%b\Macros\Active Strings\Ref-sel.edt');]" STRING="\fig{?}" ENABLED=0 MODE_FILTER="TeX|INS;STY;AUX" MACRO="[GDIShow;GDISetPage('Label','%?');]" DBL_CLICK_ENABLED=1 DBL_CLICK_MODE_FILTER="TeX|INS;STY;AUX" DBL_CLICK_MACRO="[Exe('%b\Macros\Active Strings\ArgEnd.edt');"+ "CharLeft;GDIShow;GDISetPage('Label','%?');]"
按下Shift+Ctrl+F9即可重新加载文件。
现在你的\fig
命令就被收集在“Gather”界面的“Ref”页面中了:
并按照你想要的方式,打开“GDI Popup Interface”界面: