日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

biblatex中如何修改参考文献中日期的著录格式

發(fā)布時間:2023/12/3 综合教程 58 生活家
生活随笔 收集整理的這篇文章主要介紹了 biblatex中如何修改参考文献中日期的著录格式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

biblatex中如何修改參考文獻中日期的著錄格式

日期是參考文獻中重要著錄項,因此通常具有一定格式要求。根據(jù)國標GB/T 7714-2015要求,不同日期具有不同的格式,比如:
引用日期通常由方括號[]包圍,例如:[2018-06-01];
更新或修改日期常由方括號()包圍,例如:(2018-06-01);
公告日期,通常用符號包圍,精確到日,例如:2018-06-01;
而一般日期通常寫到年,例如:2018。

但某些情況下需要修改一般日期的格式,比如公文的日期通常需要寫到日,因此一般日期的格式需要從2018修改為2018-06-01。

對于 biblatex 來說,格式定制是基本功能和屬性,因此可以通過很多種方法進行修改,下面我們介紹4種不同的方式:

方法一:全局的修改日期格式

利用biblatex選項可以很方便的將日期設(shè)定為某種格式。
一般情況下,我們通常將日期格式設(shè)置為year,即僅寫到年,如果設(shè)置為iso則可以輸出全部信息。
比如:

\documentclass{article}
\usepackage{ctex}
\usepackage[backend=biber,style=gb7714-2015,date=iso]{biblatex}%uniquename=false,uniquelist=false\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{國資委2008,AUTHOR = {國資委},DATE = {2008-09-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@BOOK{張伯偉2002--,AUTHOR = {張伯偉},LOCATION = {南京},PUBLISHER = {江蘇古籍出版社},DATE = {2002-09-01},PAGES = {288},TITLE = {全唐五代詩格會考},
}
\end{filecontents}\addbibresource{\jobname.bib}\begin{document}
\nocite{*}
\printbibliography
\end{document}?

結(jié)果如下圖所示

可以看到這種全局設(shè)置方式,將會使得所有的文獻的一般日期都輸出到日。但有時我們需要的不是全局的修改,而是局部的修改,所以我們來看下面的方法:

方法二:修改日期輸出宏使根據(jù)條目類型輸出不同的格式

biblatex 的域內(nèi)容輸出通常由對應域的輸出宏實現(xiàn),一般的域修改格式通過定義域格式實現(xiàn)而不需要修改輸出宏,而日期域由于其特殊性不能通過域格式修改,因而需要直接修改輸出宏。比如:
?

\documentclass{article}
\usepackage{ctex}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}%uniquename=false,uniquelist=false
\makeatletter
\renewbibmacro*{date}{%\ifentrytype{misc}%{\blx@isodate{}{}}%{\printdate}%
}
\makeatother\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{國資委2008,AUTHOR = {國資委},DATE = {2008-09-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@BOOK{張伯偉2002--,AUTHOR = {張伯偉},LOCATION = {南京},PUBLISHER = {江蘇古籍出版社},DATE = {2002-09-01},PAGES = {288},TITLE = {全唐五代詩格會考},
}
\end{filecontents}\addbibresource{\jobname.bib}\begin{document}
\nocite{*}
\printbibliography
\end{document}?

結(jié)果如下圖所示:

可以看到通過重定義date輸出宏,設(shè)置misc條目類型一般日期輸出為iso格式,而其它類型則正常的輸出。
這種情況是根據(jù)條目類型局部化,但有時可能只是某一篇文獻需要修改格式,所以下面介紹兩種針對單個條目的設(shè)置方法:

方法三:修改日期輸出宏使根據(jù)具體條目輸出不同的格式

日期域輸出宏可以重定義根據(jù)條目類型分別設(shè)定,也可以根據(jù)具體條目設(shè)定,比如:

\documentclass{article}
\usepackage{ctex}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}%uniquename=false,uniquelist=false
\makeatletter
\renewbibmacro*{date}{%
\ifkeyword{國資委2008}%{\blx@isodate{}{}}%{\printdate}%
}
\makeatother\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{國資委2008,AUTHOR = {國資委},DATE = {2008-09-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@misc{國資委2011,AUTHOR = {國資委},DATE = {2011-09-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@BOOK{張伯偉2002--,AUTHOR = {張伯偉},LOCATION = {南京},PUBLISHER = {江蘇古籍出版社},DATE = {2002-09-01},PAGES = {288},TITLE = {全唐五代詩格會考},
}
\end{filecontents}\addbibresource{\jobname.bib}\begin{document}
\nocite{*}
\printbibliography
\end{document} 

?

結(jié)果如下圖所示:


可以看到日期域輸出宏設(shè)定對于關(guān)鍵詞包含`國資委2008`的條目輸出iso格式的日期,其它條目輸出正常的日期。

方法四:修改參考文獻信息當前具體條目輸出不同的格式

除了修改biblatex的域輸出宏之外,還有另一種解決方案,那就是通過修改bib文件條目的信息來實現(xiàn)。
在biblatex中,
正常情況下日期信息保存在date域中,該域通常會被解析,若不被解析則會被忽略。
但如果將日期信息保存到y(tǒng)ear域中,該域如果不被解析也不會被忽略。
因此通過這一特點,也可以將某種格式的日期直接保存在year域,讓biblatex輸出。
比如:
?

\documentclass{article}
\usepackage{ctex}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}%uniquename=false,uniquelist=false\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{國資委2008,AUTHOR = {國資委},year = {2008-9-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@misc{國資委2009,AUTHOR = {國資委},year = {{2009-09-30}},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@misc{國資委2010,AUTHOR = {國資委},year = {2010-09-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@BOOK{張伯偉2002--,AUTHOR = {張伯偉},LOCATION = {南京},PUBLISHER = {江蘇古籍出版社},DATE = {2002-09-01},PAGES = {288},TITLE = {全唐五代詩格會考},
}
\end{filecontents}\addbibresource{\jobname.bib}\begin{document}
\nocite{*}
\printbibliography
\end{document}?

結(jié)果如圖所示:


可以看到,2010年份文獻中,日期被解析,那么僅輸出到年,如果讓日期不被解析,日期就可以原樣輸出,關(guān)鍵是在不被解析。biblatex中以yyyy-mm-dd格式描述的日期會被解析,若日期的格式為其它形式,那么不會被解析,或者日期用{}保護起來,也不會被解析。前述例子中:
`year = {2008-9-30}`就是不能解析的格式
`year = {{2009-09-30}}`則是保護起來的情況。

方法五:修改不同類型條目的日期的格式(比如加粗)

可以對特定類型的文獻日期進行加粗,斜體等操作。下面的示例中會議論文的日期加粗了,而專著類型的日期采用了斜體。需要注意的是:設(shè)置的域格式是date,而不是year。

\documentclass{article}
\usepackage{ctex}\usepackage[backend=biber,style=gb7714-2015]{biblatex}\DeclareFieldFormat[inproceedings]{date}{\mkbibbold{#1}}
\DeclareFieldFormat[book]{date}{\mkbibitalic{#1}}
\DeclareFieldFormat[misc]{date}{\mkbibbold{#1}}\begin{filecontents}{\jobname.bib}
@InProceedings{裴麗生1981-2-10,author    = {裴麗生},title     = {在中國科協(xié)學術(shù)期刊編輯工作經(jīng)驗交流會上的講話},booktitle = {中國科協(xié)學術(shù)期刊編輯工作經(jīng)驗交流會資料選},year      = {1981},editor    = {中國科學技術(shù)協(xié)會},publisher = {中國科學技術(shù)協(xié)會學會工作部},pages     = {2--10},address   = {北京},
}@Inproceedings{Nemec1997-209-214,Title                    = {Force control of redundant robots},Author                   = {B Nemec},Booktitle                = {Processings of Symposium on Robot Control},Pages                    = {209-214},Country                  = {Nantes France},Year                     = {1997}
}@BOOK{張伯偉2002--,AUTHOR = {張伯偉},LOCATION = {南京},PUBLISHER = {江蘇古籍出版社},DATE = {2002-09-01},PAGES = {288},TITLE = {全唐五代詩格會考},
}
@misc{國資委2008,AUTHOR = {國資委},year = {2008-9-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@misc{國資委2009,AUTHOR = {國資委},year = {{2009-09-30}},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
@misc{國資委2010,AUTHOR = {國資委},year = {2010-09-30},TITLE = {中國制造業(yè)企業(yè)全要素生產(chǎn)率研究},
}
\end{filecontents}
\addbibresource{\jobname.bib}\begin{document}
\nocite{*}
\printbibliography
\end{document} 

結(jié)果為:

?

ps:

上面,我們例舉了biblatex對一般日期輸出格式的定制修改方法,可以看到有多種的實現(xiàn)方式,這也是biblatex的功能特點和優(yōu)點所在。善用biblatex可以讓latex文檔的參考文獻格式達到任意的格式需求。

總結(jié)

以上是生活随笔為你收集整理的biblatex中如何修改参考文献中日期的著录格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。