Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

update biblatex style for sentence case title (https://github.com/ustctug/ustcthesis/issues/311) #315

Merged
merged 6 commits into from
Jun 1, 2021

Conversation

hushidong
Copy link
Contributor

No description provided.

@zepinglee
Copy link
Member

@inproceedingsbooktitle 可以保留 title case 吗?

我总结了一下,GB/T 7714—2015 中没有规定题名的大小写,但是在《GB/T 7714一2015 的新点、实施要点及其他》中指出:“根据新标准的示例, 可以归纳出以下2条推荐建议。1) 题名按原文献题名全部照录, 仅第1个 词的首字母大写, 其余均小写(本该首字母大 写的专有名词例外)。”也就是 sentence case。但是在 GB/T 7714—2015 的示例中却并不一致。比如第 4 页 4.2.2 节第 [6]、[7] 条文献中析出文献题名和专著题名都是 sentence case,但是第 19 页 A.7 节文献 [8] 的专著题名又是 title case。

USTC 增加了额外的要求“英文书名采用‘首字母大写’,析出的文章名采用‘句首字母大写’。”这里的“首字母大写”暂且理解为 title case 吧,但是从 USTC 的示例来说,像 @book 的 title 其实并没有用 title case,只有 @inproceedingsbooktitle 使用title case。
Screen Shot 2021-05-26 at 12 21 51
Screen Shot 2021-05-26 at 12 22 05

@zepinglee
Copy link
Member

另外你提到的 corner case 是什么样的?

BibTeX 这边处理 title case 也有些问题。按照传统的标准用法,.bib 数据库中的标题要使用 title case,并且将特殊名词用大括号保护起来(https://tex.stackexchange.com/a/140071/82731),比如 title = {Lectures on {Riemann} Surfaces},bst 提供了 "t" change.case$ 可以将其转为 sentence case,但没有转为 title case 的直接办法。

但是像 Google Scholar 提供的 .bib 数据库是 sentence case 的,另外像 CSL(以及相关的 Zotero)会推荐在数据库中使用 sentence(https://www.zotero.org/support/kb/sentence_casing)。所以 gbt7714-*.bst 提供了 #1 'sentence.case.title := 选择进行大小写的转换。

BibLaTeX 那边的 best practice 是怎样的?

@hushidong
Copy link
Contributor Author

之前的方式是,维护bib的时候,按照希望的大小写来维护。

corner case 可能指的是tex宏处理一些特殊的字符,特殊的命令,可能会出错,但目前没有太多的实例。没有深入测试。

我现在看一下booktitle的问题。

@hushidong
Copy link
Contributor Author

biblatex 没有处理成titlecase样式的的宏,只能原样输出,再加个首字母大写了。

@hushidong
Copy link
Contributor Author

titlecase 情况下 in,on等介词怎么处理?bibtex中有保护么?

@zepinglee
Copy link
Member

zepinglee commented May 26, 2021

titlecase 情况下 in,on等介词怎么处理?bibtex中有保护么?

BIbTeX 只能把 Title case 转成 sentence case,所以不会处理这些介词。实际处理方式是,句首字母不变,冒号后的一个字母不变,保护大括号层次高于 1 的,其他的均转为小写。

"the TITLE: TITLE: the {\TeX}" "t" change.case$ 的结果是 "the title: Title: the {\TeX}"

@zepinglee
Copy link
Member

之前的方式是,维护bib的时候,按照希望的大小写来维护。

我建议提供选项供用户选择是否转换。比如 Zotero 用 BetterBibTeX 导出 .bib 时可以选择传统的 title case(需要大写的词用大括号保护),但是也有的同学直接从 Google Scholar 搜索导入 .bib 却使用了 sentence case。

@hushidong
Copy link
Contributor Author

hushidong commented May 26, 2021 via email

@zepinglee
Copy link
Member

bibtex没有实现,从其他case比如sentence转titlecase么,是吧?

没有转成 title case 的现成方法,一般只能保留原样(因为假定了 .bib 中是 title case)。

@hushidong
Copy link
Contributor Author

hushidong commented May 26, 2021 via email

@zepinglee
Copy link
Member

zepinglee commented May 26, 2021 via email

@zepinglee zepinglee merged commit 6057e87 into ustctug:master Jun 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants