-
Notifications
You must be signed in to change notification settings - Fork 943
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
关于参考文献的两个问题 #296
Comments
|
不。电子版我们可以通过点链接的方式到达参考文献列表中的某一文献,但是多数规范是以印刷出来为标准的。
嗯,仅仅是提醒。 |
国标在年份后是有abc区分的, |
你是对的。所以这个模板在这方面应该是出了BUG。
|
@GitatHub 是 bst 出了问题,已更新 @hushidong 已初步加入你的 gbt-biblatex 样式,谢谢 |
好的,后面我对比一下bst的结果,修正一下,确保间距等格式一致。 |
我有一个疑问,著录格式是不是要求国标作者年制的格式,还是有特殊的要求格式,我记得就是之前的著录格式与国标是有差别的,为此我还特意增加了一个选项mergedate=none来适应他的。如果是要求国标格式,那么就不用说这个事情了。 目前遵守国标的格式,我仔细测试了一下,bibtex和biblatex两种方法主要有如下差异:
可以用我提交的pr进行测试比较。见 #298 然后bibtex存在问题的地方,第2和3条可以请lee zeping确认一下。 |
@hushidong 辛苦了
hyperref 放置在导言区最后是必要的,也是其hyperref文档所建议的,不放最后虽然编译没有问题,但不代表没有隐藏其他问题。如果可以,应该考虑biblatex哪出了问题。 2 + 3. 好的,@zepinglee 请确认下 @hushidong 的建议
关于pr,首先hyperrref的问题我觉得还需更深入的理解下,然后我仍坚持bibtex为默认,毕竟biblatex还是尚未为学术期刊所广泛接受 :D |
我刚加了标准的几个测试例子, |
@zepinglee 俄文的就用这个bib条目吧,你看一下authoryear的标注标签。 @Article{Dubrovin1906, 另外incollection问题,我想你这样的处理也没有啥问题的。我之前有所区分主要是考虑三类标识符,M,C,G 另外,国标中的所有条目,包括正文中的,我之前都测试过,所以你直接从我那把bib拷过去,就可以测试,不用再去写bib了。 @mohuangrui 关于hyperref我再测试一下,我单独做一个文件hyperref放前放后都是正常的,主要是模板放后似乎有点问题,我看看是什么导致的,找到个解决方法。 至于pr是给你方便测试的,默认bibtex什么按你自己考虑处理就行。不过citep和citet命令还是需要改一下,由于g7714-2015样式默认定义了citep和citet命令,且与希望的格式略有差异,所以providecommand可能无法正确设置,所以需要renew进行重定义。 |
@mohuangrui @GitatHub 你们学校有没有官方的参考文献格式要求或者?如果有的话我可以在 |
@zepinglee 好呀,好呀,好事,支持你。 你是要写个引擎了,把csl解析然后,输出latex的内容是吧,这挺好的。我之前写了个bibmap利用python做的,可以利用python代码来写样式,然后输出latex内容,但那时我还不知道csl那套东西,所以没有考虑去做,现在则没有那么多精神再去写了。 |
@mohuangrui 主要原因是biblatex是在atendpreamble中判断hyperref是否已经加载,然后做不同的处理逻辑。因为hyperref这个atendpreamble晚于biblatex的atendpreamble,所以自然就无法检测到了。 可以有两种解决方法 2是不动位置,biblatex加手动超链接选项,以及开关语句。 |
@hushidong @zepinglee 感谢两位的解答和讨论:
\DefineBibliographyStrings{english}{
andincite = {和},
andincitecn = {和},
andothersincitecn = {等},
andothersincite = {等{\adddot}},%adddot才能避开标点追踪
} 那个 \adddot 不太对,改成中文后,变成了 “等.” 。然后,你在 #247 中的上述设定为何对非authoryear的无效?(我对上述设定做了全局可见,而不是只对authoryear)
|
我待会再加一下 |
@zepinglee 非常感谢!觉得提供这些一般性的接口还是很有价值的,同时还有你提供的那些 load.config 函数,这样可以通过一个核文件实现不同的设定,否则维持那么多学校的不同版本实在是太幸苦了。再次感谢你一直以来提供的支持和帮助,幸苦了! |
@mohuangrui |
@hushidong 国标是可以不需要,只是ucas 的要求基本与国标一致,但引用处英文的 “et al.” 和 “and” 需要改为中文的 “等” 和 “和”。 对了,我没找到你的 gb-7714 对 citep 和citet的定义,它们具体是怎样的?如果你的定义更合适的话,那就用 providecmmand 更好,因为providecommand只是为了提供一个兼容性 |
@mohuangrui 好的。biblatex大多数设置可以通过选项来实现,可以这么修改 \ifartx@biber% 另一处: 另外,citep和citet在*.cbx中定义的,我初步测试是似乎存在问题的,我有点忘了之前出于那种考虑写的,可能有点像顺序编码制的代码,所以直接重定义较好。 |
@hushidong 谢谢,不过目前的问题是,通过那样修改可以让 authoryear 的 et al 和 and 变为中文的 等 和 和,但是,numbers 样式下 citet 中的却变不过来,即使将 \DefineBibliographyStrings{english} 移出 \if 变为全局设定。或许说起来比较绕口,你测试下 biber,numbers 就明白了 对于 citet 和 citep, 我的测试倒是发现你的没有问题 |
好的,我晚上试一下,numbers的情况。 我之前定义的ay下的citet对于非压缩情况是没有问题的,但是在压缩情况下括号位置不对。 这些本来也是小问题,一般用户都不会碰到,但作为样式设计还是要考虑全面。 所以,昨天我认真研究下,找到了个暴力的解决方法,还需要测一下,不同的应用下的情况。 |
@hushidong 好的,非常感谢,辛苦了! 对于,citet 和 citep,建议你在 gb-7714中直接链接到 biblatex 相应的 paracite 和 textcite 比较省事和robust。当然,我的考虑肯定没有你的深入。 我等你将 biber,numbers 的解决方案出来后,再一并更新你指出的关于 hyperref 和 cite 命令等问题 |
我把 ucas 的版本放在了 https://github.com/CTeX-org/gbt7714-bibtex-style/tree/master/variants/ucas , 建议将 |
用 ``` 修饰代码块可以保留缩进。 |
@zepinglee 非常感谢! 我在ucasthesis中对biband和bibetal做了相应的处理,特别是对中英文版本做了相应的切换,以同时适应国际和国内学生。因此直接调用gbt7714是合适的。之所以现在还加上了bst文件,主要是因为你在2020-03更新了文件名,这样导致未更新LaTeX的无法从ctan调用到你的gbt,所以暂时手动加进去作为过渡。 我看你已在 gbt 中也加了 biband 和 bibetal,这样兼容性增加了不少,再次感谢! |
@mohuangrui 已经ok了,citet已经能够正确处理压缩和上标的问题了。 代码这么改:
另外由于bbx,cbx都有更新,在ctan更新之前,你先把这四个文件 后面ctan更新后可以删除,或者留着也行。 |
@hushidong 非常感谢,解决的很理想! 如果一定要鸡蛋里挑点骨头,那就是从 biber,authoryear 切换为 biber,numbers 或 biber,super 时会报错,这样得删除一下缓存文件。如果能把这个兼容性提高一下,那就更完美了。 l.249 ...986document, chu2004tushu, chen2005zhulu}
? ^C! Interruption.
\blx@runfilter ...{\let #1\@empty \dolistloop }{#1
}}#1\let \do \noexpand
l.249 ...986document, chu2004tushu, chen2005zhulu} |
我测试了一下,从 biber,authoryear 切换为 biber,numbers 或 biber,super 时,没有报错现象, 是不是从bibtex转biber出现错误,这时可以理解的,因为bbl文件存在差异,读取的时候会出现问题。 |
@hushidong 不好意思,是我的版本问题。我的linux上是Texlive2017,有点老了。windows上的Miktex和Mac上的texlive2019没有问题。 |
@zepinglee @hushidong 再次感谢两位的诸多帮助和支持! |
客气,好的,你在2017,2019都编译成功啦,说明biblatex-gb7714-2015包的兼容性还是成功的,我已经好久没有在低版本测试了,biblatex更新了很多,我都怕biblatex-gb7714-2015的一些更新导致在低版本上运行不了了,看来到2017还是可以的,至于更低的2015,2016可能都不一定行了。 |
@hushidong 是的,2017,2019,2020都没问题,为了测试版本和系统兼容,特意弄个Linux,mac,windows三个系统,安装Texlive和miktex的不同版本,再加上 xelatex,pdflatex,luatex以及现在的bibtex和biber还有authoryear、numbers、super不同样式等。凡此种种,以前一般是都尽量测试一遍,现在很难有这个精力了。要把兼容性维持好还是比较费力气的。 |
两个参考文献,作者姓氏、年份相同,正文中有 a、b区分,参考文献列表中无a、b区分。尝试了如下方法,有没有更好的解决方法? 尝试了使用 Line 527 in aec46ba
改成了:
例子:
|
检查 / Check
closed issues
编译环境 / Compilation Environment
操作系统 / Operating System
TeX 发行版 / Tex Distribution
描述问题 / Problem Description
问题描述:
同一个作者在同一年的多篇文章,在正文中会以 Mo 2020a, Mo 2020b 等方式显示,
但是在参考文献列表里,却没有 a b 区分,类似:
Mo H, Nature, 2020
Mo H, Science, 2020
2020后面没有字母区分
zepinglee 的repo 已经移除了 ucas 分支
https://github.com/CTeX-org/gbt7714-bibtex-style/tree/master/variants
gbt7714-xxx.bst:文献样式定义文件。由 zepinglee 开发,在最新国标的基
础上对 ucas 进行了定制。与文献样式有关的问题,请查阅开发者所提供的文档,
并建议适当追踪 ucas 样式分支的更新。
日志文件 / .log file
将编译生成的
.log
文件拖入下行空白处:问题截图 / Screenshots
将出现的问题或需要实现的效果的
截图照片
拖入下行空白处:最小工作示例(MWE) / Minimal Working Example
The text was updated successfully, but these errors were encountered: