tuna / thuthesis

LaTeX Thesis Template for Tsinghua University
https://www.ctan.org/pkg/thuthesis
LaTeX Project Public License v1.3c
4.55k stars 1.08k forks source link

citet 在正文中如何显示为 xxx 等人? #303

Closed lfz closed 6 years ago

lfz commented 6 years ago

作者您好,我经常使用natbib中的 \citet 命令,它会在正文中显示出 xxx et al. [10],这样我就不用打作者名字了。thuthesis包中也是可以用的,不过我希望它在正文中会变成 xxx 等人[10],而不改变它在最后的reference list 中的表现,请问该怎么做呢?

zepinglee commented 6 years ago

《清华大学研究生学位论文写作指南》第 3.4.2 节

  1. 引用多著者文献时,对欧美著者只需标注第一个著者的姓,其后附“et al”;对中国著者应标注第一著者的姓名,其后附“等”字,姓名与“等”字之 间留 1 个空格。
zepinglee commented 6 years ago

你说的是 numerical style 下引用著者姓名,并且去掉 et al?这个恐怕没法在 natbib 中实现实现,因为 bbl 传给 latex 的信息只有 “xxx et al.” 和 “xxx, yyy and zzz” 两种,所以即使你用 \citeauthor 也会生成 “xxx et al.”。

我的建议是,et al 在拉丁语的意思是“and others”,直接使用这个应该也没有语义上的问题。

lfz commented 6 years ago

谢谢!

引用多著者文献时,对欧美著者只需标注第一个著者的姓,其后附“et al”;对中国著者应标注第一著者的姓名,其后附“等”字,姓名与“等”字之 间留 1 个空格。

这段话是描述3.4.2 著者-出版年制的,但是我是用的是顺序编码制,并没有描述该怎么做。

好的,我就先用着吧,查格式的时候问一下

Yugnaynehc commented 6 years ago

我提供一个解决思路。可以在bst文件中定位到生成行内引用时人名的出现格式https://github.com/xueruini/thuthesis/blob/master/thuthesis-numeric.bst#L1408 这里还是用format.et.al函数来生成"et~al.",所以可以在这里把函数调用直接换成“等”,或者写一个新的函数来确定此处应该生成的文字。我自己测试了没有问题,希望能解决这里的问题。

zepinglee commented 6 years ago

@Yugnaynehc 正解

xueruini commented 6 years ago

来确定此处应该生成的文字。我自己测试了没有问题,希望能解决这里的问题。

根于 language 区分一下?

zepinglee commented 6 years ago

@xueruini

根据 language 区分一下?

我目前就是根据文献的语言区分的,但是题主要求英文的文献也要注成“xxx 等人”

lfz commented 6 years ago

谢谢各位大神的帮助~

我已经写完论文了,看后人需求吧~

2018-05-13 22:54 GMT+08:00 Zeping Lee notifications@github.com:

@xueruini https://github.com/xueruini

根据 language 区分一下?

我目前就是根据文献的语言区分的,但是题主要求英文的文献也要注成“xxx 等人”

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/xueruini/thuthesis/issues/303#issuecomment-388632861, or mute the thread https://github.com/notifications/unsubscribe-auth/AIigQ8ZLPOD-AQ35VcnNP5xphaEfndlkks5tyElDgaJpZM4TC6Ay .

-- 廖方舟 清华大学医学院 Liao Fangzhou School of Medicine Tsinghua University Beijing 100084 China

vincent-skywalker commented 6 months ago

《清华大学研究生学位论文写作指南》第 3.4.2 节

  1. 引用多著者文献时,对欧美著者只需标注第一个著者的姓,其后附“et al”;对中国著者应标注第一著者的姓名,其后附“等”字,姓名与“等”字之 间留 1 个空格。

如果只标注一个作者的话,论文作者中的导师大佬会被省略掉。如果想把大佬显示出来就得用\citet*,目前是显示

Feyel and Chaboche[1]

有没有可能把中间的"and“改成”和“呢?

zepinglee commented 6 months ago

如果只标注一个作者的话,论文作者中的导师大佬会被省略掉。如果想把大佬显示出来就得用\citet*,目前是显示

Feyel and Chaboche[1]

有没有可能把中间的"and“改成”和“呢?

@vincent-skywalker

这里改为 #3https://github.com/tuna/thuthesis/blob/c15ad64a748710f7eaf04abd6bc86c50e309f0b5/thuthesis-numeric.bst#L63

这里改为

FUNCTION {citation.and} {
  entry.lang lang.zh =
    { "和" }
    { " and " }
  if$
}

https://github.com/tuna/thuthesis/blob/c15ad64a748710f7eaf04abd6bc86c50e309f0b5/thuthesis-numeric.bst#L189-L194

yanggthomas commented 1 month ago

我提供一个解决思路。可以在bst文件中定位到生成行内引用时人名的出现格式https://github.com/xueruini/thuthesis/blob/master/thuthesis-numeric.bst#L1408 这里还是用format.et.al函数来生成"et~al.",所以可以在这里把函数调用直接换成“等”,或者写一个新的函数来确定此处应该生成的文字。我自己测试了没有问题,希望能解决这里的问题。

您好,链接失效了,能展开解释一下吗?