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

中文参考文献未按拼音顺序排列 #247

Closed
6 of 10 tasks
Dr-Cube opened this issue Mar 12, 2020 · 7 comments
Closed
6 of 10 tasks

中文参考文献未按拼音顺序排列 #247

Dr-Cube opened this issue Mar 12, 2020 · 7 comments

Comments

@Dr-Cube
Copy link

Dr-Cube commented Mar 12, 2020

检查 / Check

编译环境 / Compilation Environment

  • 操作系统 / Operating System

    • Windows 7/8/10
    • macOS
    • Linux
  • TeX 发行版 / Tex Distribution

    • TeX Live
    • MiKTeX
    • CTeX

描述问题 / Problem Description

问题描述:
项目构建正常无报错。
英文参考文献正常,但中文参考文献未按作者姓名拼音排列。
中文文献的label均为姓氏拼音+年份+标题第一字拼音格式。
请问这种情况是什么问题,如何修改,谢谢。

中文bib参考文献如下:

@article{chen2006ji,
	title={基于纹理分析和支持向量机的极地冰雪覆盖区的云层检测},
	author={陈刚 and 鄂栋臣},
	journal={武汉大学学报信息科学版},
	volume={31},
	number={5},
	pages={403--406},
	year={2006}
}

@article{chen2018ji,
	title={基于深度学习的资源三号卫星遥感影像云检测方法},
	author={陈洋 and 范荣双 and 王竞雪 and 陆婉芸 and 朱红 and 楚清源 and others},
	journal={光学学报},
	volume={38},
	number={1},
	pages={0128005},
	year={2018}
}

@article{gao2018ji,
	title={基于 BP 神经网络的风云四号遥感图像云检测算法},
	author={高军 and 王恺 and 田晓宇 and 陈建 and others},
	journal={红外与毫米波学报},
	volume={37},
	number={4},
	pages={477--485},
	year={2018}
}
@article{gao2019duo,
	title={多尺度膨胀卷积神经网络资源三号卫星影像云识别},
	author={高琳 and 宋伟东 and 谭海 and 刘阳 and others},
	journal={光学学报},
	volume={39},
	number={1},
	pages={0104002},
	year={2019}
}
@phdthesis{kang2018guang,
	title={光学遥感卫星影像云检测方法及应用},
	author={康一飞},
	year={2018},
	school={武汉大学}
}
@article{li2016zi,
	title={资源三号影像朵云识别中云雪分离研究},
	author={李腾腾 and 唐新明 and 高小明},
	journal={测绘通报},
	number={2},
	pages={46--49},
	year={2016}
}
@article{zhao2014ji,
	title={基于多属性融合的高分辨率遥感图像云检测方法},
	author={赵晓 and 侯晴宇 and 梁冰冰 and 张伟 and others},
	journal={光学技术},
	volume={40},
	number={2},
	pages={145--150},
	year={2014}
}

日志文件 / .log file

将编译生成的 .log 文件拖入下行空白处:

问题截图 / Screenshots

将出现的问题或需要实现的效果的 截图照片 拖入下行空白处:
20200312133749

最小工作示例(MWE) / Minimal Working Example

@hushidong
Copy link

排序的话可以尝试使用biblatex,好处是不用手动加一个放拼音的key域了。坏处是用biber编译可能速度慢点.

@mohuangrui
Copy link
Owner

mohuangrui commented Mar 12, 2020

@Dr-Cube 使用 bibtex 需要加 key 域,参考模版样例:

key = {Niu Zhi Ming Siwenlande Lei Guang Chun},

或者你也可以在 artratex.sty 中使用 @hushidong 所开发的 biblatex 样式,并在 Thesis.tex 中启用biber 选项。

@Dr-Cube
Copy link
Author

Dr-Cube commented Mar 12, 2020

排序的话可以尝试使用biblatex,好处是不用手动加一个放拼音的key域了。坏处是用biber编译可能速度慢点.

好的,谢谢

@Dr-Cube
Copy link
Author

Dr-Cube commented Mar 12, 2020

@Dr-Cube 使用 bibtex 需要加 key 域,参考模版样例:

key = {Niu Zhi Ming Siwenlande Lei Guang Chun},

或者你也可以在 artratex.sty 中使用 @hushidong 所开发的 biblatex 样式,并在 Thesis.tex 中启用biber 选项。

好的,谢谢。我有点疏忽没注意到这个问题,以为是按照label排序的,不好意思

@Dr-Cube Dr-Cube closed this as completed Mar 12, 2020
@hushidong
Copy link

使用biblatex那么需要修改如下地方:

thesis.tex 中:

\usepackage[biber,authoryear,list]{Style/artratex}% document settings
%\bibliography{Biblio/ref}% bibliography
\printbibliography

在Style/artratex.sty中:

文献格式设置:

%- Biber processor + biblatex package
\ifartx@biber%
    \ifartx@numbers% enable numbered citation style
        \ifartx@super% enable superscripted citation style
            \RequirePackage[style=gb7714-2015]{biblatex}%
        \else
            \RequirePackage[style=gb7714-2015]{biblatex}%
        \fi
    \fi
    \ifartx@authoryear% enable author year citation style
\RequirePackage[style=gb7714-2015ay,%citestyle=authoryear-comp,%
maxcitenames=2,mincitenames=1,gbcitelocal=gb7714-2015,%
mergedate=none,gblanorder=chineseahead]{biblatex}%
\DefineBibliographyStrings{english}{
        andincite         = {和},
        andincitecn       = {和},
        andothersincitecn = {等},
        andothersincite   = {等{\adddot}},%adddot才能避开标点追踪
}
    \fi
    \ifartx@alpha% enable alpha citation style
        \RequirePackage[style=alphabetic]{biblatex}%
    \fi
    \addbibresource{Biblio/ref.bib}%
\fi

文献表行距设置

\ifartx@bibtex%
    \setlength{\bibsep}{0.0ex plus 0.2ex minus 0.2ex}% set distance between entries
\fi
\ifartx@biber%
    %\setlength\bibitemsep{0.5\baselineskip}% set distance between entries
    \setlength\bibitemsep{0.0ex plus 0.2ex minus 0.2ex}% set distance between entries
\fi

但要注意,使用biblatex时反而不需要key域,若存在key域反而会影响排序。
当然不去掉key域也是可以的,只是还要增加如下排序模板,:

    \DeclareSortingTemplate{gb7714-2015}{
      \sort{
        \field{presort}
      }
      %\sort[final]{
        %\field{sortkey}
      %}
      \sort{
    	\field{lansortorder}%language
    	}
      \sort{%[direction=descending]
        \field{sortname}
        \field{author}
        \field{editor}
        \field{translator}
      }
      \sort{
        \field{sortyear}
        \field{year}
      }
      \sort{
        \field{sorttitle}
        \field{title}
      }
      \sort{
        \field{volume}
        \literal{0}
      }
    }

@Dr-Cube
Copy link
Author

Dr-Cube commented Mar 14, 2020

使用biblatex那么需要修改如下地方:

thesis.tex 中:

\usepackage[biber,authoryear,list]{Style/artratex}% document settings
%\bibliography{Biblio/ref}% bibliography
\printbibliography

在Style/artratex.sty中:

文献格式设置:

%- Biber processor + biblatex package
\ifartx@biber%
    \ifartx@numbers% enable numbered citation style
        \ifartx@super% enable superscripted citation style
            \RequirePackage[style=gb7714-2015]{biblatex}%
        \else
            \RequirePackage[style=gb7714-2015]{biblatex}%
        \fi
    \fi
    \ifartx@authoryear% enable author year citation style
\RequirePackage[style=gb7714-2015ay,%citestyle=authoryear-comp,%
maxcitenames=2,mincitenames=1,gbcitelocal=gb7714-2015,%
mergedate=none,gblanorder=chineseahead]{biblatex}%
\DefineBibliographyStrings{english}{
        andincite         = {和},
        andincitecn       = {和},
        andothersincitecn = {等},
        andothersincite   = {等{\adddot}},%adddot才能避开标点追踪
}
    \fi
    \ifartx@alpha% enable alpha citation style
        \RequirePackage[style=alphabetic]{biblatex}%
    \fi
    \addbibresource{Biblio/ref.bib}%
\fi

文献表行距设置

\ifartx@bibtex%
    \setlength{\bibsep}{0.0ex plus 0.2ex minus 0.2ex}% set distance between entries
\fi
\ifartx@biber%
    %\setlength\bibitemsep{0.5\baselineskip}% set distance between entries
    \setlength\bibitemsep{0.0ex plus 0.2ex minus 0.2ex}% set distance between entries
\fi

但要注意,使用biblatex时反而不需要key域,若存在key域反而会影响排序。
当然不去掉key域也是可以的,只是还要增加如下排序模板,:

    \DeclareSortingTemplate{gb7714-2015}{
      \sort{
        \field{presort}
      }
      %\sort[final]{
        %\field{sortkey}
      %}
      \sort{
    	\field{lansortorder}%language
    	}
      \sort{%[direction=descending]
        \field{sortname}
        \field{author}
        \field{editor}
        \field{translator}
      }
      \sort{
        \field{sortyear}
        \field{year}
      }
      \sort{
        \field{sorttitle}
        \field{title}
      }
      \sort{
        \field{volume}
        \literal{0}
      }
    }

十分感谢

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

No branches or pull requests

3 participants