压缩/缩写书目?(Biblatex 或其他?)

压缩/缩写书目?(Biblatex 或其他?)

我正在写一份拨款申请,我被要求压缩我的参考书目,使其看起来像这样:

1. 史密斯,J.自然 7, 201-204 (1999).2.琼斯,B.细胞 17, 364-369 (2007). 3. Jackson, R. 等人.J 复合编织 三十二,123-190 (2010)。 4.Parker,P.等人。J 攀岩墙10,17-21 (1973)。 [...]

仅显示第一作者姓名(后接 et al.)、期刊名称缩写和斜体、卷号加粗、无换行符,这样整个参考文献列表基本上就是一个巨大的段落(我知道,这很丑陋,但这就是我被要求做的),等等。

我使用 biblatex 是因为我需要在提案中间打印此参考书目,在这种情况下使用 biblatex 似乎最容易。是否有任何 biblatex 样式可以满足我的要求?或者如果做不到,使用 bibtex 样式,然后我会弄清楚如何在正确的位置打印参考书目?或者我需要弄清楚如何自己动手?

答案1

此解决方案采用的方法与 Oleg 的方法几乎相同,但它避免使用paralist包,因为单段列表环境与biblatex的数字引用标签格式并不完全一致。此处的文档还使用了贡献的样式包biblatex-nature,但可以应用任何其他数字样式。

\documentclass{article}
\usepackage[style=nature,maxnames=1,uniquelist=false]{biblatex}
\usepackage[colorlinks]{hyperref}

% Some field suppression via options
\ExecuteBibliographyOptions{isbn=false,url=false,doi=false,eprint=false}

% One-paragraph bibliography environment
\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
        \printfield{prefixnumber}%
        \printfield{labelnumber}}%
      \ifentrytype{article}{% Suppress remaining fields/names/lists here
        \clearfield{title}}{}}
     {\setlength{\leftmargin}{0pt}%
      \setlength{\topsep}{0pt}}%
      \renewcommand*{\makelabel}[1]{##1}}
  {\endlist}
  {\mkbibitem}

% \mkbibitem just prints item label and non-breakable space
\makeatletter
\newcommand{\mkbibitem}{\@itemlabel\addnbspace}
\makeatother

% Add breakable space between bibliography items
\renewcommand*{\finentrypunct}{\addperiod\space}

% et al. string upright (nature style applies \mkbibemph)
\renewbibmacro*{name:andothers}{%
  \ifboolexpr{
    test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    and
    test \ifmorenames
  }
    {\ifnumgreater{\value{liststop}}{1}{\finalandcomma}{}%
     \andothersdelim
     \bibstring{andothers}}
    {}}

\addbibresource{biblatex-examples.bib}
\begin{document}
\section{Section title}
Filler text \parencite{bertram,glashow,aksin}.
\printbibliography
\section{Section title}
Filler text.
\end{document}

在此处输入图片描述

答案2

这是标准样式的修改numeric。如果您使用其他样式,则应进行相应修改。除 之外的条目类型也是如此@article

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{a1,
  author = {Smith, J.},
  journal = {Nature},
  volume = {7},
  pages = {201-204},
  year = {1999},
}
@article{a2,
  author = {Jones, B.},
  journal = {Cell},
  volume = {17},
  pages = {364-369},
  year = {2007},
}
@article{a3,
  author = {Jackson, R. and others},
  journal = {J Comp Bskt Weave},
  volume = {32},
  pages = {123-190},
  year = {2010},
}
\end{filecontents*}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{paralist}
\usepackage{xpatch}
\usepackage[style=numeric]{biblatex}
\addbibresource{\jobname.bib}

\defbibenvironment{bibliography}
  {\inparaenum[ \printfield{labelnumber}.]}
  {\endinparaenum}
  {\item}
\DeclareFieldFormat[article,periodical]{volume}{\textbf{#1}}
\DeclareFieldFormat{pages}{#1}
\DeclareNameAlias{default}{last-first}
\renewbibmacro{in:}{}
\xpatchbibmacro{journal+issuetitle}
  {\usebibmacro{volume+number+eid}}
  {\usebibmacro{volume+number+eid}%
   \setunit{\addcomma\space}%
   \printfield{pages}%
   \clearfield{pages}}
  {}{}
\begin{document}
\nocite{*}
\printbibliography
\end{document} 

在此处输入图片描述

正如 Audrey 所注意到的,它的biblatex-nature风格更加简单。您只需要修改 bib 环境(因此xpatch没有必要):

\defbibenvironment{bibliography}
  {\inparaenum[ \printfield{labelnumber}.]}
  {\endinparaenum}
  {\clearfield{title}\item}

我还添加了清除不需要的字段的功能,在这种情况下仅此而已title

答案3

我修复了一些东西,我闲置了,所以格式可能不正确。您想要复制的样式不属于biblatex-chem但是如果你已经想好了引用风格(如何格式化参考书目),这仍然可能有帮助。(这是一个相当快速而粗略的解决方案。欢迎提出意见。)

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{foo,
  title = {Foo},
  publisher = {the Press},
  year = {3000},
  author = {the Foo and another foo and the bar},
}

@ARTICLE{baz,
  author = {the Baz and another baz and the foo},
  title = {Baz},
  journal = {J. of Baz},
  year = {3001},
  volume = {1},
  pages = {22},
}

@ARTICLE{buz,
  author = {the Buz and the baz},
  title = {Buz},
  journal = {J. of Buz},
  year = {3001},
  volume = {1},
  pages = {22},
}

@BOOK{bar,
  title = {Bar},
  publisher = {the Press},
  year = {3002},
  author = {the Bar and the foo},
}

\end{filecontents}

\documentclass[12pt,final]{scrreprt}

\usepackage[backend=biber,
            style=chem-biochem,
            maxcitenames=1,mincitenames=1,
            ]{biblatex}

\addbibresource{\jobname.bib}

\newcommand{\numberedfullcite}[1]{\cite{#1}~\fullcite{#1}}

\begin{document}

\leftline{\bfseries Bibliography:}

\noindent\numberedfullcite{foo} %
\numberedfullcite{baz} %
\numberedfullcite{buz} %
\numberedfullcite{bar}

\end{document}

它给: 在此处输入图片描述

相关内容