是否存在仅打印引用的 BibTeX 条目的参考书目样式?

是否存在仅打印引用的 BibTeX 条目的参考书目样式?

我不喜欢书目样式的一点是,有时信息会丢失,而且有些引用样式很难将引用和书目中的条目联系起来。一种极端的反应是打印.bib代替书目使用的文件,不运行biberbibtex保留未格式化的条目\textcite和朋友。

BibLaTeX 中可以实现稍微好一点的版本吗?

\documentclass{article}
\usepackage{biblatex}

\begin{filecontents}{\jobname.bib}

@article{Seshadrinathan2010A-Subjective-St,
    Author = {K. Seshadrinathan and R. Soundararajan and A. C. Bovik and L. K. Cormack},
    title={foo},
    year={2011},
    journal={bla}
}

@article{Seshadrinathan2009Study-of-Subjec,
    Author = {K. Seshadrinathan and R. Soundararajan and A. C. Bovik and L. K. Cormack},
    title={bar},
    year={2010},
    journal={bla}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}

Some words \textcites{Seshadrinathan2010A-Subjective-St}{Seshadrinathan2009Study-of-Subjec}.

\printbibliography

\end{document}

一些单词Seshadrinathan2010A-主观-StSeshadrinathan2009主题研究

参考书目

@article{Seshadrinathan2010A-Subjective-St,

    Author = {K. Seshadrinathan and R. Soundararajan and A. C. Bovik and L. K. Cormack},

    title={foo},
    year={2011},
    journal={bla}
}

@article{Seshadrinathan2009Study-of-Subjec,
    Author = {K. Seshadrinathan and R. Soundararajan and A. C. Bovik and L. K. Cormack},
    title={bar},
    year={2010},
    journal={bla}

也许

参考书目

Seshadrinathan2010A-主观-St

作者:K. Seshadrinathan、R. Soundararajan、AC Bovik 和 LK Cormack

标题:foo

年份:2011

期刊:bla

Seshadrinathan2009主题研究

作者:K. Seshadrinathan、R. Soundararajan、AC Bovik 和 LK Cormack

标题栏

年份:2010

答案1

当 Mico 质疑这种方法背后的动机时,他提出了一些非常好的观点。

正如您所见,输出结果相当震撼,读者可能会迷失在您强加给她的信息墙中。精心选择的参考书目样式将使读者更容易找到他们正在寻找的内容。即使将整个.bib文件放在阅读器上也不能保证您没有犯可能导致混淆或妨碍读者找到正确引文的错误。唯一一种文件比.bib采用适当样式生成的参考书目输出更具优势的情况是,当您的.bib条目不符合 的biblatex数据模型时,但使用 可以很容易地警告您这一点biber --validate-datamodel。总而言之,简单地显示整个.bib文件的缺点应该超过优点:我肯定从未见过有人试图将他们的.bib文件冒充为论文或教科书中的适当参考书目。


也就是说,你可以使用debug风格

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=debug]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

在此处输入图片描述

此样式仅列出数据模型中 Biber 已知的字段biblatex。如果您使用奇怪的字段或字段名称有拼写错误,它们将消失。当然会biber --validate-datamodel就此发出警告。


只是为了好玩,这里有一个更接近您最初意图的解决方案。

在以下情况下,两次启用 shell escape 运行 LaTeX。无需进一步运行 Biber,所需的运行已通过 shell escape 完成。如果您决定另外正常运行 Biber,则引文将从粗体变为正常形式,如上style=debug所示。如果您决定不正常运行 Biber,您当然会遇到提醒您再次运行 Biber 的警告,但您可以忽略这些警告。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=debug]{biblatex}
\usepackage{listings}
\lstset{basicstyle=\ttfamily, breaklines=true}
\addbibresource{biblatex-examples.bib}

\usepackage{filecontents}
\begin{filecontents*}{onlycitedsort.conf}
<?xml version="1.0" encoding="UTF-8"?>
<config>
  <output_align>true</output_align>
  <output_fieldcase>lower</output_fieldcase>
  <output_safechars>1</output_safechars>
  <sorting>
    <sort order="1">
      <sortitem order="1">entrykey</sortitem>
    </sort>
  </sorting>
</config>
\end{filecontents*}

\IfFileExists{\jobname.bcf}
  {\immediate\write18{biber --output_format=bibtex \jobname.bcf}%
   \immediate\write18{biber --tool --configfile=onlycitedsort.conf \jobname_biber.bib}}
 {\typeout{Please rerun LaTeX.}}

\begin{document}
\cite{sigfridsson,worman,geer,cicero,vizedom:related}
\IfFileExists{\jobname_biber_bibertool.bib}
  {\lstinputlisting{\jobname_biber_bibertool.bib}}
  {empty bibliography}
\end{document}

获得

在此处输入图片描述

相关内容