-
Notifications
You must be signed in to change notification settings - Fork 931
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: