最近,用户使用控制理论与应用的LaTeX模板的时候,发现用CTeX2.9.164编译其官网支持的2.8版本的模板时候,发现参考文献引用的地方乱码异常的问题,如下图所示:
实际是由于该模板想实现相邻数字也进行连字符显示的导致的,具体代码在kzllyyhead.tex
里89-99行里的代码如下:
%define the format like [1-2] \makeatletter \def\@compress@cite#1{% % This is executed for each number \advance\@tempcnta\@ne % Now \@tempcnta is one more than the previous number \ifnum #1=\@tempcnta % Number follows previous--hold on to it \def\@h@ld{\citedash \citeform{#1}}% \else % non-successor -- dump what's held and do this one \@h@ld \@citea \citeform{#1}% \let\@h@ld\@empty \fi \@tempcnta#1\let\@citea\citepunct } \makeatother这段代码来自于cite宏包里的代码片段,由于2.9版本的cite升级了,其命令参数进行了扩展,因此导致定义无法有效匹配继而引起了问题。具体解决方式如下: 一,可以将这段压缩代码注释掉,这样就编译正常了。有个问题就是相邻符号的压缩连字符显示效果就没有了,变成如下: 二、降级cite宏包,即将老版本的cite宏包放在当前路径下,这样的效果就是出版社期许的效果了。 老的宏包这里提供下下载:cite,下载后放在模板文件所在的当前路径下即可。本站提供了整体打包版本,推荐大家到官网下载。
发表评论 取消回复