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

著者-出版年制排序存在问题 #68

Closed
CamuseCao opened this issue Aug 3, 2020 · 2 comments
Closed

著者-出版年制排序存在问题 #68

CamuseCao opened this issue Aug 3, 2020 · 2 comments
Labels

Comments

@CamuseCao
Copy link

编译环境

宏包版本:gbt7714 v1.0
标注样式:authoryear

描述问题

根据国标要求,以及文档中的例子,使用著者-出版年制时

“张三, 李四”要排在“张三丰”前面。
但是实际得到的结果不正确。

bib 数据库代码:

    @article{zhangsan,
    title={高等数学教学},
    author={张三 and  李四},
    key={zhang1 san1  li3 si4},
    journal={大學數學},
    volume={23},
    number={4},
    pages={20--26},
    year={2007},
    publisher={大學數學編輯部}
  }
  
  
  @article{zhangsanfeng,
    title={高等数学教学改革研究进展},
    author={张三丰},
    key={zhang1 san1 feng1},
    journal={大學數學},
    volume={23},
    number={4},
    pages={20--26},
    year={2007},
    publisher={大學數學編輯部}
  }

正文代码:

\documentclass{ctexart}
\usepackage{gbt7714}
\bibliographystyle{gbt7714-author-year}
\begin{document}
引用\cite{zhangsan},再来一个\cite{zhangsanfeng}。
\bibliography{Re}
\end{document}

截图:
image

@zepinglee zepinglee added the bug label Aug 3, 2020
@zepinglee
Copy link
Owner

这是因为 BibTeX 处理所有域的信息时会先进行“purify”的操作,其中包括把相连的多个空格压缩为单个空格。比如在 bib 中著录

title = { Foo   Bar  },

在 BibTeX 中自动处理为 "Foo Bar"

我之前没写测试,所以疏忽了这个问题。

解决方案是使用“ & ”作为姓名拼音的分隔符。当然,更推荐使用 biblatex 处理中国姓名的排序。

@hushidong
Copy link

使用 biblatex 处理中文姓名的排序,处理一般情况基本没啥问题,但处理按拼音排序时在多音字问题上也还不够完美,目前我也还是用key来解决。更深层次的需要去改perl模块,没那么多精力了。

但是弄个文本处理,来给bib加个key域会来的方便些。但这个工具放到什么里头需要考虑下,要方便使用,是用perl写,还是用python写,还涉及系统环境。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants