如何使用 biblatex 自定义参考书目和引用样式?

如何使用 biblatex 自定义参考书目和引用样式?

最近我决定从 MS Word 切换到 LaTeX 来写论文。我在管理引文和参考书目方面遇到了一些问题,尤其是当被要求针对不同目的使用不同的样式时。

我正在考虑为不同的参考书目和引用样式创建不同的 tex 文件,但我不知道如何正确编辑样式。

本文(另存为Example.bib):

@Article{Ho2012,
  author   = {Ho, L. and Dreyfus, J. and Boyer, J. and Lowe, T. and Bustamante, H. and Duker, P. and Meli, T. and Newcombe, G.},
  title    = {Fate of cyanobacteria and their metabolites during water treatment sludge management processes},
  journal  = {Sci Total Environ},
  year     = {2012},
  volume   = {424},
  number   = {1},
  pages    = {232-238},
  issn     = {1879-1026 (Electronic)
0048-9697 (Linking)},
  note     = {Many notes},
  doi      = {10.1016/j.scitotenv.2012.02.025},
  keywords = {Many keywords},
  type     = {Journal Article},
  url      = {http://www.ncbi.nlm.nih.gov/pubmed/22444068},
}

@Article{Ho2007,
  author   = {Ho, Lionel and Hoefel, D. and Saint, C. P. and Newcombe, Gayle},
  title    = {Isolation and identification of a novel microcystin-degrading bacterium from a biological sand filter},
  journal  = {Water Res},
  year     = {2007},
  volume   = {41},
  number   = {20},
  pages    = {4685-4695},
  issn     = {0043-1354 (Print)
0043-1354 (Linking)},
  note     = {Many notes},
  doi      = {10.1016/j.watres.2007.06.057},
  keywords = {Many keywords},
  type     = {Journal Article},
  url      = {http://www.ncbi.nlm.nih.gov/pubmed/17640697},
}

@Article{Ho2012a,
  author   = {Ho, L. and Sawade, E. and Newcombe, G.},
  title    = {Biological treatment options for cyanobacteria metabolite removal: A review},
  journal  = {Water Res},
  year     = {2012},
  volume   = {46},
  number   = {5},
  pages    = {1536-1548},
  issn     = {1879-2448 (Electronic)
0043-1354 (Linking)},
  note     = {Many notes},
  doi      = {10.1016/j.watres.2011.11.018},
  keywords = {Many keywords},
  type     = {Journal Article},
  url      = {http://www.ncbi.nlm.nih.gov/pubmed/22133838},
}

应按以下方式引用和参考:

方法 1

(何,2007 年;2012 年 a;b)
参考

Ho, L., Dreyfus, J., Boyer, J., Lowe, T., Bustamante, H., Duker, P., Meli, T. 和 Newcombe, G. (2012a)。水处理污泥管理过程中蓝藻及其代谢物的命运。Sci Total Environ, 424(1), 232-238。

Ho, L., Hoefel, D., Saint, CP 和 Newcombe, G. (2007)。从生物砂滤器中分离和鉴定一种新型微囊藻毒素降解细菌。Water Res, 41(20), 4685-4695。

Ho, L., Sawade, E. 和 Newcombe, G. (2012b). 蓝藻代谢物去除的生物处理方案:综述。水资源研究,46(5),1536-1548。

在 LaTeX 中我有:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[citestyle=authoryear,
bibstyle=authoryear,
giveninits=true,
maxcitenames=2,
uniquelist=false,
sortcites,
maxbibnames=99,
sorting=ynt,
url=false,
eprint=false
]{biblatex}
\renewcommand*{\nameyeardelim}{\addcomma\space}
\usepackage[none]{hyphenat} 
\addbibresource{Example.bib}

%For italic et al. %%%
\renewbibmacro*{name:andothers}{
  \ifboolexpr{
    test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    and
    test \ifmorenames
  }
    {\ifnumgreater{\value{liststop}}{1}
       {\finalandcomma}
       {}%
     \andothersdelim\bibstring[\emph]{andothers}}
    {}}
%%%

\DeclareNameAlias{sortname}{last-first}
\begin{document}
\parencite{Ho2012,Ho2012a,Ho2007}
\printbibliography[sorting=nyt]
\end{document}

我得到:

在此处输入图片描述

我怎么能够

  1. 从参考书目中删除注释和 ISNN(黄色和蓝色标记)?
  2. 避免在期刊名称前出现“In:”(绿色标记)?
  3. 将期刊名称以纯文本形式显示(粉红色标记)?
  4. 成交量(期)是多少(橙色市场)?
  5. 引用是按年份排序的,我尝试打印按名称排序的参考书目,但显然代码 \printbibliography[sorting=nyt] 不起作用
  6. 引文必须有所不同,如上所述

最后我不知道该怎么做:

方法 2

(Ho 等人,2012 年;Ho 等人,2007 年;Ho、Sawade 和 Newcombe,2012 年)

HO, L.;DREYFUS, J.;BOYER, J.;LOWE, T.;BUSTAMANTE, H.;DUKER, P.;MELI, T.;NEWCOMBE, G.《水处理污泥管理过程中蓝藻及其代谢物的命运》。《Sci Total Environ》,第 424 卷,第 1 期,第 232-238 页,2012 年。

HO, L.;HOEFEL, D.;SAINT, CP;NEWCOMBE, G. 从生物砂滤器中分离和鉴定一种新型微囊藻毒素降解细菌。Water Res,第 41 卷,第 20 期,第 4685-4695 页,2007 年。

HO, L.;SAWADE, E.;NEWCOMBE, G. 蓝藻代谢物去除的生物处理方案:综述。Water Res,第 46 卷,第 5 期,第 1536-1548 页,2012 年。

答案1

这是参考文献的解决方案(方法 1)。对于引用,我使用的样式authoryear-comp 不是您想要的,但比您现在的样式更接近。

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[citestyle=authoryear-comp,
bibstyle=authoryear,
giveninits=true,
maxcitenames=2,
uniquelist=false,
sortcites,
maxbibnames=99,
sorting=ynt,
url=false,
eprint=false,
isbn =false
]{biblatex}
\renewcommand*{\nameyeardelim}{\addcomma\space}
\usepackage[none]{hyphenat}
\addbibresource{Example.bib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}

\DeclareFieldFormat{journaltitle}{#1}

\DeclareSourcemap{% requires biber
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=note, null]
    }
  }
}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \printfield[parens]{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%For italic et al. %%%
\renewbibmacro*{name:andothers}{
  \ifboolexpr{
    test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    and
    test \ifmorenames
  }
    {\ifnumgreater{\value{liststop}}{1}
       {\finalandcomma}
       {}%
     \andothersdelim\bibstring[\emph]{andothers}}
    {}}
%%%

\DeclareNameAlias{sortname}{last-first}
\begin{document}
\parencite{Ho2012,Ho2012a,Ho2007}
\newrefcontext{sorting=nyt}
\printbibliography

\end{document} 

在此处输入图片描述

相关内容