liubenyuan / nudtpaper

A LaTeX template for Master/PhD Thesis of NUDT
361 stars 153 forks source link

大家有没有官方论文模板参考文献的格式说明? #28

Closed liubenyuan closed 4 years ago

liubenyuan commented 4 years ago

hushidong @hushidong 提交了一个biber的改进,我也一直很想用biber来处理文献。 但目前我不能确定官方参考文献的样式,总感觉每行缩进2字符有些怪怪的。

27

hushidong commented 4 years ago

http://m.ishare.iask.sina.com.cn/f/35IdfHExTgg.html

我就找到这个,倒有些例子。

这个可能比较老了,是87版的要求。

liubenyuan commented 4 years ago

http://m.ishare.iask.sina.com.cn/f/35IdfHExTgg.html

我就找到这个,倒有些例子。

这个可能比较老了,是87版的要求。

这个是2018年研究生院的要求截取(科大师弟给我发来的):

1.pdf

hushidong commented 4 years ago

这个pdf不好下载,没下下来,可以放到其他地方么,比如网盘。

liubenyuan commented 4 years ago

发你163邮箱了。

hushidong commented 4 years ago

收到了,我仔细看看。

hushidong commented 4 years ago

还是有些特别的地方的, 英文作者 页码之间的连接符 论文集编者后面的eds 段落格式 顺序编码后面的空格 等 后面我调整一下格式。

hushidong commented 4 years ago

文档中条目类型是不全的,只能做这部分测试,我初步调整了一下,见示例:


% !Mode:: "TeX:UTF-8"
% 用于测试gb7714-2015ay样式,实现一种特殊的文献表格式
\documentclass[12pt]{book}
\usepackage{ctex}
    \setmainfont{Times New Roman PS Std}
    \setsansfont{Arial}
    \setmonofont{Courier New}
    %%%% Using Founder Family Fonts
    \setCJKmainfont[BoldFont={FZYaSong-DB-GBK}]{FZShuSong_GB18030-Z01}
    \setCJKsansfont{FZHei-B01} % Hei
    \setCJKmonofont{FZFangSong-Z02} % fs
    %%%% alias
    \setCJKfamilyfont{song}{FZShuSong_GB18030-Z01}
    \setCJKfamilyfont{hei}{FZHei-B01}
    \setCJKfamilyfont{fs}{FZFangSong-Z02} % fang-song
    \setCJKfamilyfont{kai}{FZKai-Z03} % Kai
\usepackage{xcolor}
\usepackage[colorlinks]{hyperref}
\usepackage[includeheadfoot,showframe]{geometry}
\geometry{top=21mm,bottom=25.5mm,left=30mm,right=30mm}
\geometry{headheight=9mm,headsep=1mm,footskip=9mm}
\usepackage[center,pagestyles]{titlesec}
\makeatletter
\renewcommand\setheadrule[1]{%
  \ifdim#1=\z@
    \let\makeheadrule\@empty
  \else
    \def\makeheadrule{%
    \makebox[0pt][l]{\rule[.2\baselineskip]{\linewidth}{1.5pt}}%
    \rule{\linewidth}{1.5pt}}%
  \fi}
\setfootrule{1bp}
\renewpagestyle{plain}{
\sethead{}{\raisebox{.65\baselineskip}{\songti \zihao{5}{国防科技大学研究生院学位论文}}}{}%
\setfoot{}{{\songti\zihao{5}{第~\thepage~页}}}{}%
\headrule%
\footrule%
}
\pagestyle{plain}
\makeatother

\usepackage{xltxtra,mflogo,texnames}
\usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015,gbnamefmt=lowercase]{biblatex}

\setlength{\bibitemsep}{0ex}
\setlength{\bibnamesep}{0ex}
\setlength{\bibinitsep}{0ex}

\setlength{\biblabelsep}{6pt}
\newlength{\refindent}
\setlength{\refindent}{24pt}
\renewcommand{\itemcmd}{%
\setlength{\lengthid}{0cm}%
\setlength{\lengthlw}{\textwidth}%
\addtolength{\lengthlw}{-\lengthid}%
\addvspace{\bibitemsep}%恢复\bibitemsep的作用 %\parshape 2 0em \textwidth \lengthid \lengthlw
\hangindent\lengthid%
\hspace{\refindent}\mkgbnumlabel{\printfield{labelnumber}}%
\hspace{\biblabelsep}}

\DefineBibliographyExtras{english}{\renewcommand*{\bibrangedash}{\symbol{"FF5E}}}%将页码间隔符替换会英文的短横线~$\sim$\symbol{"FF5E}\symbol{"223C}\symbol{"2053}~

\DeclareDelimFormat{streditortypes}{\bibopenparen%
  \edef\userfieldabcde{userd}%
  \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
  \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}%
  \ifcase\value{gbbiblocalcase}%
    \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{\thefield{editortype}scn}}{}%
    \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{\thefield{editortype}skr}}{}%
    \iffieldequalstr{\userfieldabcde}{japanese}{\bibstring{\thefield{editortype}sjp}}{}%
    \iffieldequalstr{\userfieldabcde}{english}{\bibstring{\thefield{editortype}s}}{}%
    \iffieldequalstr{\userfieldabcde}{french}{\bibstring{\thefield{editortype}s}}{}%
    \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{\thefield{editortype}s}}{}%
  \or%
  \bibstring{\thefield{editortype}scn}%
  \or%
  \bibstring{\thefield{editortype}s}%
  \fi\bibcloseparen}

\DeclareDelimFormat{streditortype}{\bibopenparen%
  \edef\userfieldabcde{userd}%
  \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
  \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}%
  \ifcase\value{gbbiblocalcase}%
    \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{\thefield{editortype}cn}}{}%
    \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{\thefield{editortype}kr}}{}%
    \iffieldequalstr{\userfieldabcde}{japanese}{\bibstring{\thefield{editortype}jp}}{}%
    \iffieldequalstr{\userfieldabcde}{english}{\bibstring{\thefield{editortype}}}{}%
    \iffieldequalstr{\userfieldabcde}{french}{\bibstring{\thefield{editortype}}}{}%
    \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{\thefield{editortype}}}{}%
  \or%
  \bibstring{\thefield{editortype}cn}%
  \or%
  \bibstring{\thefield{editortype}}%
  \fi\bibcloseparen}

\defbibheading{subbibliography}[\bibname]{% 
\section*{#1}}%

\renewbibmacro*{in:}{%
 \iftoggle{bbx:gbpunctin}{\printtext{\textbf{//}\allowbreak}}%\addthinspace
                         {\setunit{\adddot\addspace}%
                         \iffieldequalstr{userd}{chinese}%
                         {\printtext{\bibstring{incn}}}%
                         {\printtext{\bibstring{in}}}%
                         }}%\newunit\newblock\intitlepunct

\addbibresource{refeg.bib}

\begin{document}

\nocite{*}

{
\hyphenpenalty=500 %
\tolerance=9900 %
\printbibliography[heading=subbibliography,title={参考文献}]
}

\end{document}

结果为:

a

跟示例文档还是有细微差异的,包括:示例文档中 中文文献中似乎标点后没有任何空白的,不知道这种情况是否美观。 英文文献中文献标识符号前有一个空格。 (空格问题,总得来说示例给出的并不统一,比如页码前面的冒号后面则无论中英文都没有空格,这其实不利于程序实现的,所以如果不是特别必要,就不做进一步处理了)

页码中的波浪号也没有找到完全对应的,这个与字体也是相关的。 报纸中出版日期的小月份不加0前缀。

liubenyuan commented 4 years ago

厉害!我觉得你按照你的审美和编程方便角度来就行(我之前用的bst是拿的北邮的,也不完全符合学校的要求)

其实我觉得文献样式符合您编写的gb7714-2015包就可以,最小程度的依照您的审美和规范进行定制。

这个代码可以放在data下面构成样例么?把原先的参考文献章节替换掉。

hushidong commented 4 years ago

嗯,我后面放进去,这是让你先看一下。