TheNetAdmin / zjuthesis

Zhejiang University Graduation Thesis LaTeX Template
https://thenetadmin.github.io/zjuthesis
MIT License
2.56k stars 601 forks source link

参考文献引用格式的压缩问题 #333

Closed alisalh closed 1 year ago

alisalh commented 1 year ago

操作系统

Windows

TeX 套件

TeXLive 2021 或更新的版本

TeX Compiler

XeTeX

zjuthesis 版本号

v9.1.0

MajorFormat

general

Degree

graduate

Type

thesis

Period

final

BlindReview

true

GradLevel

doctor

问题描述

引用多个参考文献时,如何设置连续三个及以上才压缩呢?现在是连续两个也会被压缩,而不是用逗号隔开 比如,[1,2]和[1-3]这样的格式,而不是[1-2]这种格式 查了一下用backrefstyle来进行调整,但是并未解决问题

编译日志

No response

代码

\usepackage[ backend=biber, style=gb7714-2015, maxbibnames=10,
giveninits=false,
gbpub=false, % Uncomment if you do NOT want '[S.l. : s.n.]' in reference entries, GitHub Issue (#47) gbnamefmt=lowercase, % Uncomment if you do NOT want uppercase author names in reference entries, GitHub Issue (#23) backref=true, backrefstyle=three ]{biblatex}

截图

res

其他信息

No response

hushidong commented 1 year ago

国标是2篇就压缩了。实在要改也可以的。

现在用的话, 导言区加上

\renewbibmacro*{cite:dump}{%
      \usebibmacro{cite:dump:inset}%
      % dump labelnumber (+labelprefix)
      \ifnumgreater{\value{cbx@tempcnta}}{0}
        {\ifnumgreater{\value{cbx@tempcnta}}{1}%
           {\setunit{\multiciterangedelim}}
           {\setunit{\multicitedelim}}%
         \usebibmacro{cite:print:last:labelnumber}%
         \global\undef\cbx@lastprefix}
        {}%
      \setcounter{cbx@tempcnta}{0}%
    }%

就可以了。

以后(biblatex-gb7714-2015 下一个版本)会用一个计数器接口来设置。

\setcounter{gbrefcompress}{3}  %3篇压缩
%\setcounter{gbrefcompress}{2}  %2篇压缩
alisalh commented 1 year ago

两篇压缩是符合要求的吗?我看师兄师姐的论文好像是三篇才压缩,所以不知道两篇压缩是否可以

hushidong commented 1 year ago

国标示例是两篇压缩的,所以应该也不会有太大的问题。