我不喜欢书目样式的一点是,有时信息会丢失,而且有些引用样式很难将引用和书目中的条目联系起来。一种极端的反应是打印.bib
代替书目使用的文件,不运行biber
或bibtex
保留未格式化的条目\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-主观-St和Seshadrinathan2009主题研究。
参考书目
@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}
获得