\labelformat{计数器}{代码} 可以修改 \ref 的外形。对外形的修改在使用 \label 时就已经完成,直接写入到 .aux 文件里。
比如上一个问题 #如何输出一个行间的只显示计数器的数字的盒子 ,加上下面的代码,\ref 时就会加上 \fcolorbox。
\labelformat{dycnt}{\fcolorbox{dyframecol}{dybackcol}{#1}} #1 为 \thedycnt。
\ref{<label>} 显示的内容实际上是 \r@<label> 的第一项,\r@<label> 由 \newlabel 定义,\newlabel 的第一个参数就是 <label>,第二个参数就是 \r@<label> 的值,不加载 hyperref 时,它只有2项,加载 hyperref 时有5项。你可以查看 .aux 文件。
\r@<label> 的第一项在(前一次编译时)执行 \label{<label>} 时就已经确定了,(局部的)保存在 \@currentlabel 这个内部命令中。更详细的内容可以查看 source2e.pdf 和 hyperref.pdf。
请问这样设置后文引用时该怎么引用,直接
\ref{1.1}不能引用第一个\dy啊@u26254
\ref{dy:1},以前怎么用现在就怎么用。@u26254 也可以使用
cleveref宏包,\cref也能修改外观。@u10307 大佬,我发现
\ref引用之后默认带有一个淡蓝色填充,例如,如果再在 label 或 ref 上设置颜色盒子会叠加,请问怎么能把这个默认的蓝色填充取得,重新设置
@u26254 给出代码看看。
@u10307
效果就是
能否将1.1的蓝色背景取消,自定义颜色填充
@u26254 你试试下面的代码能不能输出这个结果:

改
\dyrefbox就能修改\ref的外观。\dyrefbox一定要\protected起来。可能你的代码就没编译成功,有没有加上
\labelformat,颜色有没有定义,\tcbox和旧版的\fcolorbox都不是\protected,写入到.aux文件时可能出错,如果用了tcolorbox定义了盒子,它会重新定义\thedycnt,需要再改回来。@u10307 可以编译成功,但
ref默认自带的蓝色方块依然存在,和ref设置的彩色盒子颜色重叠,那个默认的蓝色方块没有取掉,不知道怎么回事@u10307 大佬,我发现了问题,是我的 PDF 阅读器有问题,显示有个蓝色方块,实际上并没有输出这个,我在浏览器上打开 这个PDF就正常,有点奇怪