zepinglee / gbt7714-bibtex-style

GB/T 7714-2015 BibTeX Style
LaTeX Project Public License v1.3c
1.17k stars 196 forks source link

如何使得英文作者的名字只有首字母大写 #54

Closed xxhhnn closed 4 years ago

xxhhnn commented 4 years ago

如何将默认的如下格式 image 改为 image

zepinglee commented 4 years ago

format.names 有一段处理英文姓名的:

                  t #1 "{vv~}{ll}{~f{~}}" format.name$
                  uppercase.name
                    { "u" change.case$ }
                    'skip$
                  if$
                  t #1 "{, jj}" format.name$ *

改成

t #1 "{f. }{vv~}{ll}{, jj}" format.name$
xxhhnn commented 4 years ago

format.names 有一段处理英文姓名的:

                  t #1 "{vv~}{ll}{~f{~}}" format.name$
                  uppercase.name
                    { "u" change.case$ }
                    'skip$
                  if$
                  t #1 "{, jj}" format.name$ *

改成

t #1 "{f. }{vv~}{ll}{, jj}" format.name$

谢谢!我昨天试了一下,把上面uppercase.name的值设为零也可以

zepinglee commented 4 years ago

谢谢!我昨天试了一下,把上面uppercase.name的值设为零也可以

注意一下姓和名的顺序以及名的缩写点

happyTonakai commented 4 years ago

如果只是把作者姓首字母大写,其他均按照 GBT7714 规定的话,貌似直接把

                  t #1 "{vv~}{ll}{~f{~}}" format.name$
                  uppercase.name
                    { "u" change.case$ }
                    'skip$
                  if$
                  t #1 "{, jj}" format.name$ *

后面 5 行删掉,只保留第一行就可以了

zepinglee commented 4 years ago

如果只是把作者姓首字母大写,其他均按照 GBT7714 规定的话,貌似直接把

                  t #1 "{vv~}{ll}{~f{~}}" format.name$
                  uppercase.name
                    { "u" change.case$ }
                    'skip$
                  if$
                  t #1 "{, jj}" format.name$ *

后面 5 行删掉,只保留第一行就可以了

已经提供了 uppercase.name,我上面的改法是为了把姓名格式改成他的示例的顺序