-
Notifications
You must be signed in to change notification settings - Fork 84
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
作者年制标注以年份排序,文献表以作者排序(citation的顺序和bibliography的顺序如何不关联) #30
Comments
你要实现什么功能,能再描述一下么,就看你的提问不知道如何下手? |
嗯,抱歉啊,是我描述得不够清楚。 我是想实现”多个citation内部按year-name排序“,后面的”参考文献列表按name-year-title排序“。 还是新手,不知我理解的对不对,希望作者能给予解答,非常感谢。 |
我现在用手机,只能给你简单回答。 文献表要按name year title,那么加选项sorting=nyt 引用标签中的顺序,默认按给出的顺序,加sortcites=true后会按文献表的顺序给出。 你说的多个citation内部按year name顺序排。我还不是很明白,能给个例子么? |
谢谢您的回复,我想实现的是\cite{NameA2012, NameB2013, NameC2014}时,cite内部的(NameA, 2012; NameB, 2013; NameC, 2014) 三篇文献在正文引用中自动按year name排序,而后面的文献列表按name year title排序。现在我用了一个奇怪的组合实现了这个结果,我将biblatex的参数设置为:
并将gb7714-2015ay.cbx的\RequireCitationStyle{authoryear}修改为:
且在使用\cite{}时,按引用文献的发表年代手动调整了先后顺序。 |
你这个方式很神奇,请问你用的样式是怎么设置的? |
貌似把:
去掉,把 \RequireCitationStyle{authoryear-comp} 也换回
也行,效果跟我想要的一样。尴尬了,抱歉打扰。 |
你的style怎么设的? |
加载biblatex的这行的完整代码给出来看一下? |
全部设置是
除了(NameA, 2012; NameB, 2012; NameA, 2014)中的NameA不能自动合并,其他都可以 |
你把citestyle设为authoryear-comp就可以合并了。 |
你这是什么期刊的要求啊,挺复杂的? |
让citestyle=authoryear-comp的话,gb7714-2015ay.cbx文件里的设置就没有了。 另外,如果把gb7714-2015ay.cbx里的\RequireCitationStyle{authoryear}改为 \RequireCitationStyle{authoryear-comp} 的话,会引入authoryear-comp的默认设置sortcites=true,而这个设置是说citation的顺序要和bibliography context的sorting保持一致。这样,一用authoryear-comp,citation里的顺序又变成bibliography的默认顺序name-year-title,所以不能用。 所以只能自己写好顺序,也不好合并。 我是在写博士论文啊,以前都用的word和endnote,现在公式、图和文献都太多了,所以用latex。 谢谢您的帮助啊!Thanks♪(・ω・)ノ |
另外,我把gb7714-2015ay.bbx文件里"% 修改作者数量超过限定值,做省略时的处理格式“下面的两个”{\finalandcomma}“去掉了一个,把"\defversion{3.8}{dateextra}{"里的
改成了
好让natbib里的\citet{}能用,效果是把Chen, et al., (2012)改成了Chen et al. (2012)。 我觉得都可以接受,这样用citet的时候也更方便一些。 |
你的问题我明白了,主要是文献表按nyt排,标注用ynt排,但有相同作者又要合并。要实现标签自动排序必须要用sortcites=true,但一旦排序相同作者不同年份的文献就不能排在一起,也就不能压缩了,这里是个矛盾没有办法解决。 现在你有两种方式可以采用, 一是全自动排序, 然后在文献打印前加 这种方式自动排序但没有合并。 二,实现合并,但标注中按年份手动排,且相同作者放一起。 |
试了一下,两种方式都对,非常感谢! |
方法一我这里打印文献变成了英文在前。现在应该可以用 \usepackage[backend = biber, style = gb7714-2015ay, doi=false, url=false, sorting=ynt]{biblatex}
....
\newrefcontext[sorting=gb7714-2015]
\printbibliography[heading = bibintoc, title = {参考文献}] |
为什么加sortcase没有用?加了sortcase, bibliography的顺序依然跟着citation一起变?
The text was updated successfully, but these errors were encountered: