我可以标记未读的参考文献吗?

我可以标记未读的参考文献吗?

当我在研究笔记本中做笔记时,我经常会引用许多论文,因为我正在写摘要的论文已经引用了它们:我想记录每个主张的充分依据,并且希望能够在将来需要时找到来源。

但是,停下来阅读当前论文引用的每一篇参考文献对我来说并不现实。因此,我笔记本中的一些参考文献我读过,而有些我没读过。这让我很困扰,因为它们在实际文档中没有明确标记。

我怎样才能引用我的 Bibtex 资料(我实际上在 Miktex/Texstudio 下使用 JabRef 和 biber)以便区分我已读过的资料和未读过的资料?

我想要什么逻辑层次

理想情况下,我希望有三门课程:

  • 我读过的参考文献
  • 我还没读过但打算读的参考文献
  • 我没有读过并且不打算读的参考文献

但如果只能进行二元歧视,那么最后两个就可以合并为一个组。

我希望它看起来像什么

理想情况下,我希望在引用时标记每一类引用。例如:

近来人们发现水是湿的[1],天空是蓝色的[+2],但一磅铁是否比一磅棉花重仍然存在争议[-3]。

这里,[1] 是我读过的参考文献,[+2] 是我还没读过但计划读的参考文献,[-3] 是我并不想读的参考文献。实际格式并不重要,只要它与主流引用样式(数字和作者年份)兼容即可 - 可以是星号、匕首、颜色、括号类型、字体、字母等(虽然越简单越好)

那么参考书目将如下所示:

1.布鲁克斯,R.一氧化二氢的令人惊讶的流体特性。流体化学杂志30 (2013年7月),40-52。

+2。Brown, N.、Blum, M.、Maruyama, E. 和 Martinez, P. 一种用于评估色度的新型、强大的光谱方法。英国皇家占星学会会刊(1999 年 5 月)。

-3。马丁内斯(M.)和莫里森(RT)哪一个更重:区分事实与虚构。第 17 届国际无聊论证大会(2012 年 10 月)。

再次强调,确切的符号并不重要。除了此方案之外,如果它可以输出三个单独的参考书目,并且每个参考类别都有自己的参考书目,那么也是可以的。

我希望能够一眼就看出文本和参考书目中哪些参考文献我读过,哪些没有读过,但如果这很难,那么只看参考书目就足够了。

答案1

另一种方法是将参考书目分成三个子书目,这同样要感谢 biblatex。您可以使用关键字过滤它们,然后prefixnumber为每个子书目添加一个。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=bibtex]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{bib.bib}
@article{Hubert2013,
author={Hubert, Michel},
title={A First Example},
journal={An example of journal},
year=2013,
keywords={to-be-read}
}
@article{Hubert2012,
author={Hubert, Michel},
title={A Second Example},
journal={An example of journal},
year=2012,
keywords={read}
}
@article{Hubert2011,
author={Hubert, Michel},
title={A Third Example},
journal={An example of journal},
year=2011,
keywords={other}
}
\end{filecontents*}
\addbibresource{bib}
\begin{document}
\cite{Hubert2011, Hubert2012, Hubert2013}
\printbibliography[heading=subbibliography,
    title={To be read},
    keyword=to-be-read,
    prefixnumbers=+]
\printbibliography[heading=subbibliography,
    title={Read},
    keyword=read]
\printbibliography[heading=subbibliography,
    title={Not to be read},
    keyword=other,
    prefixnumbers=-]
\end{document}

输出示例
(来源:toile-libre.org

额外的好处是,你只需要改变关键词就可以改变其引用键。

坏消息是,你的参考书目一定分为三个子书目。

答案2

最近开发的吸水工程这使得实现起来很容易。以 OP 为例,我们有一个数据库文件 ( readtag.bib),readtag其中每个条目都插入了一个字段:

@article{Brooks2013,
  author = {R. Brooks},
  title = {Surprising fluidic characteristics of dihydrogen monoxide},
  journal = {Journal of Fluidic Chemistry},
  volume = 30,
  month = 7,
  year = 2013,
  pages = {40-52},
  readtag = {{}}
}

@article{Brown1999,
  author = {N. Brown and M. Blum and E. Maruyama and P. Martinez},
  title = {A novel, powerful spectrometric method for evaluating chromaticity},
  journal = {Proceedings of the Royal Astrological Society},
  month = 5,
  year = 1999,
  readtag = {+}
}

@inproceedings{Martinez2012,
  author = {M. Martinez and R. T. Morrison},
  title = {Which one is heavier: Separating facts from fiction},
  booktitle = {17th International Conference of Boring Arguments},
  month = 10,
  year = 2012,
  readtag = {-}
}

readtag.bst接下来我们可以开发一个利用该字段的样式文件( ) readtag

TEMPLATES:
article = \textbf{[<readtag>]<citenum>}. <au>, <title>. \textit{<journal>}[ <volume>] ([<month.monthabbrev()> ]<year>)[, <startpage>--<endpage>|, <startpage>|, <eid>].
inproceedings = \textbf{[<readtag>]<citenum>}. <au>, <title>. \textit{<booktitle>}[ <volume>] ([<month.monthabbrev()> ]<year>)[, <startpage>--<endpage>|, <startpage>|, <eid>].

SPECIAL-TEMPLATES:
citelabel = (<citenum>)
readtag = -                     ## default tag is "have not read"

OPTIONS:
namelist_format = last_name_first

最后,我们可以使用readtag.tex文件

\documentclass{article}
\makeatletter
   \renewcommand{\@biblabel}[1]{}
   \renewcommand{\@cite}[2]{{#1\if@tempswa , #2\fi}}
\makeatother

\begin{document}
It has recently been discovered that water is wet\cite{Brooks2013} and the sky is blue\cite{Brown1999}, but it is still controversial whether a pound of iron is heavier than a pound of cotton\cite{Martinez2012}.

\bibliographystyle{readtag}
\bibliography{readtag}
\end{document}

此处使用这一\renewcommand{\@cite}...行是为了允许文本中的引用标签与参考文献列表中的引用标签不同。编译readtag.tex并用 Bibulous 作为参考书目引擎替换 BibTeX 可得到格式化的参考文献列表

在此处输入图片描述

答案3

迈向更简单的解决方案的第一步可能是使用 biblatex,该解决方案可以使用该shorthand字段。摘自 biblatex 手册:

字段(文字)引文样式使用的特殊名称,而不是通常的标签。此字段用于引用别名。如果已定义,它将覆盖默认标签。如果任何引用的书目条目包含简写字段,biblatex 会自动构建一个可以打印的简写列表,以补充常规书目;有关详细信息,请参阅 § 3.5.3。另请参阅标签。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=bibtex]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{bib.bib}
@article{Hubert2013,
author={Hubert, Michel},
title={A First Example},
journal={An example of journal},
year=2013,
shorthand={+1}
}
@article{Hubert2012,
author={Hubert, Michel},
title={A Second Example},
journal={An example of journal},
year=2012,
shorthand={-2},
}
@article{Hubert2011,
author={Hubert, Michel},
title={A Third Example},
journal={An example of journal},
year=2011,
shorthand={3},
}
\end{filecontents*}
\addbibresource{bib}
\begin{document}
\cite{Hubert2011, Hubert2012, Hubert2013}
\printbibliography
\end{document}

输出示例
(来源:toile-libre.org

缺点是它与任何引用风格都不兼容:您必须手动定义将出现在您的文档中的密钥!

相关内容