0 为什么有这个问题,因为我的中文论文无论采用\upcite{}还是\cite{}都是上角标
这是因为GBT7714-2015宏包支持的标注样式:super / numbers / authoryear
其中可以加以下几种宏包
\usepackage[super]{gbt7714}
\usepackage[numbers]{gbt7714}
\usepackage[authoryear]{gbt7714}
而\usepackage{gbt7714}默认的就是super,也就是上角标
这就是问题所在!!!!
1 查看自己文献格式
使用的参考文献格式
使用的参考文献格式(gbt7714-numerical.bst)以及gbt7714-2015宏包(gbt7714.sty)均来自于https://github.com/CTeX-org/gbt7714-bibtex-style 。
建议.bst文件和.sty文件 使用代码仓库里同一个version中的,否则不同版本的两个文件可能会引起编译报错,例如"Error: NAT@XXX has been defined."
我的默认宏包是
文件夹中后缀是.bst的是
2 尝试取消文献引用上标模式(参考这个博客)
从以下链接
https://github.com/CTeX-org/gbt7714-bibtex-style/issues/65
知道了
GBT7714-2015宏包支持的标注样式:super / numbers / authoryear
从标注样式名称可以看出,super代表着以上标形式显示引文编号,那么猜测不使用上标显示我就应该指定numbers或authoryear,但我要用数字形式显示,所以指定numbers。
latex代码如下:
\usepackage[numbers]{gbt7714} %使用自有目录中的gbt7714.sty文件(宏包)
\begin{document}
\bibliographystyle{gbt7714-numerical} %%指定gbt7714-numerical.bst文件
\bibliography{mybib}\end{document}
这样设置后,在正文中使用\cite{BibKey}指令就使得最终文档里的引用标号和文字在同一水平线上。
简单来说就2步骤
1
2
这就是文件中gbt7714.bst
3 此时我发现还是仅能用平齐标引用,而不能上角标引用(\upcite{}会报错)
解决办法:
A第一行改为numbers,super
\usepackage[numbers,super]{gbt7714}
numbers代表平齐标引用
super代表上角标引用
这样写意思是两者都有,默认平齐标引用
B第二行添加这个是服务于\upcite{}, 有了这个才能用上角标
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}
C正文中如下撰写即可
这里是上标\upcite{xxx1},这里是平齐\cite{xxx2}