最近,用户使用控制理论与应用的LaTeX模板的时候,发现用CTeX2.9.164编译其官网支持的2.8版本的模板时候,发现参考文献引用的地方乱码异常的问题,如下图所示: kzllyyy20151008011043 实际是由于该模板想实现相邻数字也进行连字符显示的导致的,具体代码在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升级了,其命令参数进行了扩展,因此导致定义无法有效匹配继而引起了问题。具体解决方式如下: 一,可以将这段压缩代码注释掉,这样就编译正常了。有个问题就是相邻符号的压缩连字符显示效果就没有了,变成如下: kzllyyy20151008012535 二、降级cite宏包,将老版本的cite宏包放在当前路径下,这样的效果就是出版社期许的效果了。 kzllyyy20151008011403 老的宏包这里提供下下载:cite,下载后放在模板文件所在的当前路径下即可。本站提供了整体打包版本,推荐大家到官网下载。

下载区

本站下载:kzllyy-template20130514-2.8-mod151019