ustctug / ustcthesis

LaTeX template for USTC thesis
https://gradschool.ustc.edu.cn/column/65
LaTeX Project Public License v1.3c
1.63k stars 399 forks source link

文内引用文献样式问题 #327

Closed JieJiang-Cosmology closed 2 years ago

JieJiang-Cosmology commented 2 years ago

检查

编译环境

描述问题

我根据《ustcthesisdoc》的提示,在ustcsetup里面添加了 cite-style = inline,想实现文内引用文献形式为“文献[1]”这样的与正文平排格式,但是出来的效果还是上标样式,请问是怎么回事?另外的问题是 cite-style = inline 是控制我选用的 ustcthesis-numerical.bst 的哪个函数?

截图:

image

复现上述问题的代码:

\ustcsetup{ cite-style = inline, }

\usepackage[sort]{natbib}
\bibliographystyle{ustcthesis-numerical}
zepinglee commented 2 years ago

我能复现这个问题。似乎是在 \begin{document} 前设置 cite-style = inline 无效,在之后设置才有效果。

zepinglee commented 2 years ago

这个问题是因为设置 cite-style 时还未载入 natbib 宏包,所以没有进行正确的配置。试一下 cite-style 分支的 9c467a8 有没有解决问题。

另外的问题是 cite-style = inline 是控制我选用的 ustcthesis-numerical.bst 的哪个函数?

cite-style 是调用 LaTeX 宏进行配置,并没有控制 .bst 的函数。具体地说,载入 natbib 后,\ustcsetup{cite-style = inline} 会调用 \citestyle{inline},而 \citestyle 会调用模板中定义的 \bibstyle@inline,其内容为 \bibpunct{[}{]}{,}{n}{,}{,}。这是 natbib 控制引用样式的方法。

JieJiang-Cosmology commented 2 years ago

问题完美解决了,非常感谢!