Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

参考文献作者数量问题 #6

Open
RainerTian opened this issue Dec 7, 2022 · 4 comments
Open

参考文献作者数量问题 #6

RainerTian opened this issue Dec 7, 2022 · 4 comments

Comments

@RainerTian
Copy link

华中科技大学博士、硕士学位论文撰写规定中说(http://gs.hust.edu.cn/info/1019/11815.htm)

3.可列于参考文献表的文献类型包括图书、期刊、会议论文集、专利和学位论文等。其著录格式分别如下(注意标点符号):

(1) 图书: [顺序编号] 作者(采用姓在前,名在后的形式,作者名之间用逗号分隔;3人以内全部写上,3人以上只写3人再加“等”(英文加“ et al”)).书名.版本(第×版).译者.出版地:出版者,出版年. 起页~止页

(2) 期刊:[顺序编号] 作者(采用姓在前,名在后的形式,作者名之间用逗号分隔;3人以内全部写上,3人以上只写3人再加“等”(英文加“ et al”)).文章名称.期刊名称,年号,卷号(期号):起页~止页

(3) 会议论文集:[顺序编号] 作者(采用姓在前,名在后的形式,作者名之间用逗号分隔;3人以内全部写上,3人以上只写3人再加“等”(英文加“ et al”)).文章名称.见(英文用“in”):论文集主编.论文集名.出版地:出版者,出版年. 起页~止页

而我们这个模板里是最多显示6人,这个可以在哪里修改吗?谢谢回复

@XinzeZhang
Copy link
Owner

华中科技大学博士、硕士学位论文撰写规定中说(http://gs.hust.edu.cn/info/1019/11815.htm)

3.可列于参考文献表的文献类型包括图书、期刊、会议论文集、专利和学位论文等。其著录格式分别如下(注意标点符号):

(1) 图书: [顺序编号] 作者(采用姓在前,名在后的形式,作者名之间用逗号分隔;3人以内全部写上,3人以上只写3人再加“等”(英文加“ et al”)).书名.版本(第×版).译者.出版地:出版者,出版年. 起页~止页

(2) 期刊:[顺序编号] 作者(采用姓在前,名在后的形式,作者名之间用逗号分隔;3人以内全部写上,3人以上只写3人再加“等”(英文加“ et al”)).文章名称.期刊名称,年号,卷号(期号):起页~止页

(3) 会议论文集:[顺序编号] 作者(采用姓在前,名在后的形式,作者名之间用逗号分隔;3人以内全部写上,3人以上只写3人再加“等”(英文加“ et al”)).文章名称.见(英文用“in”):论文集主编.论文集名.出版地:出版者,出版年. 起页~止页

而我们这个模板里是最多显示6人,这个可以在哪里修改吗?谢谢回复

感谢指出问题。

您好,参考https://tex.stackexchange.com/questions/26575/bibtex-how-to-reduce-long-author-lists-to-firstauthor-et-al,在HUSTThesis.bst文件的296行和298行,将#6替换为#3,即可。

@RainerTian
Copy link
Author

image
您好,还有一个问题向您请教,说这个参考文献的作者按英文习惯写法,名在前、姓在后,名和姓均用全称,如果作者名超过两个单词,中间名使用简称,如“C.”,不要混用。3人以内列出全部作者,3人以上列出3人再加“等”(英文加“et al”)。这个需要怎么调整代码,麻烦您了

@XinzeZhang
Copy link
Owner

XinzeZhang commented May 15, 2023

@RainerTian 三人以上列出再加等(英文加“et al”)。
在bst文件 进行如下修改:

FUNCTION {bbl.cn.etal}
{ "等." }

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames := 
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{f.~}{ll}"
      format.name$
      %bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          nameptr #3
          #1 + =
          numnames #3
          > and
            { "others" 't :=
              #1 'namesleft := }
            'skip$
          if$
          namesleft #1 >
            { ", " * t * }
            { numnames #2 >
              { "" * }
              'skip$
              if$
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              t "others" =
                {
                  lang empty$
                    { ", " * bbl.etal * }
                    { lang "chinese" =
                       { ", " * bbl.cn.etal * }
                       'skip$
                      if$
                    }
                  if$
                }
                {
                  lang empty$
                    { ", " * t * }
                    { lang "chinese" =
                       { ", " * t * }
                       'skip$                   
                     if$
                    }
                  if$
                } 
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

@XinzeZhang
Copy link
Owner

XinzeZhang commented May 15, 2023

@RainerTian 对于姓、名、中间名的处理,参考 https://tex.stackexchange.com/questions/122334/how-to-remove-a-period-from-middle-initial-in-bst-file-while-leaving-first-name 中的回答。

As JLDiaz answered:
‘’‘
This string specifies the required format for the name of each author. vv represents the "von" part (if it exists) ll is the full last name, jj is the "junior" part of the name (if it exists) and finally ff would be the full first name, while f is the initial of the first name. Commas and dots are literals and are added in the output.
’‘’

可以尝试将"{f.~}{ll}"替换为"{ff~}{v.~}{j.~}{ll}"

@XinzeZhang XinzeZhang pinned this issue Feb 18, 2024
@XinzeZhang XinzeZhang unpinned this issue Feb 18, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants